在Sandy引擎里面,我们可以对其进行多维贴图,Box类就是一个典型的例子。它可以进行多面的贴图,对六个面进行不同的贴图效果,做法很简单,仅仅在呈现表面的时候,选择不同的面,赋予不同的表面这样一个简单的效果就出来了。
在Box类里面有getFace这样的方法,他可以返回PrimitiveFace的类型,这个类型里面有一个appearance 的属性,使用这个属性我们就可以赋予不同面的方式。
Returns a PrimitiveFace object ( an array of polygons ) defining the specified face.
简单的流程:
在flash里面内嵌几张图片,把位图作为链接处理
这里仅仅作为演示的使用,改名为Face1---Face5
对于不同的面,我们首先要做一些简单处理,准备多张的贴图如下
private var skin1:BitmapData=new Face1(0,0);
var material1:BitmapMaterial=new BitmapMaterial(skin1);
var app1:Appearance = new Appearance( material1);//为物体创建材质表面
box.getFace(0).appearance = app1;//指定材质表面
...................方法一样。
这样我们就可以为Box创建不同的贴图,
代码清单: