?? simplekeybhv.java
字號:
//SimpleKeyBhv.java
//演示如何使用KeyNavigatorBehavior對象
import java.applet.Applet;
import java.awt.BorderLayout;
import java.awt.Frame;
import com.sun.j3d.utils.applet.MainFrame;
import com.sun.j3d.utils.geometry.ColorCube;
import com.sun.j3d.utils.universe.*;
import javax.media.j3d.*;
import javax.vecmath.*;
import java.awt.event.*;
import java.awt.AWTEvent;
import java.util.Enumeration;
import com.sun.j3d.utils.behaviors.keyboard.*;
public class SimpleKeyBhv extends Applet {
public BranchGroup createSceneGraph(SimpleUniverse su) {
BranchGroup objRoot = new BranchGroup();
// 創建根分支節點
objRoot.addChild(new Axis());
// 添加x,y,z坐標軸
objRoot.addChild(new ColorCube(0.4));
// 添加彩色六面體
// 添加KeyNavigatorBehavior對象
Vector3f translate = new Vector3f();
Transform3D T3D = new Transform3D();
TransformGroup vpTrans = su.getViewingPlatform().getViewPlatformTransform();
// 獲得觀察者所處的TransformGroup對象
translate.set( 0.0f, 0.0f, 5.0f);
T3D.setTranslation(translate);
vpTrans.setTransform(T3D);
// 將觀察者擺放到(0,0,3)處
KeyNavigatorBehavior keyNavBeh = new KeyNavigatorBehavior(vpTrans);
// 添加KeyNavigatorBehavior對象
keyNavBeh.setSchedulingBounds(new BoundingSphere(new Point3d(),1000.0));
// 設置KeyNavigatorBehavior對象的作用范圍
objRoot.addChild(keyNavBeh);
// 添加到場景中接收輸入
objRoot.compile();
return objRoot;
}
public SimpleKeyBhv() {
setLayout(new BorderLayout());
Canvas3D canvas3D = new Canvas3D(null);
add("Center", canvas3D);
SimpleUniverse simpleU = new SimpleUniverse(canvas3D);
BranchGroup scene = createSceneGraph(simpleU);
simpleU.addBranchGraph(scene);
}
public static void main(String[] args) {
Frame frame = new MainFrame(new SimpleKeyBhv(), 256, 256);
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -