JME基础教程代码分析2
package com.hello;
import com.jme3.app.SimpleApplication;
import com.jme3.material.Material;
import com.jme3.math.Vector3f;
import com.jme3.scene.Geometry;
import com.jme3.scene.shape.Box;
import com.jme3.math.ColorRGBA;
import com.jme3.scene.Node;
/** Sample 2 - How to use nodes as handles to manipulate objects in the scene graph.
* You can rotate, translate, and scale objects by manipulating their parent nodes.
* The Root Node is special: Only what is attached to the Root Node appears in the scene. */
public class HelloNode extends SimpleApplication {
public static void main(String[] args){
HelloNode app = new HelloNode();
app.start();
}
@Override
public void simpleInitApp() {
// create a blue box at coordinates (1,-1,1)
//在坐标(1,-1,1)上的蓝色box
Box box1 = new Box( new Vector3f(1,-1,1), 1,1,1);
Geometry blue = new Geometry("Box", box1);
Material mat1 = new Material(assetManager, "Common/MatDefs/Misc/Unshaded.j3md");
mat1.setColor("Color", ColorRGBA.Blue);
blue.setMaterial(mat1);
// create a red box straight above the blue one at (1,3,1)
//在坐标(1,3,1)上的红色box
Box box2 = new Box( new Vector3f(1,3,1), 1,1,1);
Geometry red = new Geometry("Box", box2);
Material mat2 = new Material(assetManager, "Common/MatDefs/Misc/Unshaded.j3md");
mat2.setColor("Color", ColorRGBA.Red);
red.setMaterial(mat2);
// create a pivot node at (0,0,0) and attach it to root
//在(0,0,0)上创建的一个新的节点,并附加到根节点
Node pivot = new Node("pivot");
rootNode.attachChild(pivot);
// attach the two boxes to the *pivot* node!
//两个box附加到pivot节点
pivot.attachChild(blue);
pivot.attachChild(red);
// rotate pivot node: Both boxes have rotated!
//两个box都旋转,嘿嘿,这就是父节点的作用
pivot.rotate( 0.4f , 0.4f , 0.0f );
}
}
注:还有关于剔除渲染的操作,也是对节点作用的说明
posted on 2011-08-12 11:24 苏桓(osbert) 阅读(305) 评论(0) 编辑 收藏 举报