2017-04-20 17 views
0

CreateJS 마우스 클릭이 전혀 작동하지 않는 이유는 무엇일까요?CreateJS Animate CC - 마우스 클릭이 작동하지 않음

편집 명확히 :

애니메이션-CC에 대한 가능성 이유가 될 수 무엇/CreatJS 캔버스 마우스 상호 작용이 here (보도 동영상 재생 버튼 )하지만 here (버튼을 누르십시오 "일 놀이")?

일부 유형의 "차단"은 클릭을 가져 오는 Canvas를 방해합니까? 더 명확히

: 두 번째는 캔버스 클릭을 기록하면서

콘솔을여십시오, 당신은 캔버스와 무대 클릭 모두 로깅 첫 번째 사이트를 볼 수 있습니다.

는 내가 가지고있는 코드 :

this.stage.addEventListener("click", function(){console.log("stage is clicked")}); 

this.stage.canvas.addEventListener("click", function(){console.log("canvas is clicked")}); 

내 코드는 위의 두 페이지에로드되어 있지만, 두 번째 페이지는 무대가 unclickable 만드는 일을한다.

아이디어가 있으십니까?

미리 감사드립니다.

업데이트 1 :

가 동작하는 예제는 위의-작동하지 않는 예는 아니지만 내 창조 (ID "iRoll은"), iframe을 내부에 랩 데 있음을 참조하십시오. 이것은 아마도 DOM 마우스 상호 작용이 CreateJS 프레임 워크에 의해 해석되는 방식에 영향을 미칩니다.

도 I은 상기 실시 예에이 코드 추가 : 프레임 "(ON 압연)"

that.mcBTN.addEventListener("rollover", function (e) { 
    that.mcBTN.gotoAndStop(1); 
}); 

that.mcBTN.addEventListener("rollout", function (e) { 
    that.mcBTN.gotoAndStop(0); 
}); 

that.mcBTN의 블랙 박스 인을, 그리고 텍스트가 1

당신이 그것의 블랙 박스와 외부 내부 대체 클릭하면

that.first = true; 
that.mcBTN.addEventListener("click", function (e) { 
    that.mcChanger.gotoAndStop(that.first); 
    that.first = !that.first; 
}); 

, 당신은 몇 가지가 COORD의 측면에서 제대로 등록되어 있는지 볼 수 있습니다 :이 클릭에 색 상자를 변경하는 코드입니다 inates system - ("롤온"텍스트가 있어야 함) 그래도 클릭 기능과 롤오버 기능은 작동하지 않습니다 (예 : 색상 상자가 색상을 변경하지 않고 "롤온"텍스트가 작동하지 않음). 롤오버 상호 작용을 기반으로 표시됩니다.

+0

스테이지 크기 조정으로 인해 발생할 수 있습니다. Adobe는 좌표를 변환하는 스테이지에 "반응 형"스케일링을 추가했습니다. 무대의 다른 곳에서 클릭이 발생했는지 확인하십시오. – Lanny

+0

thanx Lanny, 실제로 질문을 단순화했습니다 (위의 편집 참조). 문제가되는 페이지에서는 스테이지 클릭이 전혀 캡처되지 않습니다. 이것에 대한 어떤 생각? – Saariko

답변

0

최신 코드 샘플을 기반으로 두 번째 캔버스가 작동하는 것으로 추측되지만 무대의 캔버스는 그렇지 않습니다. 무대 아래의 "클릭"이벤트는 마우스 아래에 내용이있을 때만 발생한다는 것을 알아야합니다. 당신이 "아무 곳이나 클릭"이벤트를 원한다면, 사용 마우스 아래에 내용이없는 경우

http://createjs.com/docs/easeljs/classes/Stage.html#event_stagemouseup

을 "stagemouseup"하고 클릭 아무 콘솔 로그가 없습니다, 당신은보고 시도 할 수 단계 규모. 내 의견에서 언급했듯이 Adobe는 내용에 맞게 크기를 조절하는 반응 형 코드를 추가했지만 무대 스케일링으로 인해 마우스 좌표 문제가 발생하는 것으로 악명이 높습니다.

예를 들어 코드를 게시 할 수 있습니까?

+0

Thanx Lanny 님의 의견을 많이 들어주세요! 실제로 Adobe는 "반응 형"작업을 수행했을뿐만 아니라 해당 코드를 사용하여 필요에 따라 추가로 변경했습니다. 어쩌면 내가 거기에서 뭔가 잘못했는지 그리고 모든 코드에서 적절한 것으로 보이는 부분을 곧 게시 할 것입니다. 그 동안 클릭하지 않는 페이지를 다시 확인하십시오 : 파란색과 검은 색 영역을 클릭하십시오 - 그에 따라 커서가 변경됩니다. 이것은 문제가 조정 문제가 아니라 다른 것을 의미합니까? – Saariko

+0

Lanny 질문에 더 많은 정보를 추가했습니다. 아마도 더 명확합니다. Animate가 전체 HTML 페이지 (Canvas를 포함하는 div 내에서)를 생성하더라도 내 코드는 해당 Canvas를 가져 와서 "수동으로"우리 시스템에 추가합니다 (따라서 CreateJS/EaselJS를 사용하는 것과 비슷한 방식으로 "by 손 "- 애니메이션 없음). – Saariko