EaselJS:AS3到Javascript的转换:在MC滚动时,转到并播放该MC的第1帧(用于HTML5的flashcanvas)
对于Flash中的HTML5画布项目,这是一个Javascript问题。我试图让movieClip cta充当一个按钮,一旦鼠标移到上面播放这个。cta.gotoAndPlay1;。我正在使用Flash画布中建议的代码片段中的代码,在mouseover上出现以下错误:TypeError:this.cta未定义,因此如何从该函数内部调用cta 仅供参考,当MC被鼠标移过时,警报在下面的代码中工作,this.cta.gotoAndPlay1;如果将其自身放置在时间轴中,并且位于该代码块之外,也可以使用 下面是代码片段中建议的javascript flashcanvasEaselJS:AS3到Javascript的转换:在MC滚动时,转到并播放该MC的第1帧(用于HTML5的flashcanvas),javascript,html,flash,canvas,easeljs,Javascript,Html,Flash,Canvas,Easeljs,对于Flash中的HTML5画布项目,这是一个Javascript问题。我试图让movieClip cta充当一个按钮,一旦鼠标移到上面播放这个。cta.gotoAndPlay1;。我正在使用Flash画布中建议的代码片段中的代码,在mouseover上出现以下错误:TypeError:this.cta未定义,因此如何从该函数内部调用cta 仅供参考,当MC被鼠标移过时,警报在下面的代码中工作,this.cta.gotoAndPlay1;如果将其自身放置在时间轴中,并且位于该代码块之外,也可以使
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,否则您需要将其指向它正在收听该事件的位置
还需要指出的是,如果您正在查看同一movieClip中的某个内容,只要该内容在同一movieClip中有一个实例名,那么您不需要将其放在开头,它可以是:
cta.addEventListener(MouseEvent.ROLL_OVER, fl_MouseOverHandler);
我想出来了。我在EventListener中fl_MouseOverHandler的末尾添加了.bindthis。它对我有用
var frequency = 100;
stage.enableMouseOver(frequency);
this.cta.addEventListener("mouseover", fl_MouseOverHandler.bind(this));
function fl_MouseOverHandler()
{
this.cta.gotoAndPlay(1);
}
谢谢,但那也不行。在我看来,这更像是as3而不是JS,是JS吗Dsorry mate,误解了,如果您使用Java鼠标覆盖,您是否尝试过使用addMouseListener?或者,您可以使用CreateJS中内置的绑定功能,通过:this.cta.onmouseover,fl_MouseOverHandler,this@葛斯金纳啊,酷,谢谢你。究竟什么是绑定?我为什么需要绑定它D