Quaxli Tutorial, Rotorblätter bewegen sich nicht mehr

IamArctic

Mitglied
Hey, bin gerade dabei das "Quaxli Spiele Tutorial" nach zu programmieren, bis ich bemerkt habe das die Rotorblätter nicht mehr rotieren. Am Anfang hat alles geklappt und gegen Ende ist mir das wieder aufgefallen. Bin den Code zig Male durchgegangen, konnte aber nichts finden. Weiß wer woran es liegen könnte ?
Java:
private void doInitializations() {
        
        BufferedImage[] heli  = this.loadPics("pics/heli.gif", 4);
        rocket     = loadPics("pics/rocket.gif", 8);
        background = loadPics("pics/background.jpg", 1)[0];
        explosion  = loadPics("pics/explosion.gif", 5);
        
        
        last   = System.nanoTime();
        gameover = 0;

        actors = new Vector<Sprite>();
        copter = new Heli(heli, 400, 300, 100, this);
        actors.add(copter);

        createClouds();

        timer = new Timer(3000, this);
        timer.start();

        if(!once) {
            once = true;
            Thread t = new Thread(this);
            t.start();
        }
    }

    private BufferedImage[] loadPics(String path, int pics) {

        BufferedImage[] anim = new BufferedImage[pics];
        BufferedImage source = null;

        URL pic_url = getClass().getClassLoader().getResource(path);

        try {
            source = ImageIO.read(pic_url);
        } catch(IOException e) {

        }

        for (int x = 0; x < pics; x++) {
            anim[x] = source.getSubimage(x*source.getWidth()/pics, 0,
                    source.getWidth()/pics, source.getHeight());
        }

        return anim;
    }
 
So an dem Code kann ich nichts sehen. Der Ausschnitt ist auch nicht gerade gut. Klappt es denn mit dem Laden der Einzelbilder? Gibt es Exceptions? Wenn das Laden klappt, dann ist es evtl. der Thread selbst, aber die run Methode hast Du nicht gezeigt. Ich nehme mal an, dass er in der run methode zwischen den Bildern für den Heli wechselt...
 
Rotiert nicht der Befehl
Java:
copter = new Heli(heli, 400, 300, 100, this);
bereits durch? Also das hier alle 100ms durchgewechselt wird
 
Das erstellt ja nur die Instanz von Heli. Wenn der Heli selbst irgendwas macht, dann müsste man das in der Klasse Heli sehen. Kann natürlich sein, dass da irgendwas drin ist, aber die Bilder scheinen ja in einer anderen Klasse zu liegen. Daher würde ich das bezweifeln. Oder hast Du da Code aus unterschiedlichen Klassen zusammen kopiert?

Du zeigst aus meiner Sicht auf jeden Fall zu wenig Code um Dir irgendwie helfen zu können.
 
Habe den Fehler gefunden, und wie du vermutest hast lag es an meiner "run" Methode. Hab versehentlich die Variable 2 mal initialisiert was wohl den Fehler verursacht hat. Danke für die Unterstützung 🙂
 

Neue Themen


Zurück
Oben