📄 xrot.java
字号:
import javax.media.j3d.*;import javax.vecmath.*;import java.util.Enumeration;import java.awt.event.*;/* need to make sure you click to get focus. */final class XRot extends TransformGroup { private Transform3D transform = new Transform3D(); public XRot(){ addChild(new Rotater(this)); } final class Rotater extends Behavior { final WakeupCondition w = new WakeupOnAWTEvent(KeyEvent.KEY_PRESSED); public Rotater(TransformGroup tg){ tg.setCapability(tg.ALLOW_TRANSFORM_WRITE); } public void initialize(){ setSchedulingBounds(new BoundingSphere(new Point3d(),1000)); wakeupOn(w); } public void processStimulus(Enumeration criteria){ keyPress((KeyEvent)((WakeupOnAWTEvent)criteria.nextElement()).getAWTEvent()[0]); wakeupOn(w); } void keyPress(KeyEvent e){ int key = e.getKeyCode(); if(key==e.VK_UP){ System.out.println("up"); Transform3D t = new Transform3D(); t.rotX(-Math.PI/180*5); transform.mul(t); setTransform(transform); } else if(key==e.VK_DOWN){ System.out.println("down"); Transform3D t = new Transform3D(); t.rotX(Math.PI/180*5); transform.mul(t); setTransform(transform); } } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -