2013-04-07 99 views
0

我对flash和AS3真的很陌生,所以我甚至不知道如何正确地提出这个问题。AS3 addchild保持动画运动的动画片段

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

到目前为止,我得到的是一个静态项目(永远不会随头层移动),并将其与“addchildat”添加到我的动画片段中。

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框架 - 但在未来框架的锥不会跟随头层

对不起,如果这是一个真正的菜鸟问题。在询问之前,我搜索了全部谷歌。

非常感谢提前!

回答

0

也许最简单的方式做到这一点(有没有太多棘手的代码),将创建头影片剪辑内部的“容器”影片剪辑,您可以在新帽子加影片剪辑。

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

running.head.hatContainer.addChild(cono); 
+0

这很有道理!谢谢 :) – 2013-04-07 05:19:59

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 */