Flèches droites peuvent changer d'angle #7
@ -100,17 +100,27 @@ public class Projectile : MonoBehaviour
|
|||||||
float angleX = (_destinationX) / _initialXDistance;
|
float angleX = (_destinationX) / _initialXDistance;
|
||||||
float angleY = (_destinationY) / _initialYDistance;
|
float angleY = (_destinationY) / _initialYDistance;
|
||||||
|
|
||||||
//Obtenir la difference entre la position Y du chateau et de l'enemie.
|
//Obtenir la difference entre la position Y du chateau et de l'ennemie.
|
||||||
float diffY = transform.position.y - _enemyPosY;
|
float diffY = transform.position.y - _enemyPosY;
|
||||||
|
|
||||||
|
//D'abord,on regarde si l'ennemi et l'unite sont a la meme hauteur.
|
||||||
|
//Si ce n'est pas le cas, on modifie l'angle de la fleche. Sinon, on ne change rien.
|
||||||
if (diffY >= 0.1 || diffY <= -0.1)
|
if (diffY >= 0.1 || diffY <= -0.1)
|
||||||
{
|
{
|
||||||
|
|
||||||
float lerpStepS;
|
float lerpStepS;
|
||||||
|
|
||||||
|
//Ensuite, on regarde la position entre l'ennemi et l'unite.
|
||||||
|
//Si cette distance est plus petite qu'un certain nombre, on utilise un calcul differents
|
||||||
|
//pour determine l'angle que la fleche doit prendre.
|
||||||
if (angleX > 0.23) lerpStepS = Mathf.Rad2Deg * Mathf.Atan(angleX / angleY);
|
if (angleX > 0.23) lerpStepS = Mathf.Rad2Deg * Mathf.Atan(angleX / angleY);
|
||||||
|
|
||||||
|
//Si la position est negative, on utilise un calcul different pour determiner l'angle.
|
||||||
|
//(Il faudra tester si ca marche lorsque le chateau pourrait tirer en arriere).
|
||||||
else if (angleX >= 0) lerpStepS = Mathf.Rad2Deg * Mathf.Atan(angleY / angleX);
|
else if (angleX >= 0) lerpStepS = Mathf.Rad2Deg * Mathf.Atan(angleY / angleX);
|
||||||
|
|
||||||
|
//Calcul utilise pour tenter de mieux faire fonctionner l'angle de la fleche lorsque l'ennemi est
|
||||||
|
//proche de l'unite.
|
||||||
else {
|
else {
|
||||||
|
|
||||||
lerpStepS = -Mathf.Rad2Deg * Mathf.Atan(angleY / angleX);
|
lerpStepS = -Mathf.Rad2Deg * Mathf.Atan(angleY / angleX);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user