首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Actionscript 3代码一帧延迟

Actionscript 3代码一帧延迟
EN

Stack Overflow用户
提问于 2013-06-06 12:40:22
回答 1查看 485关注 0票数 0

我正在为我正在制作的动画创建一个木偶装备。我已经创建了两个继承自MovieClip类的自定义类。一个是我正对着相机设置动画的头部,另一个是同一头部的3/4视图。我已经修改了这两个构造器,添加了一个调用函数facRig的事件侦听器,它可以帮助我通过调用其他函数(如moveEyes(), moveMouth()等)来设置头部动画。

代码语言:javascript
运行
复制
public function _F__MichaelFULLHEAD() {
    super();
    faceRig("OverLoad"); //<--bug workaround
    this.gotoAndPlay(MovieClip(root).currentFrame); //Sync movieclips with timeline
    addEventListener(Event.ENTER_FRAME,faceRig);
}

但是,该函数始终在时间线中出现MovieClip后的一帧内调用。这种延迟使得动画变得不可能,因为我必须不断地在前视图和3/4视图之间切换(我通过在时间轴中创建一个新的关键帧并从库中拖动元件来切换)。每次我切换时,都会有一帧画面中嘴巴不说话,眼睛也不动。

"bug解决方案“在某种程度上解决了问题。现在,任何一个头部第一次出现在舞台上时,它立即开始动画,但如果我从前视图切换到3/4视图回到前视图,前视图再次延迟。

我怀疑这可能是因为构造函数没有再次运行,所以我试图通过在对象的属性框中将heads的每个实例命名为frontHead1frontHead2来使它们唯一,但是这根本没有帮助。

EN

Stack Overflow用户

发布于 2013-06-07 09:27:13

我已经找到了我自己问题的答案:

代码语言:javascript
运行
复制
public function _F__MichaelFULLHEAD() {
    super();
    //this.gotoAndPlay(MovieClip(root).currentFrame); << Moved this to inside faceRig
    addEventListener(Event.ENTER_FRAME,faceRig);
    addEventListener(Event.ADDED,faceRig);
}

显然,Event.ADDEDEvent.ENTER_FRAME之前运行,这与我认为我所知道的Event.ENTER_FRAME的工作原理相矛盾。现在一切都像它应该的那样工作。

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16953789

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档