2015-08-14 64 views
0

我在Adobe Flash Professional中使用createJS制作HTML5游戏。游戏有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); 
} 

发生的事情是,现在每次事件被解雇,它会在功能上输入两次,如果我再上一个级别,那么它会输入3次,依此类推。如何停止在同一功能中输入多次的事件?

P.S.我在paresArray2 [i]中做了两次事件监听器的测试,它只在第一级进入一次。

回答

0

解决通过将所有的功能在第一帧的格式:

foo = function() 
{ 

} 

和调用它们在第四帧。

相关问题