0

我正在尝试将 swf 加载到 3D Objectcontainer.Im 使用 Away3D (gold)

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

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

我的错误:

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

1 回答 1

1

Away3D 4,有点困难。但我会尽力为您指明正确的方向。

您需要使用几何和材质创建网格。

材质与您的 MovieClip 具有纹理。几何是平面几何

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/

于 2012-08-20T09:38:44.783 回答