Javascript EaselJS的问题

Javascript EaselJS的问题,javascript,easeljs,Javascript,Easeljs,我在用EaselJS开发TD游戏时遇到了一个问题。 当敌人来到城堡时,他应该以uniq延迟开始攻击。(例如女巫:3秒,元素:2秒e.t.c.) 如何使用已启用的ticker设置此延迟 createjs.Ticker.on(“tick”,moveTick); createjs.Ticker.setFPS(20); 控制台日志(mobs); 函数moveTick(事件){ 对于(变量i=0;istage.canvas.height-castle.castlelight-mobs[i].elemSi

我在用EaselJS开发TD游戏时遇到了一个问题。 当敌人来到城堡时,他应该以uniq延迟开始攻击。(例如女巫:3秒,元素:2秒e.t.c.) 如何使用已启用的ticker设置此延迟

createjs.Ticker.on(“tick”,moveTick);
createjs.Ticker.setFPS(20);
控制台日志(mobs);
函数moveTick(事件){
对于(变量i=0;istage.canvas.height-castle.castlelight-mobs[i].elemSize){
setTimeout(console.log(“攻击”),600000;
}否则{
mobs[i].y=mobs[i].y+mobs[i].movementSpeed;
}
}
字段。更新(事件);

}
由于您知道在执行操作之前要等待多少秒,并且您知道程序将以每秒多少帧的速度运行,所以您可以在执行操作之前对帧进行计数

计数帧的一个好方法是保持一个滴答计数器,并在计数器为正数时减小计数器,然后在计数器达到0时执行一个操作。下面是一个代码示例,部分使用了您的代码,说明了这可能是如何工作的:

createjs.Ticker.on(“tick”,moveTick);
createjs.Ticker.setFPS(20);
控制台日志(mobs);
//请注意,敌方代码可能是敌方对象的财产:
var\u ticker=-1;
函数moveTick(事件){
if(导致敌人很快攻击的事件){
敌方_ticker=60;//这给了我们3秒
}
如果(计时器>0){
敌人;
}否则如果(敌方代码=0){
敌人;
//把你的密码放在这里开始敌人的攻击
}
字段。更新(事件);
}