我的意思是只有ActionScript。是否可以为对象设置动画,使其在Flash Professional轨迹中预先绘制?我知道,我可以使用onEnterFrame和一些数学公式来移动物体,但是如果轨迹过于复杂会怎么样?你看,我甚至不知道如何制定这个问题。希望你帮我。感谢您提前提示或提示:))
答案 0 :(得分:3)
在Flash Professional中,附加并补间一个空的sprite或一个带有虚拟内部的精灵,你可以在你的路径中隐藏/删除(如果你想在IDE中有一个可视化引用),就像你在“静态”动画。诀窍在于,使用ActionScript,您将能够在运行时引用父级精灵,并在原点添加您选择的子级。如果您选择使用假人,请不要忘记删除或隐藏假人。
通过这种方式,您将会看到添加的子精灵在路径上的动画效果。根据您的要求,您的代码可以在运行时选择订单和移动内容。
或者像其他人建议的那样,您可以通过ActionScript定义您的路径,并在想象的插值路径上再次选择您选择的对象。那里不乏补间库。
我非常确定第一个选项需要更少的代码,并且就结果动画而言,对玩家的负担较少。这就是人们在Flash过去所做的事情:-)但是现在许多Flash Player应用程序开发人员经常希望尽可能多地使用代码,原因有几个。
答案 1 :(得分:3)
直观地创建补间动画。在时间轴中右键单击补间。选择“将动作复制为ActionScript 3.0”。
之后,您可以使用该代码构建一个函数,并将您的对象作为参数传递给函数。
答案 2 :(得分:2)
无论轨道如何复杂,它总会归结为一连串的点。在Array / Vector中获取这些点,您应该能够沿着该路径操纵任何显示对象。所以是的,它应该是可能的。
为了移动你的对象,你可以使用Timer类或一些补间,而不仅仅是输入框架。
答案 3 :(得分:1)
您需要使用使用ActionScript计算的路径定义您希望对象采用的路径(至少这样可以更轻松地沿着该路径移动对象)。
在Flash Auth中绘制路径时。工具,您不是存储实际路径,而是存储路径的图形(在运行时),因此您没有可用的点数据来告诉您的对象去哪里。
如果您创建Vector
Point
个,其中点是x,y在舞台上坐标,那么您可以在Tween
之间的每个点之间Vector
{1}}。
您将在[{1}}中存储这些点,并且这些点可以随机应用于任何Vector
或Sprite
。 MovieClip
课程可以填补Tween
。
有趣的是:您可以使用Catmull-Rom曲线样条曲线在点(在Vector中)之间自动生成更平滑的路径。这是一个包含该功能的类库:http://www.algorithmist.net/as3pc.html
当相机在场景中移动时,人们使用这些样条线加载3D视口相机所遵循的路径以获得平滑视图。
答案 4 :(得分:1)
要获得点的值(按照其他答案的建议使用),您可以尝试使用Mario Klingemann的形状解码器,最好是只包含路径的swf: