У меня есть эта функция (не стесняйтесь использовать ее, если вам это нужно, ребята), которая генерирует для меня монстров в случайных положениях за пределами игровой площадки.После того, как монстр сгенерирован, монстр следует по пути к персонажу.
Но проблема в том, что монстры генерируются одновременно.То, что я пытаюсь сделать, это поставить некоторую задержку между порождениями.Мол, 1-й монстр генерируется в начале игры;второй монстр я хочу быть сгенерирован через 1 секунду.Любые идеи, как я могу достичь этого?
Я пытался создать переменную времени, которая повторяется, а затем порождает врага, если счетчик> время.Но это, кажется, не работает должным образом
function init(){
}
function update(dt){
}
function signal(name, value){
let x1 = 6;
let x2 = -6;
let y1 = 20;
let y2 = 1;
let cadran = Math.floor(Math.random() * (+4 - +1)) + +1;
if(value){
for(i=0;i<5;i++){
if(cadran == 1){
monsterGenerator(this,x2,x1,y1 ,1);
}
if(cadran == 2){
monsterGenerator(this,x2,x1,y2,2);
}
if(cadran == 3){
monsterGenerator(this,y2,y1,x1,3);
}
if(cadran == 4){
monsterGenerator(this,y2,y1,x2,4);
}
cadran++;
if(cadran==5){
cadran = 1;
}
}
}
}
function monsterGenerator(ob,min,max,stat,rand) {
let assetName = ob.attribute('Asset Name');
let ent = ob.scene().create(assetName);
if(ent == null) error('Asset "'+assetName+'" does not exist');
let pos = ob.entity().worldPosition();
let rot = ob.entity().rotation();
let scl = ob.entity().scale();
let random = Math.floor(Math.random() * (+max - +min)) + +min;
if(rand==1){
ent.setPosition(pos.x = random, pos.y =stat , pos.z);
}
if(rand==2){
ent.setPosition(pos.x = random, pos.y =stat , pos.z);
}
if(rand==3){
ent.setPosition(pos.x = stat, pos.y =random , pos.z);
}
if(rand==4){
ent.setPosition(pos.x = stat, pos.y =random , pos.z);
}
ent.setRotation(rot.x, rot.y, rot.z);
ent.setScale(scl.x, scl.y, scl.z);
}