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

Posted

技术标签:

【中文标题】创建js as3 flash canvas js框架代码运行一次【英文标题】:create js as3 flash canvas js frame code runs once 【发布时间】:2018-11-27 17:39:18 【问题描述】:

在 Adob​​e 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】:

无论是在gotoAndPlay 还是gotoAndStop 期间,都绝对应该在时间线每次经过该帧时播放帧动作。事实上,这有时会导致多次添加事件侦听器的问题(每次框架头通过脚本时,例如在您的框架 652 上)。

你能发布一个这不起作用的简化示例吗?

【讨论】:

以上是关于创建js as3 flash canvas js框架代码运行一次的主要内容,如果未能解决你的问题,请参考以下文章

Flash CS4/AS3 动态文本框

单击按钮时如何删除组合框组件 flash as3

AS3/Flash:组合框和文本输入交互

Flash 的 GUI 框架(as3)[关闭]

Canvas画布

是否可以在外部编辑器(如 AS2/3)中编辑 Flash Pro CC 2015 HTML5 项目 JS 代码?