AS3 addchild到一个动画片段保持动画的动作

时间:2013-04-07 04:29:28

标签: actionscript-3 flash

我是flash和AS3的新手,所以我甚至不知道如何正确地提出这个问题。

我有一个有动画的角色(MovieClip),我想要做的就是在这个角色中添加一个项目,例如在“head”图层中,这个项目应该跟在“head”图层之后。 /> 因此意味着每个框架中的项目应略高于头部,并且头部不断改变其位置。

到目前为止,我所得到的是一个静态项目(永远不会随着头层移动),将“addchildat”添加到我的movieclip中。

var running : anim_running = new anim_running (); // running movieclip
var cono : i_1  = new i_1 (); // cone head item
running.addChildAt (cono, 10); // adding the cone to the proper layer
cono.x = 20; 
cono.y = -20; // positioning the cone on top of the head

使用这段代码就是它的样子(我还不能发布图片)

http://oi45.tinypic.com/2qx6bls.jpg - 这是一个锥体正确定位的框架 http://oi47.tinypic.com/34g6bub.jpg - 但在下一帧中,圆锥体不会跟随头部层

很抱歉,如果这是一个非常棒的问题。在询问之前,我在谷歌搜索了一遍。

非常感谢提前!

2 个答案:

答案 0 :(得分:0)

好的,所以如果我正确地理解了这一点,你会想要添加一个容器影片剪辑,其中包含头部和圆锥体。然后你将为容器设置动画而不是头部。这样,您可以相对于其他项目向容器添加项目,就好像它是静态的并且动画一直在播放。

粗略的例子:

var container:MovieClip = new MovieClip();
addChild(container);
container.addChild(head);
container.addChild(cone);

TweenLite.to(container, 3, {x:container.x + 50}); /*head and cone move relative to each other because their parent is being animated */

答案 1 :(得分:0)

执行此操作的最简单方法(没有太多棘手的代码)可能是在头部动画片段中创建一个“容器”动画片段,您可以在其中添加新的帽子动画片段。

然后将帽子添加到容器中。确保已设置实例名称,以便可以在代码中引用它们。这是一个例子:

running.head.hatContainer.addChild(cono);