Si vous regardez ce diagramme link text, je dois trouver l'angle A en ne connaissant que la longueur de tous les côtés d'un triangle rectangle.Comment faire un point d'image-objet à la souris. XNA C#
Je ne sais pas trig et j'ai besoin d'aide.
Si vous regardez ce diagramme link text, je dois trouver l'angle A en ne connaissant que la longueur de tous les côtés d'un triangle rectangle.Comment faire un point d'image-objet à la souris. XNA C#
Je ne sais pas trig et j'ai besoin d'aide.
Il y a actuellement 2 questions dans votre message.
Comment faire un point de sprite à la souris. XNA C#:
Vous devrez calculer la direction entre la position de l'image-objet et la position de la souris. Cela peut être fait en utilisant des fonctions de trigonométrie. Dans ce cas: Arctangens2
Donc, nous allons utiliser la bibliothèque mathématique:
MouseState mouseState = Mouse.GetState();
Math.Atan2((double)mouseState.Y - sprite.Y, (double)mouseState.X - sprite.X); //this will return the angle(in radians) from sprite to mouse.
Dans votre exemple de la trigonométrie, vous verrez que ces valeurs sont en réalité:
Math.Atan2(BC, AC);
ou
Math.Atan2(Ydiff, Xdiff);
J'espère que cela aide = D
Cheers,
TomHashNL
je trouve ma solution finale d'être:
Vector2 direction = targetPosition - currentPosition;
direction.Normalize();
float rotationInRadians = (float)Math.Atan2((double)direction.Y,
(double)direction.X) + MathHelper.PiOver2;
rotationInRadians est une valeur brute qui peut être transmis au lot de sprite pour le montant de rotation correct - pas plus le code est nécessaire. En outre, vous pouvez remarquer des résultats incorrects si vous faites pivoter l'image-objet sur un coin plutôt que sur le milieu.