EaselJS:AS3 到 Javascript 转换:在 MC 翻转时,转到并播放该 MC 的第 1 帧(Flash Canvas for HTML5)
EaselJS: AS3 to Javascript conversion: on rollover of MC, gotoAndPlay frame 1 of that MC (Flash Canvas for HTML5)
这是一个 Javascript 问题,针对 Flash 中的 HTML5 canvas
项目。我正在尝试让 movieClip cta
充当按钮,一旦鼠标悬停在其上就可以播放 this.cta.gotoAndPlay(1);
。我正在使用 Flash Canvas 中建议的片段中的代码,但在鼠标悬停时出现以下错误:TypeError: this.cta is undefined
那么如何从该函数内部调用 cta
?
仅供参考,alert
在下面的代码中起作用(当鼠标悬停在 MC 上时),并且 this.cta.gotoAndPlay(1);
单独放置在时间轴中在此代码块之外时也起作用。
这是代码段中建议的 javascript flash(canvas)。
var frequency = 3;
stage.enableMouseOver(frequency);
this.cta.addEventListener("mouseover", fl_MouseOverHandler);
function fl_MouseOverHandler()
{
alert("Moused over");
this.cta.gotoAndPlay(1);
}
这是旧的 AS3。
cta.onRollOver = function(){
this.gotoAndPlay("start");
你的事件侦听器没有正确设置鼠标事件应该是这样的:
this.cta.addEventListener(MouseEvent.ROLL_OVER, fl_MouseOverHandler);
除非您正在收听另一个 customEvent,否则您需要将其定向到正在收听事件的位置。
还要指出,如果您正在查看同一影片剪辑中的某些内容,只要它在同一影片剪辑中具有实例名称,您就不需要在开头放置 this
它可以是:
cta.addEventListener(MouseEvent.ROLL_OVER, fl_MouseOverHandler);
我明白了。我在 EventListener
中的 fl_MouseOverHandler
末尾添加了 .bind(this)
。它对我有用。
var frequency = 100;
stage.enableMouseOver(frequency);
this.cta.addEventListener("mouseover", fl_MouseOverHandler.bind(this));
function fl_MouseOverHandler()
{
this.cta.gotoAndPlay(1);
}
这是一个 Javascript 问题,针对 Flash 中的 HTML5 canvas
项目。我正在尝试让 movieClip cta
充当按钮,一旦鼠标悬停在其上就可以播放 this.cta.gotoAndPlay(1);
。我正在使用 Flash Canvas 中建议的片段中的代码,但在鼠标悬停时出现以下错误:TypeError: this.cta is undefined
那么如何从该函数内部调用 cta
?
仅供参考,alert
在下面的代码中起作用(当鼠标悬停在 MC 上时),并且 this.cta.gotoAndPlay(1);
单独放置在时间轴中在此代码块之外时也起作用。
这是代码段中建议的 javascript flash(canvas)。
var frequency = 3;
stage.enableMouseOver(frequency);
this.cta.addEventListener("mouseover", fl_MouseOverHandler);
function fl_MouseOverHandler()
{
alert("Moused over");
this.cta.gotoAndPlay(1);
}
这是旧的 AS3。
cta.onRollOver = function(){
this.gotoAndPlay("start");
你的事件侦听器没有正确设置鼠标事件应该是这样的:
this.cta.addEventListener(MouseEvent.ROLL_OVER, fl_MouseOverHandler);
除非您正在收听另一个 customEvent,否则您需要将其定向到正在收听事件的位置。
还要指出,如果您正在查看同一影片剪辑中的某些内容,只要它在同一影片剪辑中具有实例名称,您就不需要在开头放置 this
它可以是:
cta.addEventListener(MouseEvent.ROLL_OVER, fl_MouseOverHandler);
我明白了。我在 EventListener
中的 fl_MouseOverHandler
末尾添加了 .bind(this)
。它对我有用。
var frequency = 100;
stage.enableMouseOver(frequency);
this.cta.addEventListener("mouseover", fl_MouseOverHandler.bind(this));
function fl_MouseOverHandler()
{
this.cta.gotoAndPlay(1);
}