/*--------------------*/ /* Ja84Behavior.java */ /*--------------------*/ import java.awt.event.*; import java.awt.AWTEvent; import java.util.Enumeration; //Enumeration import javax.media.j3d.*; //Java3d import javax.vecmath.*; //Point3f,Color3f public class Ja84Behavior extends Behavior{ private WakeupCondition wakeupConditon; private TransformGroup vpTrans; private Transform3D trans = new Transform3D(); private float dist = 0.0f; public Ja84Behavior(TransformGroup vpTrans){ this.vpTrans = vpTrans; //変更対象の幾何ノード } public void initialize(){ WakeupCriterion[] event = new WakeupCriterion[1]; event[0] = new WakeupOnElapsedFrames(0); wakeupConditon = new WakeupOr(event); wakeupOn(wakeupConditon); } public void processStimulus(Enumeration enumeration){ processMyFrameEvent(); //フレーム経過 wakeupOn(wakeupConditon); } private void processMyFrameEvent(){ dist=(dist+0.3f)%48.0f; //視点の移動量 trans.set(new Vector3f(0.0f, 0.0f, -dist)); vpTrans.setTransform(trans); } }