2015-08-14 108 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() 
{ 

} 

和調用它們在第四幀。

相關問題