【问题标题】:Adobe Animate gotoAndStop for Movie clipAdobe Animate gotoAndStop for Movie 剪辑
【发布时间】:2016-05-26 08:18:34
【问题描述】:

我创建了 HTML5-canvas 并添加了类似电影 (Movie1) 的矩形 然后我为 Movie1 创建了 Animate 但是当我尝试停止 Animate 时,我不知道 JS 是如何工作的。

AS3 动作:Frame1

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

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

我检查了不同的方法,但它们都不起作用。

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

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

SCRIPT5007:无法获取未定义或空引用的属性“gotoAndStop”

我也写了第二个例子

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 ???
}

所以,我只有在函数 Init() 末尾处将代码插入到生成的 HTML 文件中时才决定执行此任务。像这样的

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);
    }
}

为什么代码不能在 IDE 中运行?

我尝试在exportRoot 的第一帧上更改this,它部分工作

//this.Movie1.stop(); // it doesn't work 
//exportRoot.Movie1.stop(); // it doesn't work 
this.Movie1.addEventListener('click', alertpopup);
var i = 0;
function alertpopup(){
    i++;
    if(i==2) i = 0;
    exportRoot.Movie1.gotoAndStop(i);                       
}

【问题讨论】:

    标签: html5-canvas adobe


    【解决方案1】:

    我发现在第一帧中编写代码会导致与舞台上的影片剪辑 (this.Movie1) 联系时出现问题 - 但将代码放在第二帧中会有所帮助。我还发现,在函数中使用“this”有时会产生常见的 js 错误:“this”指的是函数,而不是指您“内部”的对象(Stage)。通过变量“var that=this;”解决这个问题并在函数内使用“that”而不是“this”。

    【讨论】:

    • 感谢您提供信息。我认为对于我需要在没有 IDE 的情况下使用 CreateJS 的任何程序。会更轻松。但是我没有普通的 JS 编辑器而不是 notepad++。
    猜你喜欢
    • 2017-02-07
    • 1970-01-01
    • 1970-01-01
    • 2017-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-15
    • 2020-10-28
    相关资源
    最近更新 更多