Canvas setTimeout和kineticjs

Canvas setTimeout和kineticjs,canvas,kineticjs,Canvas,Kineticjs,我想在超时的情况下触发对象。问题是下面的代码只触发第一个对象。有人知道我怎么能在不同的时间里开枪吗 function _tween_out(_objeto){ _objeto.play(); } function _tween_in(_objeto){ _objeto.reverse(); } myVar=[] bk.on('mouseenter', function(evt) { for (var j=0;j<iconos_bases.length;j++){

我想在超时的情况下触发对象。问题是下面的代码只触发第一个对象。有人知道我怎么能在不同的时间里开枪吗

function _tween_out(_objeto){
    _objeto.play();
}
function _tween_in(_objeto){
    _objeto.reverse();
}
myVar=[]
bk.on('mouseenter', function(evt) { 

for (var j=0;j<iconos_bases.length;j++){
        var mandar=iconos_bases[j].group.tween
        myVar[j]=setTimeout(function(){_tween_out(mandar)},getRandomInt(1,100));
    }
    stage.draw();

});
function\u-tween\u-out(\u-objeto){
_objeto.play();
}
函数_tween_in(_objeto){
_倒;
}
myVar=[]
bk.on('mouseenter',函数(evt){

对于(var j=0;j一件事:您在这里计算的延时是多少

// 600000 seems like a large number ??

var num=getRandomInt(1,600000);
无论如何

演示:

在setTimeout中,不能使用_tween_out函数发送参数

// This Won't Work !

setTimeout(_tween_out(mandar),num);
如果要发送参数,则必须为setTimeout指定一个匿名函数:

setTimeout( function(){ _tween_out(mandar); }, num );

谢谢,我在我的代码中还检测到数组在声明后进入内存,因为这给了我更多的时间。对我来说“超时”已经太晚了,我发现这个库的TweenLite可以与Kineticjs一起工作并且运行得很好。将一个exmaple.myVar[j]=TweenLite.to(iconos_base[j]。组,1,{kinetic:{x:900},ease:Strong.easeOut,delay:Math.random()*0.4,});谢谢你,很抱歉我的英语不好。是的,Greensock(和tweenLite)是一个很好的转换、Tween和动画库。
setTimeout( function(){ _tween_out(mandar); }, num );