Flèches droites peuvent changer d'angle #7
@ -76,7 +76,7 @@ public class Projectile : MonoBehaviour
|
|||||||
}
|
}
|
||||||
|
|
||||||
float x = _speedTime;
|
float x = _speedTime;
|
||||||
float y = x >= 0 ? (_angle*-Mathf.Pow(x, 2) + _destinationX * x) : - (_angle * -Mathf.Pow(x, 2) + _destinationX * x);
|
float y = (_angle*-Mathf.Pow(x, 2) + _destinationX * x)
|
||||||
|
MaximilienBB marked this conversation as resolved
Outdated
|
|||||||
|
|
||||||
transform.position = new Vector2(_initialX + x*_angle, _initialY + y);
|
transform.position = new Vector2(_initialX + x*_angle, _initialY + y);
|
||||||
|
|
||||||
@ -100,18 +100,12 @@ public class Projectile : MonoBehaviour
|
|||||||
float angleX = (_destinationX) / _initialXDistance;
|
float angleX = (_destinationX) / _initialXDistance;
|
||||||
float angleY = (_destinationY) / _initialYDistance;
|
float angleY = (_destinationY) / _initialYDistance;
|
||||||
|
|
||||||
//Obtenir difference entre la position Y du chateau et de l'enemie.
|
//Obtenir la difference entre la position Y du chateau et de l'enemie.
|
||||||
float diffY = transform.position.y - _enemyPosY;
|
float diffY = transform.position.y - _enemyPosY;
|
||||||
|
|
||||||
//Debug.Log("Angle X: " + angleX);
|
|
||||||
|
|
||||||
if (diffY >= 0.1 || diffY <= -0.1)
|
if (diffY >= 0.1 || diffY <= -0.1)
|
||||||
{
|
{
|
||||||
//TODO: L'angle fonctionne mieux, mais il y a toujours des problemes avec les angles pret de X
|
|
||||||
//ou ils sont beaucoup trop verticaux.
|
|
||||||
//L'angle a l'air de fonctionner lorsqu'il tire en avant (X positif), mais on dirait qu'il y a un probleme
|
|
||||||
//lorsque X est negatif.
|
|
||||||
//TODO: Recalculer la vitesse pour qu'elle fonctionne lorsque le projectile est tire en arriere.
|
|
||||||
float lerpStepS;
|
float lerpStepS;
|
||||||
if (angleX > 0.23) lerpStepS = Mathf.Rad2Deg * Mathf.Atan(angleX / angleY);
|
if (angleX > 0.23) lerpStepS = Mathf.Rad2Deg * Mathf.Atan(angleX / angleY);
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user
Remettre le point-virgule