纳金网
标题:
[Flare3D] Flare3D中加载f3d文件的几种方式
[打印本页]
作者:
yeu1233
时间:
2012-9-4 11:01
标题:
[Flare3D] Flare3D中加载f3d文件的几种方式
在Flare3D中加载f3d文件有几种不同的方式满足不同的需求
比较常用的是通过f3d的url地址进行加载。
scene.addChildFromFile("eko.f3d");
同时我们还能利用Flare3DLoader类来加载
var loader:Flare3DLoader=new Flare3DLoader("eko.f3d");
loader.load();
scene.addChild(loader);
下面是使用嵌入(Embed)资源的方式来进行加载
首先这样
[Embed(source="eko.f3d",mimeType="application/octet-stream")]
private var Role:Class;
接下来同样是使用scene和Flare3DLoader来进行加载,如下
scene.addChildFromFile(new Role);
var loader:Flare3DLoader=new Flare3DLoader(new Role);
loader.load();
scene.addChild(loader);
通过scene加载f3d文件会统一触发一次Scene3D.COMPLETE_EVENT事件,表示scene已经构建好了。之后只有加载新的f3d文件才会再次触发Scene3D.COMPLETE_EVENT。如果是加载之前加载过得文件则不会触发Scene3D.COMPLETE_EVENT。这个倒是挺智能的。
而使用Flare3DLoader来加载f3d文件,并加入到scene中。始终都不会触发Scene3D.COMPLETE_EVENT事件。无论这个f3d文件之前是否加载过。
识别Flare3DLoader加载完成的方法
方法1:
loader = new Flare3DLoader("eko.f3d");
loader.load();
loader.addEventListener(Event.COMPLETE, auto_loaded);
方法2:
loader = new Flare3DLoader("eko.f3d");
loader.load();
scene.addEventListener( Scene3D.UPDATE_EVENT, updateEvent );
private function updateEvent(e:Event):void
{
if (loader.loaded == 1) Do Something()
}
作者:
艾朵儿
时间:
2012-10-26 10:19
作者:
她。
时间:
2012-11-2 09:20
作者:
89684598
时间:
2014-2-22 18:20
Thanks for sharing
作者:
kikkik7000
时间:
2014-2-27 14:48
感谢分享
欢迎光临 纳金网 (http://wwww.narkii.com/club/)
Powered by Discuz! X2.5