Tetris mit Images anstatt gezeichneten Rechtecken

Status
Nicht offen für weitere Antworten.

egophil

Neues Mitglied
Hallo,
ich versuche in Java ein kleines Tetrisspiel dahindgehend zu erweitern, dass es anstatt gezeichneten Rechteckfiguren Grafiken verwendet. Ich weiß leider nicht wie man das Image einbinden muss, so dass das Programm korrekt läuft.
Code:
public void paint(Graphics g)
  {
  
    Image img;
    img = getToolkit().getImage("pic.jpg");
    
    if (goff==null && d.width>0 && d.height>0)
    {
      ii = createImage(d.width, d.height);
      goff = ii.getGraphics();
    
    }
    if (goff==null || ii==null)
      return;

    goff.setColor(background);
    goff.fillRect(0, 0, d.width, d.height);

    if (ingame)
      playGame();
    else
      showIntro();
    showScore();

    g.drawImage(ii, 0, 0, this);
  }
 



  public void drawBlocks()
  {
    short x,y;

    for (x=0; x<xblocks; x++)
    {
      for (y=0; y<yblocks; y++)
      {
        goff.setColor(blocks[screendata[x][y]]);
        goff.drawRect(x*blocksize+barwidth,y*blocksize, 15, 15);   
      }
    }
  }
im letzteren Abschnitt muss ja das Image geladen werden anstatt des Rechtecks aber ein drawImage(img,0,0,this)
wie es sonst üblich ist funktioniert hier nicht, bzw. weiß ich nicht wie es geht. Gibt es Ideen oder Vorschläge?
Vielen Dank im Voraus
Phil
 

Quaxli

Top Contributor
Woher nur? ;)

Es sollte machbar sein. Allerdings muß man bei Images dann auf pixelgenaue Kollision wert legen. Das ist insgesamt wohl etwas aufwändiger, als wenn man es mit gezeichneten Rechtecken löst (die von Rectangle erben) und wo man eine Kollission recht leicht auskaspern kann.
 

André Uhres

Top Contributor
Nur so nebenbei: ich hab ein Beispiel, da wird jede Form durch ein "drehbares" Point[] dargestellt,
wobei jeder Point ein Teilquadrat der Form darstellt. Die Kollisionsberechnung ist dann komplett von den "Pixels" getrennt.
Das "Color[][] boardArray" enthält für jeden Punkt entweder null (Quadrat ist frei) oder die entsprechende formabhängige Farbe.
In paintComponent wird dann dieses "boardArray" einfach in zwei verschachelten for-Schleifen gemalt.
Wenn (color != null), dann wird das entsprechende Quadrat so gemalt:
g.setColor(color);
g.fillRect(..);
und noch ein Rahmen drumherum.
(Theoretisch könnte man aber auch jedes Quadrat mit "g.drawImage(..)" malen)
 

Quaxli

Top Contributor
Das klingt doch gut. Ich denke man muß da schon etwas abstrakt an die Sache rangehen, damit man es letzten Endes einfacher hat. Wenn man nur Images aufeinander stapelt, wird es auch mit der Ermittlung fertiger Reihen zu schwierig.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Tetris Vorgehensweise Spiele- und Multimedia-Programmierung 15
T Tetris Spiele- und Multimedia-Programmierung 3
E Tetris: Rotation der Tetrominos Spiele- und Multimedia-Programmierung 4
L Abfrage-Fehler? - Hilfe bei Tetris Spiele- und Multimedia-Programmierung 9
R Tetris Rotation? Spiele- und Multimedia-Programmierung 7
Developer_X Java Tetris-Umsetztungs Problem Spiele- und Multimedia-Programmierung 30
T 3D-Tetris Feld neuzeichnen ohne neue Branchgroup Spiele- und Multimedia-Programmierung 18
hdi wer hat lust auf ne runde tetris ! Spiele- und Multimedia-Programmierung 17
Chris_1980 J-Tetris ist fertig Spiele- und Multimedia-Programmierung 7
E Tetris? Spiele- und Multimedia-Programmierung 8
G Tetris Spiele- und Multimedia-Programmierung 9
K Video aus JavaFX Images generieren Spiele- und Multimedia-Programmierung 2
Bananabert Spiel Renderer Images und Strings Spiele- und Multimedia-Programmierung 4
J Images laden in static Methode Spiele- und Multimedia-Programmierung 8
F ressourcensparendes Anlegen von Images Spiele- und Multimedia-Programmierung 3
Gossi Probleme beim Laden der Images aus dem "Tutorial für Java-Spiele" Spiele- und Multimedia-Programmierung 4
M Suche Schach Images Spiele- und Multimedia-Programmierung 5
radiac Netbeans Build Project... keine Images dabei??? Spiele- und Multimedia-Programmierung 9
J Rotieren eines 2D Images endet in Java heap space Error Spiele- und Multimedia-Programmierung 15
M Images/Sounds für Spiele Spiele- und Multimedia-Programmierung 3
D collision mit images und pixelgrabber Spiele- und Multimedia-Programmierung 12
S Images verzerren Spiele- und Multimedia-Programmierung 2
S Einzelpunkte bei Images Spiele- und Multimedia-Programmierung 2
C Images kolorieren und einfaden Spiele- und Multimedia-Programmierung 3

Ähnliche Java Themen


Oben