2017-01-11 2 views
0

У меня есть плоскость, которая перемещается между минимальным и максимальным значением, она отскакивает между двумя точками, но я не хочу, чтобы это повлияло, я хочу, чтобы самолет переместился в точку, а затем начать снова в начальной точке. Как я могу сделать что-то подобное?Перемещение по оси x между min и max

На данный момент я попытался это:

public class pingPongPlane : MonoBehaviour { 

    public float MinX = -10.2f; // y position of start point 
    public float MaxX = 55f; // y position of end point 
    public float PingPongTime = 1f; // how much time to wait before reverse 
    public Rigidbody rb; // reference to the rigidbody 

    void Update() 
    { 


     //get a value between 0 and 1 
     float normalizedTime = Mathf.PingPong(Time.time, PingPongTime)/PingPongTime; 
     //then multiply it by the delta between start and end point, and add start point to the result 
     float xPosition = normalizedTime * (MaxX - MinX) + MinX; 
     //finally update position using rigidbody 
     if (transform.position.x <= 8f) 
      rb.MovePosition(new Vector3(MaxX, rb.position.y, rb.position.z)); 
     else 
      rb.MovePosition(new Vector3(xPosition, rb.position.y, rb.position.z)); 
    } 
} 
+1

откуда '8f' пришел? –

ответ

Смежные вопросы