EaselJS:AS3到Javascript的转换:在MC的翻转时,该MC的gotoAndPlay第1帧(HTML5的Flash Canvas)

时间:2015-08-25 23:22:33

标签: javascript html5 flash canvas easeljs

对于Flash中的HTML5 canvas项目,这是一个Javascript问题。我正在尝试将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");

2 个答案:

答案 0 :(得分:1)

我明白了。我在.bind(this)的{​​{1}}末尾添加了fl_MouseOverHandler。它对我有用。

EventListener

答案 1 :(得分:-1)

您的事件侦听器未正确设置,因为鼠标事件的外观应如下所示:

this.cta.addEventListener(MouseEvent.ROLL_OVER, fl_MouseOverHandler);

除非你正在收听另一个customEvent,否则你需要将它指向它正在收听的事件。

也只是要指出你是否在同一个movieClip中查看某个内容,只要它在同一个动画片段中有一个实例名称,你不需要在开始时放置this它可以是:< / p>

cta.addEventListener(MouseEvent.ROLL_OVER, fl_MouseOverHandler);