AS#3将SWF加载到SWF中

时间:2012-08-20 08:52:09

标签: actionscript-3 actionscript away3d

我试图将swf加载到3D Objectcontainer.Im使用Away3D(黄金)

基本上我已经将一个对象加载到一个3d容器中,现在我想在同一个容器中加载一个swf。我现在将我的对象和SWF放在同一个容器中,所以如果我旋转容器,那么我的SWF.My swf只包含文本,现在它只是一个测试......

使用的加载方法是一个数组...... 有什么想法吗?

我的错误:

    TypeError: Error #1034: Type Coercion failed: cannot convert 
  flash.display::MovieClip@30ee0e41 to away3d.containers.ObjectContainer3D.

1 个答案:

答案 0 :(得分:1)

Away3D 4,有点困难。但我会试着指出你正确的方向。

您需要使用Geometry和Material创建一个Mesh。

材质具有MovieClip的纹理。 几何是PlaneGeometry

Mesh是您需要添加到ObjectContainer3D的Object3D实例。

你的代码看起来像这样:

var bitmapData:BitmapData = new BitmapData( mc.width, mc.height, false, 0x000000 );
var texture:BitmapTexture = new BitmapTexture( bitmapData );
var material:TextureMaterial = new TextureMaterial( texture, true );

var geometry:PlaneGeometry = new PlaneGeometry( mc.width, mc.height );

var planeMesh:Mesh = new Mesh( geometry, material );

_3dcontainer.addChild( planeMesh );

现在要使MovieClip动画化,您需要更新纹理的位图:

mc.addEventListener( Event.ENTER_FRAME, updateTexture );

private function updateTexture( e:Event ):void {
    texture.bitmapData = new BitmapData( mc.width, mc.height, false, 0x000000 );
}

同样,我没有对此进行测试,而且很久以前我使用了Away3D 4.只是不要忘记导入已使用的类。

请仔细阅读文档: http://away3d.com/livedocs/away3d/4.0/