um eigene Achse drehen

Status
Nicht offen für weitere Antworten.
M

Manni0001

Gast
Hallo ich habe ein großes Problem,

ich will mit der Tastatur Pfeiltasten
VK_LEFT soll der Gegenstand sich links um seine Achse drehen,
VK_RIGHT soll der Gegenstand sich rechts um seine Achse drehen.
bei meinem Code verschiebe ich den gegenstand nach links oder rechts.

Was mache ich falsch??

Code:
               while(criteria.hasMoreElements()) {
                        ev = (WakeupOnAWTEvent)criteria.nextElement();
                        AWTEv = ev.getAWTEvent();
                        for(i = 0; i < AWTEv.length; i++) {
                                KeyEv = (KeyEvent)AWTEv[i];
                                transformGroup.getTransform(trans);
                                tempTrans.setIdentity();
                                if(KeyEv.getKeyCode() == KeyEvent.VK_UP) tempTrans.setTranslation(new Vector3f(0.0f, -0.1f, 0f));
                                else if(KeyEv.getKeyCode() == KeyEvent.VK_DOWN) tempTrans.setTranslation(new Vector3f(0.0f, 1.0f, 0.0f));
                                else if(KeyEv.getKeyCode() == KeyEvent.VK_LEFT) tempTrans.rotY(Math.toRadians(-1));
                                else if(KeyEv.getKeyCode() == KeyEvent.VK_RIGHT) tempTrans.rotY(Math.toRadians(1));

                                trans.mul(tempTrans);
                                transformGroup.setTransform(trans);
                        }
                }
                wakeupOn(criterion);

Gruß Manni
 
G

Guest

Gast
Hallo,

es geht doch nur darum,

Code:
else if(KeyEv.getKeyCode() == KeyEvent.VK_LEFT) tempTrans.rotY(Math.toRadians(-1));  // hier soll sich der 
Gegenstand um seine eigene Achse drehen aber Anstatt verschiebt es sich nach Links  
else if(KeyEv.getKeyCode() == KeyEvent.VK_RIGHT) tempTrans.rotY(Math.toRadians(1)); // hier soll sich der 
Gegenstand um seine eigene Achse drehen aber Anstatt verschiebt es sich nach Rechts

also muß der Fehler an dieser stelle sein "Math.toRadians(-1)" aber ich weis nicht was ich ändern könnte.


den rest Code findest du hier

http://www.java-forum.org/de/topic51114_transformgroup-position.html



Code:
class KeyBehavior extends Behavior {
        private TransformGroup transformGroup;
        private Transform3D trans = new Transform3D(), tempTrans = new Transform3D();
        private WakeupCriterion criterion;
        private int i =  0;

        public KeyBehavior( TransformGroup tg) {
                transformGroup = tg;
        }

        public void initialize() {
                criterion = new WakeupOnAWTEvent(KeyEvent.KEY_PRESSED);
                wakeupOn(criterion);
        }

        public void processStimulus(Enumeration criteria) {
                WakeupOnAWTEvent ev;
                AWTEvent AWTEv[];
                KeyEvent KeyEv;

                while(criteria.hasMoreElements()) {
                        ev = (WakeupOnAWTEvent)criteria.nextElement();
                        AWTEv = ev.getAWTEvent();
                        for(i = 0; i < AWTEv.length; i++) {
                                KeyEv = (KeyEvent)AWTEv[i];
                                transformGroup.getTransform(trans);
                                tempTrans.setIdentity();
                                if(KeyEv.getKeyCode() == KeyEvent.VK_UP) tempTrans.setTranslation(new Vector3f(0.0f, -0.1f, 0f));
                                else if(KeyEv.getKeyCode() == KeyEvent.VK_DOWN) tempTrans.setTranslation(new Vector3f(0.0f, 1.0f, 0.0f));
                                else if(KeyEv.getKeyCode() == KeyEvent.VK_LEFT) tempTrans.rotY(Math.toRadians(-1));
                                else if(KeyEv.getKeyCode() == KeyEvent.VK_RIGHT) tempTrans.rotY(Math.toRadians(1));

                                trans.mul(tempTrans);
                                transformGroup.setTransform(trans);
                        }
                }
                wakeupOn(criterion);
        }
}

