【www.bbyears.com--flex】
1,给CubeGeometry设置纯色的皮肤
由于只是设置了颜色,所以如果舞台不添加灯光的话看不出边角的立体效果。 代码如下var material:ColorMaterial = new ColorMaterial(0xffffff);
// 在三维舞台中创建一个方块
var cube1:Mesh = new Mesh(new CubeGeometry(200, 200, 200), material);
_view3D.scene.addChild(cube1);
默认情况下,如果给立方体设置一张贴图皮肤,那么这个图片是把方块整个包裹起来。所以如果我们想要给立方体各个面设置不同的图片的话,可以把这些图片拼接成一个大图。
(注意:这个图片长宽必须是2的次方,最大不能超过2048。长宽可以不一样,程序会自动分割的。)
代码如下 [Embed(source="assets/cubeTexture2.png")]
private var cubeTextureClass : Class;
var material:TextureMaterial = new TextureMaterial(Cast.bitmapTexture(cubeTextureClass));
// 在三维舞台中创建一个方块
var cube1:Mesh = new Mesh(new CubeGeometry(200, 200, 200), material);
_view3D.scene.addChild(cube1);
3,给CubeGeometry六面设置一样的贴图
只需要把最后一个初始化参数tile6设置为false即可。
[Embed(source="assets/cubeTexture3.jpg")]
private var cubeTextureClass : Class;
var material:TextureMaterial = new TextureMaterial(Cast.bitmapTexture(cubeTextureClass));
// 在三维舞台中创建一个方块
var cube1:Mesh = new Mesh(new CubeGeometry(200, 200, 200, 1, 1, 1, false), material);
_view3D.scene.addChild(cube1);