1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
| public class MouseBeh extends Behavior{
private TransformGroup TG;
private Transform3D rot=new Transform3D();
private Transform3D rotation=new Transform3D();
private Vector3f translation=new Vector3f();
private WakeupOnAWTEvent mouseEvent=new WakeupOnAWTEvent(MouseEvent.MOUSE_MOVED);
private MouseEvent evt;
private Robot rr;
MouseBeh(TransformGroup TG)
{
this.TG=TG;
try{
rr = new Robot();
}catch(Exception e){
javax.swing.JOptionPane.showMessageDialog(null, "Erreur: " + e.getMessage() + " -- " + e.getCause());
}
}
public void initialize()
{
this.wakeupOn(mouseEvent);
}
public void processStimulus(Enumeration criteria)
{
AWTEvent events[]=mouseEvent.getAWTEvent();
rot.setIdentity();
TG.getTransform(rotation);
evt = (MouseEvent)events[0];
//Formule bidon, juste pour avoir un résultat quelconque
rot.rotX(Math.toRadians(evt.getXOnScreen()-500)/200);
rot.rotY(Math.toRadians(evt.getYOnScreen()-500)/200);
try{
rr.mouseMove(500, 500);
}catch(Exception e){
javax.swing.JOptionPane.showMessageDialog(null, "Erreur: " + e.getMessage() + " -- " + e.getCause());
}
rotation.mul(rot);
TG.setTransform(rotation);
this.wakeupOn(mouseEvent);
}
} |
Partager