2017-06-02 5 views
0

Quelle que soit l'heure de la journée! J'ai quelques sprite:Comment calculer les coordonnées de l'arme à feu

enter image description here

point de coordonnées A a Actor.x; Actor.y.

AB length = 96 
BC length = 86 
AC length = 42 

All calculations are approximate, I made it with help the ruler in Photoshop. 

Sprite toujours vers les magasins souris, l'angle (en radians) dans la variable Actor.direction. Je dessine un sprite avec l'échelle 0.3.

Toutes les balles vers la souris (c'est Bullet.direction == Actor.direction). J'ai besoin de créer des puces au point B. Comment je peux calculer les coordonnées du point B avec n'importe quel angle?

UPD

Si je vais créer des balles dans les coordonnées:

x = Actor.x + 96 * math.cos(Actor.direction) * 0.3 
y = Actor.y + 96 * math.sin(Actor.direction) * 0.3 

Je l'obtiens:

enter image description here

Excuse mon mauvais anglais! Ce n'est pas ma langue maternelle. Merci d'avance!

Répondre

1

Laissez

cs = math.cos(Actor.direction) 
sn = math.sin(Actor.direction) 

point B sera déplacé de A par

dx = - 42 * sn + 86 * cs 
dy = 42 * cs + 86 * sn 

Peut-être que vous aurez besoin de changer les signes avant que les deux 42s

(je ne compte pour l'échelle)

+0

Merci beaucoup! – Eanmos