2016-11-23 4 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

私はそれを正しくundestand場合は、オブジェクトは、その開始位置までテレポートし、再び落下、その後落下します。コードでそれをやろう!

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

関連する問題