2016-11-23 8 views
1

Я начал изучать Единство и хочу, чтобы объекты падали и собирались. Пока у меня есть только один объект, и он падает только один раз. Как я вхожу в цикл и позволяю ему снова и снова падать?Как позволить объектам падать постоянно

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

Я хочу, чтобы он снова появлялся сверху в другой позиции. Я использую цикл 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