html5 canvas中的基本mouseover mouseout事件对我不起作用

时间:2017-06-23 10:24:19

标签: flash html5-canvas jquery-animate adobe

我正在与动画挣扎,我通常是逐帧动画师,但我必须做一个用户界面。

我创建了一个skitz只是为了测试事件是如何工作的,而且我已经在第一步遇到了麻烦。 有一个图形布局,在它上面我创建了一个带有命中框的隐形按钮,我用过这个 用于处理事件的代码:

*/* Mouse Over Event
Mousing over the symbol instance executes a function in which you can add your own custom code.


Instructions:
1. Add your custom code on a new line after the line that says "// Start your custom code" below.
The code will execute when the symbol instance is moused over.
frequency is the number of the times event should be triggered.
*/
var frequency = 3;
stage.enableMouseOver(frequency);
this.button_1.addEventListener("mouseover", fl_MouseOverHandler_3);


function fl_MouseOverHandler_3()
{
  // Start your custom code
  // This example code displays the words "Moused over" in the Output panel.
  this.gotoandplay(113);
  // End your custom code
}*

这是来自工作区的图像: image

鼠标悬停时,我不知道为什么动画会说“这个。”按钮_'由于我在使用代码片段时检查的按钮被称为“sirtonim'”,我尝试更改它,但是当我这样做时,事件甚至不会停留在此帧。 (我有另一个用this.stop()处理框架的动作;)

我无法访问mouseout事件来测试它,也许它可以工作,也许它不会。

非常感谢!

1 个答案:

答案 0 :(得分:1)

好吧,所以我通过以下方式解决了这两件事:

在事件名称后添加.bind(this)

我也注意到鼠标输出事件唯一的错误就是我选择的帧号,在HTML5画布中,帧从零开始,所以如果你想到fram 112你需要写111相反,少了1个。