AS3 Papervision3D在平面上访问材料

时间:2011-04-18 15:16:32

标签: flash actionscript-3 papervision3d

我希望优化我的程序的性能。

关闭蝙蝠我已经将舞台质量设置为中等(如果我将它设置为低半,我的动画片段不会渲染)。这有帮助,但我想要更多!!!

我在P3D Essentials书中读到的一个提示是在不需要时转动动画材料。神奇的想法,但不解释如何。

当我创建一个材质时,我可以设置material.animated = false并且它可以工作,但在另一个函数中我无法访问我的基元的材质。像plane.material.animated = false这样简单的东西会返回一个空异常。那么如何在我的基元上动态打开/关闭动画材料?

1 个答案:

答案 0 :(得分:0)

通过API查看这似乎是不可能的。但是,我可以做的是提高性能,删除不可见的对象,例如如果一架飞机完全隐藏在另一架飞机后面,则不要显示(渲染)它。这是我试图用我原来的问题实现的......

我将所有飞机都放在一个阵列中。

//make all the planes invisible. Don't want to render them
for(var i = 0; i< planes.length(); i++)
{
  planes[i].visible = false;
}
//show the first plane so we have **something** to see
planes[0].visible = true;

这对我有用,因为我知道一次只能看到一个平面(直到它转换到下一个平面,在这种情况下我会那个平面可见,当当前飞机完成转换时,我隐藏了这一点。