2015-08-14 2 views
0

Я делаю игру HTML5 с помощью createJS в Adobe Flash Professional. В игре 5 позиций по временной шкале, первая - загрузить игру, вторая показывает название игры, третий показывает уровень и инструкции, четвертый показывает саму игру, а пятая зарезервирована для финального экрана.CreateJS Eventlistener вводит несколько раз по той же функции

Каждый раз, когда пользователь проходит уровень, он возвращается с четвертого экрана на третий экран, чтобы показать инструкцию для этого уровня.

timeline.gotoAndPlay(2); 

У меня есть события для объектов перетащить/падение и она отлично работает на первом уровне, я извлекаю слушателей событий и объект перестает двигаться, как предполагалось.

for (i=0; i< numberofpairs;i++) 
{ 
     paresArray2[i].sym.removeEventListener("pressmove", item_onMouseDown); 
     paresArray2[i].sym.removeEventListener("pressup", stage_onMouseUp); 

} 

Когда он продвигает уровень он идет на третьем экране, а затем обратно к четвёртому и у меня есть этот код еще раз (теперь с увеличением numberofpairs),

for (i=0; i< numberofpairs;i++) 
{ 
    paresArray2[i].sym.addEventListener("pressmove", item_onMouseDown); 
    paresArray2[i].sym.addEventListener("pressup", stage_onMouseUp); 
} 

, что происходит, что теперь Everytime события уволен, он дважды входит в функции, и если я продвигаю другой уровень, то его 3 раза и т. д. Как я могу остановить события для ввода нескольких раз в одной и той же функции?

P.S. Я сделал тест, где дважды прослушивал события в paresArray2 [i], и он просто входит один раз на первом уровне.

ответ

0

решаемые положить все функции в первом кадре с форматом:

foo = function() 
{ 

} 

и называя их в четвертом кадре.