Verstehen BufferStrategy

Ich bin Art von neuen zu java. Ich möchte ein Spiel machen. Nach viel Forschung, ich kann nicht verstehen, wie bufferstrategy funktioniert..
Ich kenne die Grundlagen.. es schafft eine off-screen-image, die Sie später in Ihrem windows-Objekt.. ich habe diese

public class Marco extends JFrame {
    private static final long serialVersionUID = 1L;
    BufferStrategy bs; //create an strategy for multi-buffering.

    public Marco() {
       basicFunctions(); //just the clasics setSize,setVisible,etc
       createBufferStrategy(2);//jframe extends windows so i can call this method 
       bs = this.getBufferStrategy();//returns the buffer strategy used by this component
    }

   @Override
   public void paint(Graphics g){
      g.drawString("My game",20,40);//some string that I don't know why it does not show
      //guess is 'couse g2 overwrittes all the frame..
      Graphics2D g2=null;//create a child object of Graphics
      try{
         g2 = (Graphics2D) bs.getDrawGraphics();//this new object g2,will get the
         //buffer of this jframe?
         drawWhatEver(g2);//whatever I draw in this method will show in jframe,
         //but why??
      }finally{
         g2.dispose();//clean memory,but how? it cleans the buffer after
         //being copied to the jframe?? when did I copy to the jframe??
      }
      bs.show();//I never put anything on bs, so, why do I need to show its content??
      //I think it's a reference to g2, but when did I do this reference??
   }

   private void drawWhatEver(Graphics2D g2){
       g2.fillRect(20, 50, 20, 20);//now.. this I can show..
   }
  }

Ich weiß nicht.. ich studiert habe dies für eine lange Zeit jetzt.. und nicht mit Glück an alle.. ich weiß nicht.. vielleicht ist es alles gibt, und es ist wirklich einfach und übersichtlich, und ich bin nur zu dumm um es zu sehen..

Danke für die Hilfe.. 🙂

Schreibe einen Kommentar