CreateJS Animate CC - 鼠标点击不起作用

时间:2017-04-20 07:49:42

标签: canvas iframe createjs easeljs animate-cc

CreateJS鼠标点击不起作用的原因是什么?

编辑澄清:

Animate-CC / CreatJS Canvas鼠标互动工作的{strong> 潜在 原因可能是什么here(按视频播放按钮 )但不是here(按“播放”按钮)?

某些类型的“阻止”,阻止Canvas获取点击?

澄清更多:

请打开控制台,您将看到第一个站点记录画布和阶段点击,而第二个站点仅记录画布点击。

这是我的代码:

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

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

我的代码已加载到上述两个页面中,但第二页执行的操作使得舞台无法点击。

有什么想法吗?

提前致谢!

更新1:

请注意上面的工作示例是将我的广告素材(ID“iRoll”)包装在iFrame中,而不是非工作示例。这可能会影响CreateJS框架解释DOM鼠标交互的方式。

另外,我在上面的例子中添加了这段代码:

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;
});

如果你在黑匣子里面和它外面交替点击,你可以看到一些事情在坐标系统方面被正确注册 - (“滚动”文本显示应该如此),但仍然是点击功能并且翻转功能本身在某种程度上不起作用(即,彩色框不会改变颜色,并且“滚动”文本不会基于翻转交互而出现。

1 个答案:

答案 0 :(得分:0)

根据你最新的代码示例,我猜第二个(画布上的监听器)有效,但舞台上的那个没有。重要的是要知道一个阶段"点击"事件仅在鼠标下有内容时触发。如果你想要"点击任何地方"事件,然后使用" stagemouseup"

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

如果您确实有鼠标下的内容,并且单击时没有控制台日志,您可以尝试查看舞台比例。正如我在评论中提到的那样,Adobe添加了一些响应代码来扩展内容以适应,但阶段缩放却出了名的小问题。

您是否有机会发布示例或更多代码?