2016-11-23 72 views
1

我已经开始学习Unity,并希望让物体落下并收集。到目前为止,我只有一个对象,它只是一次掉下来。我如何放入一个循环,让它一遍又一遍地重复?如何让物体不断下降

public class AppleScript : MonoBehaviour 
{ 
    public float fallSpeed = 8.0f; 

    void Start() 
    { 
    transform.Translate(Vector3.down * fallSpeed * Time.deltaTime, Space.World); 
    } 

    void Update() 
    { 
    transform.Translate(Vector3.down * fallSpeed * Time.deltaTime, Space.World); 
    } 

}

+0

你想让它从地板反弹回来还是从上面重新出现? – Orifjon

+0

我希望它重新出现在另一个x位置。我正在使用for循环来创建更多苹果。 – Henrique

回答

2

如果我没有它已了解,你想一个对象跌下来,然后瞬移到它的起始位置,然后再次倒下。让我们在代码中做到这一点!

public class AppleScript : MonoBehaviour 
    { 
     public float fallSpeed = 8.0f; 

     //Variables for starting position and length until reset 
     private Vector3 _startingPos; 
     public float FallDistance = 5f; 

     void Start() 
     { 
      transform.Translate(Vector3.down * fallSpeed * Time.deltaTime, Space.World); 
      // Save starting position 
      _startingPos = transform.position; 
     } 

     void Update() 
     { 
      transform.Translate(Vector3.down * fallSpeed * Time.deltaTime, Space.World); 

      // If the object has fallen longer than 
      // Starting height + FallDistance from its start position 
      if (transform.position.y > _startingPos.y + FallDistance) { 
       transform.position = _startingPos; 
      } 
     } 
    } 
+0

我必须将最后一位更改为<-5,然后脚本掉下来并重新开始工作。感谢您的帮助。它也必须从顶部的随机x点开始。 – Henrique