Adobe Animate gotoAndStop for Movie剪辑

时间:2016-05-26 08:18:34

标签: html5-canvas adobe

我创建了HTML5-canvas并添加了像Movie(Movie1)这样的Rectangle 然后我为Movie1创建了Animate 但是,当我试图停止Animate时,我不知道JS是如何工作的。

AS3行动:第1帧

public struct CodePointIndex {
    public int Index;
    public bool Valid;
    public bool IsSurrogatePair;

    public static CodePointIndex Create(int index, bool valid, bool isSurrogatePair) {
        return new CodePointIndex {
            Index = index,
            Valid = valid,
            IsSurrogatePair = isSurrogatePair,
        };
    }
}

我需要如何在JS上编写它?

我检查方式不同,但所有方法都不起作用。

trace (this.Movie1);
this.Movie1.gotoAndStop(1);

我打开了控制台IE并看到了

SCRIPT5007:无法获得财产&gotoAndStop'未定义或空引用

我也写了第二个例子

this.Movie1.gotoAndStop(1);
Movie1.gotoAndStop(1);

所以,只有当我在最终的Function Init()中生成的HTML文件中插入代码时才决定这个任务。像这样的东西

this.stop();
alert(this.Movie1);// output: MovieClip (name=null) 
//this.Movie1.gotoAndStop(1);

this.addEventListener('click', alertpopup);

function alertpopup(){

    //this.Movie1.gotoAndStop(1);
    alert(this.Movie1); // output:  undefined ???
}

为什么代码无法在IDE中运行?

我尝试在var canvas, stage, exportRoot; function init() { // --- write your JS code here --- canvas = document.getElementById("canvas"); exportRoot = new lib.ExAS3_Canvas(); stage = new createjs.Stage(canvas); stage.addChild(exportRoot); stage.update(); createjs.Ticker.setFPS(lib.properties.fps); createjs.Ticker.addEventListener("tick", stage); Update(exportRoot); } function Update(root){ <!-- write your code here --> root.stop(); //this.Movie1.name = 'Movie1'; console.log("m=" + root.Movie1); root.Movie1.stop(); root.Movie1.addEventListener('click', alertpopup); function alertpopup(){ root.Movie1.gotoAndStop(1); console.log("r=" + root.Movie1); } } 的第一帧上更改this,但它部分有效

exportRoot

1 个答案:

答案 0 :(得分:1)

我发现在第一帧中编写代码会导致与舞台上的动画片段(this.Movie1)取得联系的问题 - 但将代码放在第二帧中会有所帮助。我也发现,使用&#34;这个&#34;函数内部有时会产生通常的js-error:&#34;这个&#34;指的是功能,而不是你所在的对象&#34;内部&#34; (阶段)。通过变量&#34; var that = this;&#34;解决这个问题。并使用&#34;那&#34;而不是&#34;这个&#34;在功能里面。