0

我对 flash 和 AS3 真的很陌生,所以我什至不知道如何正确地问这个问题。

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

到目前为止,我得到的是一个静态项目(从不与头层一起移动),将它与“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 - 但在下一帧中锥体不会跟随头层

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

提前谢谢了!

4

2 回答 2

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 */
于 2013-04-07T05:08:41.567 回答
0

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

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

running.head.hatContainer.addChild(cono);
于 2013-04-07T05:12:25.010 回答