Bewegtes Objekt soll sich um eine Parallele bewegen

MarshallMathers

Lt. Commander
Registriert
Sep. 2016
Beiträge
1.250
Also,
Ich mache eine 3D-Umgebung mit GLOOP, in der sich ein Mensch nach vorne bewegt. Nun möchte ich eine Animation dafür bauen, die die Arme korrekt nach vorne und nach hinten schwenken lässt. Dafür habe ich folgenden Code:

Java:
public void walkingAnimation() {
        Sys.warte(25);
        if (geradeVorwaerts == true) {
            animaForward();
        } else if (geradeVorwaerts == false) {
            animaBackward();
        }
    }
    
    public void animaForward() {
        if (timer < 14) {
            timer++;
            double test = arm.gibZ();
            arm.drehe(5, 0, 0, -1,0,0);
            bein.drehe(1,0,0);
            arm1.drehe(1,0,0);
            bein1.drehe(-1,0,0);
        } else {
            geradeVorwaerts = false;
            timer = 0;
        }
    }
    
    public void animaBackward() {
        if (timer < 14) {
            timer++;
            arm.drehe(5, 0, 0, 1,0,0);
            bein.drehe(-1,0,0);
            arm1.drehe(-1,0,0);
            bein1.drehe(1,0,0);
        } else {
            geradeVorwaerts = true;
            timer = 0;
        }
    }

Das Problem ist, dass der Arm verrückt spielt, wenn die Figur sich nach vorne bewegt.
Was soll ich tun? Bei weiteren Fragen meldet euch bitte.
Mfg Marshall
 
Was ist denn "verrückt spielt"? Dreht der sich permanent, schlenkert er wild mit den Armen herum oder, oder...?
 
Zweiteres. Wenn er still steht, also sich nicht nach vorne entlang der z-Achse bewegt, dreht sich der Arm korrekt.
Ich habe das Gefühl, ich müsste die Koordinaten, die für die Parallele angegeben sind während der Laufzeit aktualisieren, aber das funktioniert ebenfalls nicht, oder ich mache es nicht richtig.
 
Zurück
Oben