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

관련 문제