setTimeout and 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++){
        var mandar=iconos_bases[j].group.tween
        myVar[j]=setTimeout(function(){_tween_out(mandar)},getRandomInt(1,100));
    }
    stage.draw();
});

我更改代码。

 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
        var num=getRandomInt(1,600000);
        console.log(num);
        setTimeout(_tween_out(mandar),num);
    }
    stage.draw();
});

但所有超时都在同一时间。

一件事:您在这里计算多少时间延迟?

// 600000 seems like a large number ??
var num=getRandomInt(1,600000);

无论如何...

演示: http://jsfiddle.net/m1erickson/ctruq/

在settimeout中,您无法使用您的_twien_out函数发送参数。

// This Won't Work !
setTimeout(_tween_out(mandar),num);

如果要发送参数,则必须给Settimeout一个匿名函数:

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

最新更新