setTimeout
또는 setInterval
을 사용하면 특정 시간 후에 함수가 반복적으로 호출되도록하는 것이 좋습니다.
사용하고 싶지 않다면 spawner 개체의 update
기능에 현재 프레임의 delta
대신 현재 세계 시간을 사용하게하십시오. 또한 개체가 마지막으로 생성 된 시간을 기록하도록하십시오. this.intervalDeviation
이 어디
// maybe it should be 2000, in milliseconds, idk
if (currentTime - this.lastTimeSomethingSpawned >= this.spawningInterval) {
spawn();
this.lastTimeSomethingSpawned = currentTime;
this.spawningInterval = 2 + (2*Math.random()-1)*this.intervalDeviation;
}
: 당신이 대신 일정한 2 초있는의 간격을 무작위 단지 새로운 임의의 간격마다 시간을 다시 계산하려면
// maybe it should be 2000, in milliseconds, idk
if (currentTime - this.lastTimeSomethingSpawned >= 2) {
spawn();
this.lastTimeSomethingSpawned = currentTime;
}
:이 방법은, 당신은 할 필요가 0.5
과 같은 것입니다. 이 방법으로, this.spawningInterval
은 무엇인가가 나올 때마다 1.5와 2.5 사이가됩니다.
마지막으로,이 질문은 스스로를 테스트하지 못하도록 무엇 Gamedev Stackexchange
더 적합? –
@Cobra_Fast 무작위성의 법칙이 궁금하지 않습니다. – super
델타 모델링이란 무엇입니까? 생성 속도가 델타와 독립적 인 경우 왜 델타가 함수에 나타 납니까? – jrsala