我正在帮朋友创建一个小型Flash游戏(在AS工作),基本功能是: - 你有一架钢琴,一些瓶子和一个玻璃杯 - 每把钥匙(钢琴上)代表不同的酒精瓶 - 按下钥匙时,瓶子会倒入玻璃杯中,
一般的想法是,通过弹钢琴,你可以创造一种鸡尾酒。
我知道如何为每个对象制作动画。我想知道的是如何使用这些动画并用动作监听器触发它们。
在我精通的Unity3D中,您可以在3dsmax和模型中创建动画,将它们导入Unity3d,当您的角色走路时,它会使用动画漫游(在3dsmax中制作)。当你点击“空间”让我们说,它使用动画跳跃等等。
我如何在AS中完成这样的事情?
意义首先创建动画,保存它们并在另一个将成为游戏的项目中使用它们,或者在同一个项目中使用它们。
希望你能理解,如果没有,我会回答任何误解。
答案 0 :(得分:1)
有时候有很多方法可以在Flash中实现您的目标。我将为你的项目谈谈其中一个。我不会给你所需要的一切,但你至少会知道要做什么以及要搜索的条件。
Flash中的基本思想是你可以通过MovieClip分离东西,这有点像Unity中的Prefabs。 MovieClip有自己的时间轴,您可以使用它来控制该MovieClip中的所有视觉效果(包括嵌套的MovieClip)。任何代码都可以将这些MovieClip告知Play(),Stop(),gotoAndPlay(Frame#)等,以完全控制该MovieClip时间轴的哪些部分进行播放。
您可以使用时间轴的不同部分创建多个不同的动画,这些部分都使用您的瓶子图形。一部分可能是一个循环动画,坐在那里冒泡或什么的。另一部分可能是实际倾倒/倾倒,另一部分是连续浇注,另一部分用于停止浇注/取出。然后,您可以在另一个图层上添加帧标签以帮助您管理它们,以及在另一个图层上停止或“重复”这样的操作,以便动画在到达其片段末尾时循环或停止。
创建动画后,您可以使用代码调用它们,例如gotoAndPlay(“pouring”),那么您可以担心EventListeners。 EventListener将调用您每次发生事件时所做的功能。如果为按键创建EventListener,则需要检查在您编写的函数中按下的特定键。根据键,您将调用不同的动画和可能的其他功能,例如发出音符声,液体倾泻声以及跟踪用户倾注的“多少”。按下按键并按下按键通常很有用。
只需在项目之间拖放,即可在项目之间复制您在库中创建的MovieClip。有时使用库中的文件夹来帮助组织事物,尤其是在项目之间进行复制时。
在新项目中搜索教程并练习新内容,以降低复杂性,直到您确定它是如何工作以及如何使用它为止。
多个动画
如果您要在时间轴上制作动画,并且想要在该时间轴中的不同图层上播放不同的动画,则必须将动画不仅按层分隔,还要在时间上水平分隔动画。为标签添加新图层。为停止操作添加新图层。在每个动画片段开头的标签图层中创建一个帧标签。在每个动画结尾处的动作层中添加一个停止命令。现在您已经有标签和操作定义的起点和终点,现在可以使用代码调用它们了。现在您可以引用包含动画/图层的动画片段,并使用gotoAndPlay(“framelabelhere”)命令播放某个动画。
这里的缺点是您的动画是互斥的,这意味着它们必须共享相同的时间轴,因此您一次只能播放1个。如果你需要并发,那么用动画片段分隔你的动画;每个动画片段都有自己的时间轴,因此可以独立播放。在后一种情况下,您可以使用myMovieClipInstanceNameHere.play()来开始播放时间轴。您可能需要在时间轴中使用初始停止命令,以确保它们默认不播放。
祝你好运!