Unity와 WebGL 게임을 만들었습니다. 일부 계산은 모든 프레임에 필요하지 않으므로 콜 루틴에 넣습니다. 그러나 게임이 백그라운드에있을 때 코 루틴은 정상보다 느리게 작동하고 추가 5-10 초를 기다립니다.앱에 포커스가 없거나 다른 탭에 있지 않으면 WaitForSeconds가 작동을 멈 춥니 다.
예를 들어, 군인들이 저에게 달리고 총알을 발사하여 살해합니다. 그들이 범위에 들어가면 그들은 또한 발사하기 시작합니다. 나는 적이 코 루틴의 범위에 있는지 확인했다. 브라우저에서 다른 탭을 클릭하면 일부 적들이 정상보다 가깝게되고 일부는 게임 화면을 통과합니다. 이것은 게임을 unplayable합니다.
코 루틴을 제대로 작동시키는 방법이 있습니까? 또는 모든 계산 방법을 업데이트 할 필요가 있습니까?
예제 코드는 다음과 같습니다
private IEnumerator ActionDeciderCoroutine()
{
while (true)
{
DoAction();
yield return new WaitForSeconds(Constants.ENEMY_THINKING_TIME);
}
}
제 조언 : 이것에 코 루틴을 사용하지 마십시오. – Draco18s
코 루틴에서 적의 범위를 어떻게 확인합니까? 그것을 보여줄 수있는 코드를 줄 수 있습니까? 'Update()'함수는 coroutine이'Update()'로 바뀌는 것과 거의 같지 않습니다. – armnotstrong
플레이어 설정에서 "백그라운드에서 실행"을 선택 했습니까? – Cenkisabi