创建js as3 flash canvas js帧代码运行一次

时间:2018-06-18 20:16:33

标签: html5 canvas createjs movieclip easeljs

在Adobe Animation for HTML5 Canvas中输出的文件中生成的js代码包含影片剪辑的对象,其中包含要在每个帧中运行的代码。

(lib.cdseacc02_07 = function(mode,startPosition,loop) {
    // timeline functions:
    this.frame_0 = function() {
        if(typeof showNarration !== "undefined"){ showNarration(1); }
    }
    this.frame_644 = function() {
        playSound("02_07_01wav");
    }
    this.frame_652 = function() {
        this.closeBtn_1.addEventListener("click", closepopup_1.bind(this));
    }
    this.frame_738 = function() {
        this.stop();
    }
}).prototype = p = new cjs.MovieClip();

如果从此代码在动画片段上调用gotoAndPlay,则帧功能上的代码不会在帧经过时在帧上运行,此帧代码仅在第一次播放时间轴时起作用。是否有任何方法可以使每个播放头通过该帧时帧上的代码可以运行,即使它是通过代码中的gotoAndPlay调用?

1 个答案:

答案 0 :(得分:0)

无论时间gotoAndPlaygotoAndStop,每次时间轴经过该帧时,都应绝对播放帧动作。实际上,这有时会引起一些问题,即多次添加事件侦听器(每次帧头传递脚本时,例如在帧652上)。

您能发布一个简化的示例吗?