2014-02-07 4 views
0

Я хочу, чтобы огонь объектов с таймаутом. Проблема в том, что приведенный ниже код запускает только первый объект. Кто-нибудь знает, как я могу стрелять в разное время подростками?setTimeout и 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(); 

}); 

, но все таймаут в то же время.

+0

http://stackoverflow.com/questions/16532177/stopping-dynamically-generated-setinterval/16532252 # 16532252 – coma

ответ

1

Одна вещь: сколько времени вы рассчитываете здесь?

// 600000 seems like a large number ?? 

var num=getRandomInt(1,600000); 

Во всяком случае ...

демонстрационный:http://jsfiddle.net/m1erickson/CTRuq/

В SetTimeout вы не можете отправить аргументы с функцией _tween_out.

// This Won't Work ! 

setTimeout(_tween_out(mandar),num); 

Если вы хотите послать аргумент вы должны вместо этого дать SetTimeout анонимную функцию:

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

Спасибо, также я обнаружил в своем коде, что массив переходит в память после объявления, потому что это дает мне пустое ..;) больше часов после. Для меня «Тайм-аут» слишком поздно, я нахожу эту библиотеку TweenLite, которая работает с Kineticjs и идет очень хорошо. Поместите пример. myVar [j] = TweenLite.to (iconos_bases [j] .группа, 1, {кинетика: {x: 900}, легкость: Strong.easeOut, delay: Math.random() * 0.4,}); Спасибо и жаль мой плохой английский. – virtualsets

+0

Yep, Greensock (и tweenLite) - отличная библиотека для преобразований, твинов и анимаций. – markE