Class GL2DCanvas

All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible
Direct Known Subclasses:
GL2DWindow

public class GL2DCanvas extends Canvas
En utvidgning av Canvas för att rendera grafik till enklare 2D-spel. För att lägga in i en JFrame som omsluter Canvasen

        GL2DCanvas gl2dCanvas = new GL2DCanvas(800, 576); 

        JFrame jf = new JFrame("TEST Canvas");
        jf.add(gl2dCanvas); 
        jf.setResizable(false);
        jf.pack();
        jf.setLocationRelativeTo(null);
        jf.setVisible(true);

        canvas.initRenderingMode();
 
* För att lägga in i en JFrame som en komponent som inte upptar hela fönstret.

        GL2DCanvas gl2dCanvas = new GL2DCanvas(800, 576); 

        JFrame jf = new JFrame("TEST Canvas");
        jf.add(gl2dCanvas); 
        jf.setLayout(null);
        jf.setSize(1200, 960);  
        jf.setLocationRelativeTo(null);
        jf.setVisible(true);

        canvas.initRenderingMode();
 
Author:
Henrik Bygren
See Also:
  • Constructor Details

    • GL2DCanvas

      public GL2DCanvas(int width, int height, Color bgColor)
      Konstruerar en Canvas för rendering av grafik.
      Parameters:
      width - Bredden på Canvas
      height - Höjden på Canvas
      bgColor - Canvasens bakgrundsfärg.
    • GL2DCanvas

      public GL2DCanvas(int width, int height)
      Konstruerar en Canvas för rendering av grafik.
      Parameters:
      width - Bredden på Canvas
      height - Höjden på Canvas
  • Method Details

    • initRenderingMode

      public void initRenderingMode()
      Metoden skall anropas efter det att canvasen applicerats på förälderkomponent.
    • render

      public void render(Collection<? extends Drawable> drawableList)
      Renderar en ny bild med objekt i en Collection av Drawable. Exempelvis kan ArrayList och LinkedList användas som parameter till metoden.
      Parameters:
      drawableList - Collection med objekt som implementerat Drawable
      See Also:
    • render

      public void render(Drawable[] drawableArray)
      Renderar en ny bild med objekt i en primitiv array av Drawable.
      Parameters:
      drawableArray - Array med objekt som implementerat Drawable
    • render

      public void render(Drawable drawable)
      Renderar en enskild Drawable. Kan exempelvis vara en bild som lagrats i en ImgContainer.
      Parameters:
      drawable - Bildbehållaren
    • render

      public void render(Image img, int x, int y)
      Renderar en enskild bild.
      Parameters:
      img - Bilden
      x - Bildens x-position på skärmen
      y - Bildens y-position på skärmen
    • openRender

      public void openRender(Drawable drawable)
      Renderar en enskild Drawable. Kan exempelvis vara en bild som lagrats i en ImgContainer. Skall föregås av ett anrop av metoden beginRender() för att påbörja rendering. När rendering med openRender-metoderna är klar och skall visas, skall metoden show() anropas.
      Parameters:
      drawable - Bildbehållaren
    • openRender

      public void openRender(Drawable[] drawableArray)
      Renderar en ny bild med objekt i en primitiv array av Drawable. Skall föregås av ett anrop av metoden beginRender() för att påbörja rendering. När rendering med openRender-metoderna är klar och skall visas, skall metoden show() anropas.
      Parameters:
      drawableArray - Array med objekt som implementerat Drawable
    • openRender

      public void openRender(Collection<? extends Drawable> drawableList)
      Renderar en ny bild med objekt i en Collection av Drawable. Exempelvis kan ArrayList och LinkedList användas som parameter till metoden. Skall föregås av ett anrop av metoden beginRender() för att påbörja rendering. När rendering med openRender-metoderna är klar och skall visas, skall metoden show() anropas.
      Parameters:
      drawableList - Collection med objekt som implementerat Drawable
      See Also:
    • openRender

      public void openRender(Image img, int x, int y)
      Renderar en enskild bild. Skall föregås av ett anrop av metoden beginRender() för att påbörja rendering. När rendering med openRender-metoderna är klar och skall visas, skall metoden show() anropas.
      Parameters:
      img - Bilden
      x - Bildens x-position på skärmen
      y - Bildens y-position på skärmen
    • beginRender

      public void beginRender()
      Startar renderingsläge för öppen rendering. All rendering avslutas och visas genom att anropa show() Fungerar endast tillsammans med metoderna openRender
    • show

      public void show()
      Gör grafikbufferten synlig. Anropas efter rendering på grafikobjektet som nås via metoden getGraphics2D(). Föregås av att metoden beginRender() anropas.
      Overrides:
      show in class Component
    • clearScreen

      public void clearScreen()
      Rensar bilden med bakgundsbild eller -färg.
    • getGraphics2D

      public Graphics2D getGraphics2D()
      Metoden returnerar en grafikbuffert som man kan rendera på. För att göra grafikbufferten synlig skall metoden show() anropas. Det är dock att föredra render-metoderna vid rendering
      Returns:
      Grafikbuffert att rita på
    • cameraMoveTo

      public void cameraMoveTo(double x, double y)
      Förflytta cameran till position (x,y). Detta förutsätter att bakgrunden kan vara större än skärmbredden.
      Parameters:
      x - Kamerans x-position
      y - Kamerans y-position
    • setBackground

      public void setBackground(Color color)
      Ändrar ritytans bakgrund till vald färg. Eventuell backgrundsbild plockas bort.
      Overrides:
      setBackground in class Component
      Parameters:
      color - Bakgrundsfärg
    • setBackground

      public void setBackground(String pathToImage)
      Ändrar ritytans bakgrund till vald bild.
      Parameters:
      pathToImage - Sökvägen till bilden
    • setBackground

      public void setBackground(Image image)
      Ändrar ritytans bakgrund till vald bild.
      Parameters:
      image - bilden
    • setBackground

      public void setBackground(Drawable background)
      Ändrar ritytans bakgrund till vald Drawable.
      Parameters:
      background - Bild i en instans av klassen Drawable