2017-03-21 73 views
0

Animate CC,HTML5 Canvas。我有一個動畫,有幾個點擊退出,Twitter,Facebook等動畫有一個重複按鈕。在第一次播放時,當我點擊twitter退出時,只有一個twitter頁面打開,在第二次播放時,我點擊相同的退出按鈕,並打開兩個twitter頁面(等ad-infinitum。如果我點擊重複50次如果將打開50個twitter頁面:))。事件監聽器曾經在HTML5 Canvas中的CreateJS/Animate CC中渲染火焰

下面是從架342一個代碼片段:

root.twBtn.addEventListener("click", fl_MouseOverHandler_2.bind(this)); 

var frequency = 3; 
stage.enableMouseOver(frequency); 

function fl_MouseOverHandler_2(){ 
    window.open(clickTag1, "_blank"); 
} 

我試過同一框架上移除事件偵聽器(在回放功能),而且我仍然得到發生同樣的事情,這+1重播廣告後,每次打開的窗口都會觸發clicktag1等。我怎樣才能解決這個問題?我不確定事件偵聽器是否真的被刪除,或者發生了什麼。

// Replay 
root.reBtn.on("click", function(evt){ 
    root.twBtn.removeEventListener("click", fl_MouseOverHandler_2); 
    root.gotoAndPlay("start"); 
}); 

基本上我的聽衆是射擊每次我重新播放動畫+1倍。我嘗試瞭解決方案here,並沒有在我的情況下工作。我怎樣才能解決這個問題?

回答

0

好吧,我解決了它。

我上動畫CC幀加入,從動畫CC幀的旗幟重播2 (createjs's frame 1)(所以它永遠不會起到最初在再次定義root.x的幀),並且我切換出事件偵聽代碼下面,包裹在if聲明中測試root.x。這個對我有用。

if (root.x === 1){ 
root.twBtn.on("click", function(evt){ 
    window.open(clickTag1, "_blank"); 
    y=y+1; 
    }) 
};