CreateJS Eventlistener 在同一个函数上多次进入

CreateJS Eventlistener enters multiple times on the same function

我正在 Adob​​e Flash Professional 中使用 createJS 制作 HTML5 游戏。游戏有5个时间轴位置,第一个是加载游戏,第二个显示游戏名称,第三个显示关卡和说明,第四个显示游戏本身,第五个保留用于结束屏幕。

每次用户通过一个级别时,它都会从第四个屏幕返回到第三个屏幕以显示该级别的说明。

timeline.gotoAndPlay(2);

我有 drag/drop 对象的事件,它在第一层工作正常,我删除了事件侦听器,对象停止按预期移动。

 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] 中有两次事件监听器,它只在第一级进入一次。

通过将所有函数放在第一帧中解决,格式为:

foo = function()
{

}

并在第四帧调用它们