# GetBufferStrategy-Methode wird nicht angezeigt



## SquareUnicorn (10. Aug 2017)

Hallo an alle Forummitglieder!
Ich bin ein Java-Anfänger und versuche momentan mein erstes kleines Spiel zu programmieren.
Um eine Game-Loop habe ich mich bereits gekümmert und dann versucht eine BufferStrategy zu initialisieren: 
BufferStrategy bs = this.getBufferStrategy();

BufferStrategy habe ich bereits importiert, allerdings wird mir die Methode getBufferStrategy beim schreiben nicht einmal vorgeschlagen und wenn ich sie ausschreibe, wird sie als ungültig angegeben ("Cannot resolve method 'getBufferStrategy()'").
Das weglassen von "this." bringt mich auch nicht weiter.
Hat jemand eine Ahnung, wie ich das beheben kann?

MfG SquareUnicorn


----------



## Flown (10. Aug 2017)

Ohne deinen Code kann man da jetzt nichts machen.


----------



## VfL_Freak (10. Aug 2017)

Moin,


SquareUnicorn hat gesagt.:


> BufferStrategy bs = this.getBufferStrategy();


tja ... 
Wenn man jetzt wüßte, worauf sich _*this*_ bezieht ... 
Wird auf jeden Fall keine solche Methode haben!

VG Klaus


----------



## SquareUnicorn (10. Aug 2017)

VfL_Freak hat gesagt.:


> Moin,
> 
> tja ...
> Wenn man jetzt wüßte, worauf sich _*this*_ bezieht ...
> ...





Flown hat gesagt.:


> Ohne deinen Code kann man da jetzt nichts machen.




```
package de.unicorn;

import javafx.scene.canvas.Canvas;
import java.awt.Image;
import java.awt.image.BufferStrategy;
import java.nio.Buffer;

/**
* Created by Leo Runkewitz on 09.08.2017.
*/
public class Main extends Canvas implements Runnable
{
    private boolean running = false;
    private Thread thread;

    public Main() {
        new Window(600,600,"Saas", this);
    }

    public synchronized void start() {
        thread = new Thread(this);
        thread.start();
        running = true;
    }

    public synchronized void stop() {
        try {
            thread.join();
            running = false;
        } catch (Exception ex) {
            ex.printStackTrace();
        }

    }

    //Gameloop
    public void run() {
        long lastTime = System.nanoTime();
        double amountOfTicks = 60.0;
        double ns = 1000000000 / amountOfTicks;
        double delta = 0;
        long timer = System.currentTimeMillis();
        int frames = 0;
        while(running) {
            long now = System.nanoTime();
            delta += (now - lastTime) / ns;
            lastTime = now;
            while(delta >= 1) {
                tick();
                delta--;
            }
            if(running)
                render();
            frames++;

            if(System.currentTimeMillis() - timer > 1000) {
                timer += 1000;
                System.out.println("FPS:" + frames);
            }
        }
        stop();
    }

    private void tick() {

    }

    private void render() {
            BufferStrategy bs = this.getBufferStrategy();
    }

    public static void main(String[] args) {
        new Main();
    }



}
```


----------



## Flown (10. Aug 2017)

JavaFx Canvas hat sowas wie eine BufferStrategy nicht!


----------



## VfL_Freak (10. Aug 2017)

Moin,
ja, hatte sowas befürchtet 
Ist Dir die Bedeutung des _*this*_ bewußt und weißt Du, was Du damit referenzierst??

VG Klaus

EDIT: Mist, schon wieder zu spät


----------



## SquareUnicorn (10. Aug 2017)

Flown hat gesagt.:


> JavaFx Canvas hat sowas wie eine BufferStrategy nicht!


Oh ich hatte also das falsche Canvas importiert! Mit dem anderen aus java.awt funktioniert Alles reibungslos. Dankeschön!


----------