danke Manni
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
N RotationInterpolator um die eigene X-Achse Spiele- und Multimedia-Programmierung 2
C Eigene Minecraft Enchantements Spiele- und Multimedia-Programmierung 1
C Eine eigene 3d Engine : Shader - aber wie ? Spiele- und Multimedia-Programmierung 2
S Eigene Klasse vec_t - 3 oder 4 Einheiten für x, y, z und w Spiele- und Multimedia-Programmierung 11
J Minecraft Eigene Buttons "bauen" á la MineCraft Spiele- und Multimedia-Programmierung 11
N Eigene Java 3D Engine erstellen. Spiele- und Multimedia-Programmierung 11
M Eigene Renderengine ohne Java3D,etc. Spiele- und Multimedia-Programmierung 19
D JOGL2 eigene mipmaps laden Spiele- und Multimedia-Programmierung 13
Steev Eigene Repaint-Logik Spiele- und Multimedia-Programmierung 17
P eigene Konsole Spiele- und Multimedia-Programmierung 6
M Eigene Strings zeichnen Spiele- und Multimedia-Programmierung 4
R Eigene geometrische Formen Spiele- und Multimedia-Programmierung 2
B j3d Rotation um mehr als eine Achse Spiele- und Multimedia-Programmierung 9
T [gelöst] Java3D: Unerwünschte Rotation um die 3.Achse vermeiden? Spiele- und Multimedia-Programmierung 3
J [JOGL] Kamera zentrieren über Achse Spiele- und Multimedia-Programmierung 4
C Java3D Rotation um einen Punkt (y-achse) Spiele- und Multimedia-Programmierung 2
J Hilfe: Rotation X und Y Achse (Java3d) Spiele- und Multimedia-Programmierung 12
M 2D - Bild um y-Achse drehen Spiele- und Multimedia-Programmierung 9
S Drehen nur um x-Achse Spiele- und Multimedia-Programmierung 5
S Rotation um verschobene Achse Spiele- und Multimedia-Programmierung 7
A "Textur-Achse" drehen. Spiele- und Multimedia-Programmierung 2
Tr3kk3r Kamera nur um x und y, nicht um z achse rotieren Spiele- und Multimedia-Programmierung 2
G Slick2D SpriteSheet drehen in kuckrichtung Spiele- und Multimedia-Programmierung 1
M Kann nur nach rechts drehen Spiele- und Multimedia-Programmierung 7
Androbin mehr-dimensionale(n) Array(s) "drehen" Spiele- und Multimedia-Programmierung 8
A AffineTransform: Nach Drehen verschieben Spiele- und Multimedia-Programmierung 2
L Bild in Richtung Maus drehen Spiele- und Multimedia-Programmierung 4
Creylon [LWJGL] 2D Sprite Rotieren/Drehen Spiele- und Multimedia-Programmierung 6
E [LWJGL] Karusell, mehrere Objekte drehen sich um einen Mittelpunkt Spiele- und Multimedia-Programmierung 31
R Drehen eines Bildes relativ zur Mauszeigerposition Spiele- und Multimedia-Programmierung 2
A Drehen von einem Image Spiele- und Multimedia-Programmierung 4
CookieSoft 3D Würfel will sich nicht drehen! [LWJGL] Spiele- und Multimedia-Programmierung 2
T JOGL 2D Objekte drehen rotate Spiele- und Multimedia-Programmierung 4
F 2D Shooter (von oben) Kugelberechnung und drehen der Figur Spiele- und Multimedia-Programmierung 17
R Koordinaten, Breite, Höhe nach drehen berechnen? Spiele- und Multimedia-Programmierung 3
T [java3d] Figur drehen Spiele- und Multimedia-Programmierung 16
B vertikal schreiben oder eine Bilddatei drehen? Spiele- und Multimedia-Programmierung 11
B Bounds drehen sich nicht mit.... Spiele- und Multimedia-Programmierung 7
P Rechteck drehen Spiele- und Multimedia-Programmierung 3
P 2D Bild drehen Spiele- und Multimedia-Programmierung 4
N Rundenstrategiespiel - Problem beim Drehen eines Bildes Spiele- und Multimedia-Programmierung 18
Z Obejkt drehen & vorwärts bewegen Spiele- und Multimedia-Programmierung 9
K Bilder drehen Spiele- und Multimedia-Programmierung 5
R Bild drehen Spiele- und Multimedia-Programmierung 24
X Bild auf aktueller position drehen Spiele- und Multimedia-Programmierung 2

Ähnliche Java Themen


Oben