【问题标题】:ActionScript-3 -- difference between playing previously created MovieClip and Event.ENTER_FRAMEActionScript-3 -- 播放先前创建的 MovieClip 和 Event.ENTER_FRAME 之间的区别
【发布时间】:2011-08-01 07:31:21
【问题描述】:

我正在创建游戏,其中涉及一些类似台球的球在屏幕上弹跳。我创建了一个只有一个代表球的帧的 MovieClip,将其导出到类,将其扩展到我的需要并使用 Event.ENTER_FRAME 对其进行动画处理。它工作得很好,但有些东西让我感到困惑——舞台和球都只有一帧,所以我不太明白 Event.ENTER_FRAME 是如何工作的......我的意思是,如果没有关键帧,动画是怎么做的???如果我使用已经动画的 MovieClip,我必须添加关键帧,对吗?

【问题讨论】:

    标签: flash actionscript-3 animation


    【解决方案1】:

    Flash Player 始终基于帧速率播放。显示对象是否实际移动取决于这些对象是否正在侦听 Event.ENTER_FRAME 事件处理程序中的指令,通常是重新定位/重绘自己。将 Event.ENTER_FRAME 事件视为一个电源插座,只要您插入它,它就可以为对象设置动画。

    从框架脚本转向真正的编程在这方面可能会令人困惑。帧脚本和 MovieClip 对象通常被视为逐帧序列,至少使用 Flash Professional IDE 的用户应该相信这一点,因为它在概念上和视觉上都很容易掌握。

    在 Flash IDE 帧脚本中,您似乎可以对每个帧进行更多的可视化控制,并且可以单独更改这些帧以显示翻书式的逐帧序列(即:丢弃不同的图像进入每一帧),它们也可以以编程方式进行动画处理(即:补间动画)。编程动画显示对象不会像您基于 Flash IDE 所想的那样占用越来越多的帧,因为这些只是可视化工具。 AVM2 运行时以相同的方式处理框架脚本和打包代码。

    MovieClip 从 Sprite 对象扩展而来。它们基本上是同一个对象,除了 Sprite 没有 gotoAndStop() 等函数。如果你从帧脚本切换到包级编程,你不应该使用 MovieClip 对象,因为它们都比较重并且几乎没用 - 请改用 Sprite。

    【讨论】:

    • 非常感谢。只有一个问题。这是你自己写的吗? o__o
    • 我自己写的答案吗?是的当然。几年前,在 ActionScript 3.0 可用之前,我常常只编写框架脚本,但在某种程度上我很幸运,因为我不太了解 AS2,所以我不必忘记它来为 AS3 腾出空间,因为这是必需的它们几乎是完全不同的语言,AS3 是一个巨大的改进,甚至使用了新版本的 ActionScript 虚拟机 (AVM2)。
    【解决方案2】:

    Event.ENTER_FRAME 与 .swf 的每秒帧数相关联。无论 MovieClip 是否处于动画状态,它都会继续触发 ENTER_FRAME。

    它与 MovieClip 的动画帧无关,除了与它同步,因为它绑定到相同的时间间隔,即 1000 毫秒/FPS。

    因此,无论您从 Event.ENTER_FRAME 中以编程方式对球进行动画处理,都绝对与动画无关

    程序动画和时间线动画是两个不同的东西。无论您的影片剪辑在哪里,代码都会触发。尽管您可以通过 ENTER_FRAME 事件控制它,但它与动画剪辑动画完全无关。

    综上所述,Event.ENTER_FRAME 应该为您提供一种创建定时代码定时时间线动画的简单方法。

    【讨论】:

      【解决方案3】:

      每个 ENTER_FRAME 调用都会更新单个帧。像精灵容器。

      【讨论】:

        【解决方案4】:

        enterFrame 事件是根据您的帧率触发的,它实际上与影片剪辑时间线无关。碰巧的是,movieclips 时间线动画也是基于帧率的。至少,我是这样看待它的,以使其更容易。

        【讨论】:

          猜你喜欢
          • 2014-08-02
          • 1970-01-01
          • 1970-01-01
          • 2012-10-08
          • 1970-01-01
          • 2017-07-31
          • 1970-01-01
          • 2010-12-18
          • 1970-01-01
          相关资源
          最近更新 更多