2016-06-29 2 views
0

매 x 밀리 초마다 반복되는 특정 위치에서 동일한 속도로 움직이는 적을 스폰하고 싶습니다.Unity : 시간이지나면서 정확한 위치에있는 요소를 생성하십시오.

Unity에서 update() 함수의 문제는 비 결정적 시간에 발생하므로 정확한 위치에 스폰 할 수 없으며 요소의 지연 및 부정확 한 위치를 얻습니다. 어떻게 해결할 수 있습니까?

+2

예 : coroutines [link] (https://docs.unity3d.com/Manual/Coroutines.html)를 사용할 수 있습니다. 'WaitForSeconds()'클래스를 사용하면 시간 지연을 달성 할 수 있습니다. –

+0

또는 'InvokeRepeating'을 사용하십시오. –

+1

정확한 프레임이어야하는 경우 FixedUpdate()를 대신 사용할 수 있습니다. –

답변

0

코 루틴은 메소드를 주기적으로 트리거하는 데 정말로 유용합니다.

this Unity forum post을 확인하여 작동 방식을 확인할 수 있습니다.

IEnumerator SpawnDelay() 
{ 
    Spawn(); //your spawn method 
    yield return new WaitForSeconds(5); 
    StartCoroutine("SpawnDelay"); //Restarting the coroutine after the 5 sec delay 
} 
+0

필요하다면, 예를 들어 정확하게 0.5 초마다 생성 - Coroutine이 처리 할 수 ​​있습니까? 또는이 경우 오프셋이있을 수 있습니까? – Yuvals

+0

코 루틴은 위에서 사용 된 코드에서 지정된 지연 후에 자체를 다시 시작하므로 0.5 초마다 항목을 생성 할 수 있어야합니다. 그러나 위치에 대해 스폰 위치가 변경되지 않으면 모두 동일한 위치에 스폰되어야합니다. 하지만, 충돌은 그것들과 처리됩니까? 이전에 생성 된 항목이 아직 진행 중이면 오프셋의 원인 일 수 있습니다. 그렇지 않은 경우 위치가 올바르지 않은 이유를 알지 못합니다. – YumeYume

관련 문제