2014-01-17 5 views
0

Я пытаюсь закодировать некоторый код в Adobe Edge Animate, но он не работает после первого запуска. Функция делает муху видимой на моей сцене, если вы нажмете муху, она будет скрыта (этот код обрабатывается самим символом мух). Следующий код показывает муху один раз, и он исчезает только после 10 кликов, и он не возвращается.Adobe Endge Animate loop code

sym.$("Fly2").hide(); 
MakeFlies(); 

function FlyMaker() { 
    setTimeout(MakeFlies(),15000); 
} 




function MakeFlies() { 
    var rand = Math.floor(Math.random()*3000)+1000; 
    setTimeout(function(){ 
    sym.$("Fly2").show(); 
    },rand); 


    FlyMaker(); 
} 

ответ

0

Одна ошибка, я могу видеть в своем коде, что вы звоните:

setTimeout(MakeFlies(), 15000); 

SetTimeout принимает функцию в качестве аргумента. Здесь вы выполняете функцию сразу (она не ожидает ожидания).

Написать что-то вроде:

// Assign function a name 
var makeFlies = function() {..} 
// Pass function variable as argument. Will be executed after 15 seconds 
setTimeout(makeFlies, 15000); 

Вы можете вызвать функцию как обычно() скобки

// call function and execute it now 
makeFlies();