2017-03-21 1 views
0

CC, HTML5 Canvas에 애니메이션을 적용합니다. 나는 트위터, 페이 스북 등 여러 클릭 출입구가있는 애니메이션을 가지고있다. 애니메이션에는 반복 버튼이있다. 첫 번째 play-through에서 twitter exit를 클릭하면 두 번째 play에서 동일한 exit 버튼을 클릭하면 두 개의 twitter 페이지가 열립니다 (예 : ad-infinitum). 50 번 반복하면 50 트위터 페이지를 열면 :)).HTML5 캔버스의 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 프레임에 root.x = 1;을 추가 한 (createjs's frame 0), 애니메이션 CC 프레임에서 배너 리플레이 2 (createjs's frame 1) (그래서 결코 root.x 원래 다시에 정의 된 프레임을 재생 없음), 나는 포장, 다음의의 EventListener의 코드를 전환 if 문장 테스트 root.x 그것은 나를 위해 작동합니다.

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