【问题标题】:AS3 - What are the different methods of rendering animation on the screen?AS3 - 在屏幕上渲染动画的不同方法是什么?
【发布时间】:2013-08-17 19:09:05
【问题描述】:

我是 AS3 和一般编程的初学者,但我已经学到了足够多的知识,现在我想开始学习如何在屏幕上渲染动画。这些是我在google上“研究”了两天所知道的方法。
我没有能力从教育机构学习课程,所以我唯一的学习方式是通过在线资源。

  1. 在每一帧的循环中更新对象的 x 或 y 位置。很基础。当然,任何类型的高级动画(例如,显示一个正在奔跑的角色)都无法单独使用此方法。
  2. 使用Flash 并在movie cliptimeline 上创建动画,并结合移动对象的位置,我们可以通过这种方式实现一些适当的动画。但是我买不起 Flash,所以这不是我可用的选项。在更有经验的程序员中,它似乎也不是一个受欢迎的选择(我认为,由于在屏幕上显示大量对象时性能很差?)
  3. 使用sprite sheet 然后blitting 将精灵表中的相关图像放到屏幕上。

除了blitting之外,还有其他方法可以将精灵表中的图像放到屏幕上吗?

还有哪些其他渲染动画的方法?

一些在线网站声称blitting 是我所需要的,但我想知道所有可用的选项,以便我可以为任何特定情况选择最合适的选项。
任何帮助将不胜感激:)

【问题讨论】:

  • 第二个选项是正确的方法,我一直在使用 AS3,因为它存在。动画不是程序员的工作,这是设计师的工作。 Flash 导出您可以在代码中使用的.swc。但我完全明白钱的问题。

标签: actionscript-3 animation


【解决方案1】:

使用 TweenMax 引擎实现更好的动画效果。轻松编码,更多动画!

【讨论】:

    【解决方案2】:

    blitting 的另一个选项是 Stage3D。查看Starling 了解二维动画。

    【讨论】:

    • 使用 Stage3D 显示 2D 图像有什么好处?我知道它使用计算机的 GPU 来帮助提高渲染性能,但在我看来这对于 2D 来说是多余的。
    • @Gary Wong - 这是关于性能的。如果您的游戏/应用程序不需要更好的图形性能,您无需使用 Stage3D 即可摆脱困境。如果您的游戏不需要它,这只是矫枉过正。
    【解决方案3】:

    Blitting 是我最好的意见。我能想到的唯一另一件事是手动从精灵表中获取图像并将其放入动画的每一帧中。

    要渲染动画,您可以在 MovieClip 中创建一个帧并将其转换为一个 MovieClip,并将该帧命名为“running”。然后,您需要创建一个 Enter Frame 事件,其中 MovieClip 的实例名称为“Guy”,并在函数的代码中写入“Guy.x += 5;”,以使您的 MovieClip 每帧向右移动 5 个像素,并在函数中写入“ Guy.gotoAndStop('running');"

    【讨论】:

    • 是的,这是我描述的第二种方法。不幸的是,我无法使用它,因为我没有 Flash Professional。
    • @GarryWong 那么也许您可以使用形状并更改它们的 X 和 Y?像矩形一样,例如: var arm = new Rectangle; addChild(arm);
    猜你喜欢
    • 2014-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-31
    • 1970-01-01
    相关资源
    最近更新 更多