Hi,
ich versuche mir gerade einen Sprite3D zusammenzubauen, aber die Rotation funktioniert nicht.
Hier der Code:
Bin für jede Hilfe dankbar!
mfg
jagdfalke
ich versuche mir gerade einen Sprite3D zusammenzubauen, aber die Rotation funktioniert nicht.
Hier der Code:
Code:
package tour3D;
import javax.vecmath.*;
import javax.media.j3d.*;
public class Sprite3D {
private Shape3D shape;
private TransformGroup moveTG, rotateTG;
public Sprite3D(Shape3D shape) {
this.shape = shape;
moveTG = new TransformGroup();
rotateTG = new TransformGroup();
moveTG.addChild(rotateTG);
rotateTG.addChild(shape);
}
public TransformGroup getTransformGroup() {
return moveTG;
}
public void move(Vector3f move) {
Transform3D newT3D = new Transform3D();
newT3D.setTranslation(move);
Transform3D t3D = new Transform3D();
moveTG.getTransform(t3D);
t3D.mul(newT3D);
moveTG.setTransform(t3D);
}
public void rotate(int axis, int change) {
Transform3D t3d = new Transform3D();
rotateTG.getTransform(t3d);
Transform3D rotT3D = new Transform3D();
switch(axis) {
case 0: rotT3D.rotX(Math.toRadians(change));
case 1: rotT3D.rotY(Math.toRadians(change));
case 2: rotT3D.rotZ(Math.toRadians(change));
}
t3d.mul(rotT3D);
rotateTG.setTransform(t3d);
}
}
Bin für jede Hilfe dankbar!
mfg
jagdfalke