【问题标题】:Flash game and animationFlash游戏和动画
【发布时间】:2012-06-09 10:00:38
【问题描述】:

我正在帮助一个朋友创建一个小型 Flash 游戏(在 AS 中工作),基本功能是: -你有一架钢琴,一些瓶子和一个玻璃杯 - 每个键(在钢琴上)代表一瓶不同的酒 - 按下一个键,瓶子就会倒进玻璃杯里,

一般的想法是,通过弹钢琴可以调制鸡尾酒。

我知道如何为每个对象设置动画。我想知道的是如何使用这些动画并通过动作监听器触发它们。

在我精通的 Unity3D 中,您在 3dsmax 中创建动画和模型,然后将它们导入 Unity3d,当您的角色简单地行走时,它使用动画行走(在 3dsmax 中制作)。比如说,当你点击“空格”时,它会使用动画跳跃等等。

我如何在 AS 中完成这样的事情?

意思是首先创建动画,保存它们并在另一个项目中使用它们,这将是游戏,或者在同一个项目中。

希望你理解,如果没有,我会回答任何误解。

【问题讨论】:

  • 你现在知道多少动作脚本?您描述的所有内容都可以在 actionscript 中轻松完成,但总的来说它是很多概念。您是否有兴趣学习如何设计这样的项目或如何实现细节,例如创建关键侦听器触发的动画/动作等?

标签: flash animation


【解决方案1】:

有时有很多方法可以在 Flash 中实现您的目标。我将为您的项目讨论其中之一。我不会为您提供所需的一切,但您至少应该大致了解该做什么以及要搜索什么字词。

Flash 中的基本思想是您可以通过类似于 Unity 中的 Prefabs 的 MovieClips 来分隔事物。影片剪辑有自己的时间线,您可以使用它来控制该影片剪辑中的所有视觉效果(包括嵌套的影片剪辑)。这些 MovieClip 可以通过 Play()、Stop()、gotoAndPlay(Frame#) 等的任何代码告知,以完全控制该 MovieClip 时间线的哪些部分要播放。

您可以使用时间线的不同部分创建多个不同的动画,这些部分都使用您的瓶子图形。其中一部分可能是坐在那里冒泡或其他东西的循环动画。另一部分可以是实际倾倒/倾倒、另一部分连续倾倒和另一部分用于停止倾倒/不倾倒。然后,您可以在另一层上添加帧标签以帮助您管理它们,并在另一层上添加停止或“重复”等操作,以便动画在到达其段的末尾时循环或停止。

创建动画后,您可以使用代码调用它们,例如 gotoAndPlay("pouring"),然后您就可以担心 EventListeners。每次发生某些事情时,EventListener 都会调用您创建的函数。如果您为 Key Press 创建一个 EventListener,那么您将需要检查在您编写的函数中按下的特定键。根据按键的不同,您将调用不同的动画和可能的其他功能,例如发出音符声音、液体倾倒声音以及跟踪用户倾倒的“多少”。为按键按下和按键向上设置监听器通常很有用。

您只需在项目之间拖放即可在项目之间复制您在库中制作的影片剪辑。有时使用库中的文件夹来帮助组织内容很有用,尤其是在项目之间进行复制时。

在新项目中搜索教程并练习新事物以降低复杂性,直到您确定它的工作原理和使用方法为止。

多个动画

如果您在时间轴上制作动画并且想要在该时间轴的不同图层上播放不同的动画,那么您不仅必须按图层分隔动画,而且还必须按时间水平分隔动画。为标签添加一个新图层。为停止操作添加一个新层。在每个动画片段开头的标签层中创建一个帧标签。在每个动画结束的动作层中添加停止命令。现在您已经通过标签和操作定义了起点和终点,是时候使用代码调用它们了。现在您可以引用包含您的动画/图层的影片剪辑并使用 gotoAndPlay("framelabelhere") 命令播放某个动画。

这里的缺点是您的动画是互斥的,这意味着它们必须共享相同的时间线,因此您一次只能播放 1 个。如果您需要并发,则改为通过影片剪辑分隔动画;每个影片剪辑都有自己的时间线,因此可以独立播放。在后一种情况下,您可以使用 myMovieClipInstanceNameHere.play() 开始播放时间线。您可能需要在时间线中设置初始停止命令,以确保它们不会默认播放。

祝你好运!

【讨论】:

  • 感谢您的洞察力,我想我将尝试将每个对象放在一个图层上并使用补间动画为它们设置动画,我现在的问题是我可以在动作脚本中使用它们来选择哪个动画根据当前事件播放以及我在哪里编写代码,我是创建一个新的动作脚本文件并在那里编写整个代码还是我必须在不同的层上使用动作,我的对象应该是什么类型,可以吗?即使我使用了补间动画,也可以将它们用作动画剪辑?
  • 更新了我的答案以包含播放多个动画的详细信息。
猜你喜欢
  • 2011-09-27
  • 2013-07-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-27
  • 2013-09-15
  • 1970-01-01
  • 2013-02-04
相关资源
最近更新 更多