xrot.java
来自「用java3d做的一个粒子系统可以控制粒子运动」· Java 代码 · 共 68 行
JAVA
68 行
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 + =
减小字号Ctrl + -
显示快捷键?