首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AS#3将SWF加载到SWF中

AS#3将SWF加载到SWF中
EN

Stack Overflow用户
提问于 2012-08-20 16:52:09
回答 1查看 420关注 0票数 0

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

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

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

我的错误:

代码语言:javascript
复制
    TypeError: Error #1034: Type Coercion failed: cannot convert 
  flash.display::MovieClip@30ee0e41 to away3d.containers.ObjectContainer3D.
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-20 17:38:45

Away3D 4,就有点难了。但我会试着给你指个正确的方向。

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

该材质具有MovieClip的纹理。几何体是一个PlaneGeometry

网格是需要添加到ObjectContainer3D中的Object3D实例。

你的代码应该是这样的:

代码语言:javascript
复制
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设置动画,需要更新纹理的位图:

代码语言:javascript
复制
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/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12034708

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档