请教关于Sphere贴图的问题
phpservice (2010-07-22 22:06:07)
以下代码能正常给Sphere贴图并显示:
var viewport:Viewport3D = new Viewport3D(400, 400); //初始化窗口
var scene:Scene3D = new Scene3D(); //初始化场景
var camera:FreeCamera3D = new FreeCamera3D(); //初始化摄像机
var renderer:BasicRenderEngine = new BasicRenderEngine; //初始化渲染器
var sphere:Sphere = new Sphere(new BitmapFileMaterial("test.jpg"), 400, 10, 10); //初始化Sphere
addChild(viewport3D); //添加3D窗口
addEventListener(Event.ENTER_FRAME, process);
scene.addChild(sphere); //场景添加sphere
private function process(evt:Event):void
{
renderer.renderScene(scene, camera, viewport); //渲染图片
}
-------------------------------------------------------
问题:如果我不用【addEventListener(Event.ENTER_FRAME, process);】这行代码来渲染图片,只想一次性的把图片贴到Sphere上并显示,但是我用【renderer.renderScene(scene, camera, viewport); 】这行代码不能实现要求,请问是什么原因呢?或者用其他什么办法能实现吗?
我有这个需求的原因是:如果开始就用ENTER_FRAME渲染,那么一打开FLASH时CPU就冲到40%以上,造成电脑很慢,所以想一打开FLASH,就把图片贴到Sphere上并显示(此时不发生任何鼠标交互事件)。在后面有需要的时候再点控制按钮用ENTER_FRAME方式不断渲染。这样能更好的提高用户体验。