请问pv3d中怎么替换Cude的材质列表?
zyl910 (2011-08-10 11:54:26)
请问pv3d中怎么替换Cude的材质列表?
我现在有一个Cude(cude),有两个MaterialsList(mlA、mlB)。我希望在鼠标双击的时候,改变cude的材质(奇数次为mlA,偶数次为mlB)。
我的双击事件代码为——
protected function onDblClick(event:Event=null):void
{
m_mtype = !m_mtype;
if (m_mtype)
{
pv3dPanel.title = "W";
cube.materials = mlA;
}
else
{
pv3dPanel.title = "B";
cube.materials = mlB;
}
}
但是运行时发现——
双击事件能正常捕获(Panel的标题发生变化),但是cude的材质并没有发生变化。
查了一下pv3D文档,貌似materials只是成员变量,不是get/set属性,即动态赋值无效。
查文档中发现,replaceMaterialByName方法可以修改cude其中一个面的材质。而我现在需要一次性替换材质列表,即一次性改变六个面的材质。replaceMaterialByName逐个逐个面去改的话,貌似效率很低。
请问pv3d有没有办法 一次性的替换cude的材质列表?