Flash:将加载的对象从一个类传输到另一个类

时间:2010-02-27 07:58:15

标签: flash actionscript-3

我希望我能正确解释这一点。我正在使用flashDevelop作为头像创建引擎。我有一个名为body_view的movieclip(类),它是这样的结构:

body_view -> 10 visual body components -> each component needs to have a jpeg loaded

然后有一个body_model类,它从body_view类扩展而来,负责所有加载/保存/交互,现在body_model类如下:

body_models -> variables holding (values) -> populateView (function)

现在通过populateView函数我需要填充body_view的组件,但问题是如果我在舞台上的函数上加载jpeg / swf。我不希望它在舞台上我希望它在body_view中的特定位置

我希望有人可以帮助我!

2 个答案:

答案 0 :(得分:1)

由于Loader是一个DisplayObject,你可以使用addChild()将它添加到任何DisplayObjectContainer(如Sprite或MovieClip)中,从而将它(以及它加载的图像或swf)添加到其中:

var loader:Loader = new Loader();
loader.load(new URLRequest(urlToImage));
thePlaceWhereYouWantTheImage.addChild(loader);

此外,您可以再次使用addChild()将加载程序(或其他DisplayObject)从一个地方移动到另一个地方:

otherPlace.addChild(loader);

然后将其从显示列表中的当前位置移除并添加到新的。

答案 1 :(得分:0)

如果我理解正确,这是我认为它的方式之一:

  • 该模型负责装载。
  • 视图会侦听已完成加载请求的模型。
  • 为了保持一致性,视图和模型共享一个包含正文部分ID列表等的相同值对象。
  • 一旦视图收到通知,就会加载一个等待的图像,然后将其添加到相应的身体部位。

因此,如果你有类似的东西并且“身体部位”被加载到舞台而不是所需的位置,那么可能是populate()方法被搞砸了。