Probleme bei Breakout - Brick kollision

sdx677

Mitglied
Moin,

ich bin gerade dabei Java zu lernen und will BreakOut programmieren (das Spiel, das ungefähr alle Anfänger versuchen).

Ich scheitere gerade total an der Kollisionserkennung von Ball und Steinen, und bin dringend auf der Suche nach Tips.

Meine Vorgehensweise: Ich habe über das Spielfeld ein "Raster" gespannt.Dieses Raster habe ich nun als Array von Nullen und Einsen, wobei Null für "kein Stein" und Eins für "Stein" steht.
Der Nachteil ist, dass ich so nicht von jedem Stein die direkte Position habe und deshalb habe ich kein Plan wie ich die Kollisionserkennung angehen soll.Hat jemand nen Vorschlag für mich?

LG
 

InfectedBytes

Top Contributor
natürlich hast du von jedem Stein direkt die position. Dein Zeilen/Spaltenindex ist deine jeweilige Koordinate. Ggf noch mit einem bestimmten faktor multipliziert.
Umgekehrt, kannst du eben auch aus der position des Balls, die Koordinate in deinem Raster berechnen und somit eben auf Kollision schließen.
 

Jardcore

Top Contributor
Hey sdx677,

um auf InfectedBytes Beitrag etwas genauer einzugehen.

Spielen wir mal ein Szenario durch:

Du hast ein Ball Objekt mit einer X und Y Koordinate (x:10, y:30)
Du hast ein zweidimensionales 4x4 Boolean Array für die Belegung der Steine boolean[4][4] steine;
Dein Spielfeld ist 100 x 100 groß.

Wenn du jetzt wissen möchtest ob dein Ball ein Stein trifft kannst du das mathematisch wie folgt lösen:

Zuerst nimmst du die Koordinate deines Balls und dividierst sie durch die jeweilige Größe deines Spielfelds.
Danach multiplizierst du mit der jeweiligen Achse deines "steine" Arrays.
Anschließend kannst du prüfen ob dein Ball einen Stein getroffen hat.

Java:
public class Ball {
    private int x;
    private int y;

    public int getX() {
        return x;
    }

    public int getY() {
        return y;
    }
}
Java:
//pseudocode
private boolean[][] steine = new boolean[4][4];
private static final int SPIELFELD_WIDTH = 100;
private static final int SPIELFELD_HEIGHT = 100;
private Ball ball;

public void collisionDetection() {
    // Ball = x: 10, y: 30;

    int xIndex,yIndex;

    xIndex = (int) (ball.getX() / SPIELFELD_WIDTH * steine.length); //0.4 ==> index 0
    yIndex = (int) (ball.getY() / SPIELFELD_HEIGHT * steine[0].length); //1.2 ==> index 1

    if(steinImWeg(xIndex, yIndex) {
        steine[xIndex][yIndex] = false;
    }
}

private boolean steinImWeg(int x, int y) {
    return steine[x][y];
}

Durch einen (int) cast bekommst du dann den x und y Index in dem sich dein Ball derzeit befindet.

Die Überlegung ist gerade vollständig aus meinem Kopf gekommen, deswegen können noch ein paar Fehler vorkommen.
Man muss vor Allem noch die Größe des Balles mit einberechnen.

Beste Grüße,
Jar
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
E Scaling Probleme Spiele- und Multimedia-Programmierung 6
J Probleme bei Pong Spiele- und Multimedia-Programmierung 9
D Java Bomberman Probleme java.lang.NullPointerException Spiele- und Multimedia-Programmierung 1
J YoutubeAPI Livestream probleme Spiele- und Multimedia-Programmierung 3
G [LibGDX] Button Klick Probleme Spiele- und Multimedia-Programmierung 1
T Probleme mit JButton Spiele- und Multimedia-Programmierung 5
T Probleme bei "Pixel-Fighting"-Spiel: Unausgewogene Mannschaften??? Spiele- und Multimedia-Programmierung 4
P Probleme mit VLCJ Spiele- und Multimedia-Programmierung 0
F Probleme bei der Soundwiedergabe Spiele- und Multimedia-Programmierung 0
S 2D-Render Probleme LWJGL 2 (Java) Spiele- und Multimedia-Programmierung 1
F BlueJ Ufospiel Probleme Spiele- und Multimedia-Programmierung 1
B Probleme mit AndEngine in Android Spiele- und Multimedia-Programmierung 1
M 2048, 3 kleine Probleme Spiele- und Multimedia-Programmierung 4
A Probleme mit Darstellung von Umgebungen mittels mehrdimensionaler Arrays Spiele- und Multimedia-Programmierung 8
J Java Game performance Probleme Spiele- und Multimedia-Programmierung 7
J Perfomance Probleme beim eigenen Editor Spiele- und Multimedia-Programmierung 1
K Probleme beim kompilieren von javakara Spiele- und Multimedia-Programmierung 10
Q LWJGL - Alpha-Probleme Spiele- und Multimedia-Programmierung 2
M Point & Click Thread Probleme Spiele- und Multimedia-Programmierung 20
K Probleme mit .jar Spiele- und Multimedia-Programmierung 12
L Probleme beim kompilieren von javakara Spiele- und Multimedia-Programmierung 3
D Probleme mit der Runnable jar Datei Spiele- und Multimedia-Programmierung 3
D Probleme mit objekt initializirung mit Mouselistener Spiele- und Multimedia-Programmierung 10
Black_ixx Hintergrund & Koordinaten Probleme Spiele- und Multimedia-Programmierung 2
B Probleme mit Texturen Spiele- und Multimedia-Programmierung 7
Maxim6394 Probleme bei Sidescroller Spiele- und Multimedia-Programmierung 5
R Probleme mit JPanel!KeyListener geht nicht Spiele- und Multimedia-Programmierung 6
Maxim6394 [Java3D] Probleme bei Kollision Spiele- und Multimedia-Programmierung 7
Maxim6394 [Java3D] Probleme mit KeyFrame Animationen Spiele- und Multimedia-Programmierung 9
T Probleme mit Skysphere in Opengl Spiele- und Multimedia-Programmierung 4
B Probleme mit redraw() Spiele- und Multimedia-Programmierung 3
Gossi Quaxlis 2D Tutorial....Probleme nach hinzufügen der Kollisionsabfrage Spiele- und Multimedia-Programmierung 16
Gossi Probleme beim Laden der Images aus dem "Tutorial für Java-Spiele" Spiele- und Multimedia-Programmierung 4
S Probleme mit Tutorial Spiele- und Multimedia-Programmierung 3
T Probleme mit AffineTransform Spiele- und Multimedia-Programmierung 13
W Probleme mit Mouselook Spiele- und Multimedia-Programmierung 2
B GameGrid Probleme mit mehrere Actors Spiele- und Multimedia-Programmierung 5
B GameGrid Probleme mit mehrere Actors Spiele- und Multimedia-Programmierung 2
M [Spiel] Kartenspiel Leben und Tod Tips und Probleme Spiele- und Multimedia-Programmierung 7
G [Java3D] Probleme bei Animation Spiele- und Multimedia-Programmierung 4
S Probleme mit JMenu in einem JFrame mit BufferStrategy Spiele- und Multimedia-Programmierung 2
Steev Probleme mit Kameraausrichtung bei ISO-Map Spiele- und Multimedia-Programmierung 3
R MediaPlayer macht Probleme Spiele- und Multimedia-Programmierung 2
N Jogl Probleme mit dem Buffer beim laden einer Textur Spiele- und Multimedia-Programmierung 2
prakdi Probleme mit Quaxlis tutorial Spiele- und Multimedia-Programmierung 5
D Java Pong Probleme Spiele- und Multimedia-Programmierung 7
T Java Sound Probleme Spiele- und Multimedia-Programmierung 8
P probleme mit key event Spiele- und Multimedia-Programmierung 11
T Bekanntes Heli Spiel -> Aber Probleme damit Spiele- und Multimedia-Programmierung 30
S Probleme mit Thread beim Streaming Spiele- und Multimedia-Programmierung 1
O Ampel - Probleme mit der Farbgebung Spiele- und Multimedia-Programmierung 16
F Probleme bei Bewegung Spiele- und Multimedia-Programmierung 7
P Probleme mit Vista und JOGL Spiele- und Multimedia-Programmierung 2
P Probleme mit Wolkenbewegung Spiele- und Multimedia-Programmierung 5
W Probleme mit dem setTextureCoordinate Spiele- und Multimedia-Programmierung 3
D Probleme beim Download von GIF-Bildern Spiele- und Multimedia-Programmierung 4
S Probleme mit dem Licht und dem KeyListener Spiele- und Multimedia-Programmierung 2
L Probleme Bei Pong Programmierung Spiele- und Multimedia-Programmierung 2
D Probleme bei ATI Karten bekannt? Spiele- und Multimedia-Programmierung 4
H Probleme bei Rotation Spiele- und Multimedia-Programmierung 9
X Probleme. Spiele- und Multimedia-Programmierung 2
E Probleme mit Kollisionserkennung ! Spiele- und Multimedia-Programmierung 2
F Probleme mit selbsterstelltem transparenten PNG Spiele- und Multimedia-Programmierung 5
S probleme mit material Spiele- und Multimedia-Programmierung 2
W Probleme beim entfernen von Childs im HauptSceneGraph Spiele- und Multimedia-Programmierung 8
N Pong - noch 2 kleinere Probleme Spiele- und Multimedia-Programmierung 16
M Probleme mit WaveFront-Object - Datei Spiele- und Multimedia-Programmierung 7
B Probleme beim zeichnen Spiele- und Multimedia-Programmierung 15
D Gomoku --- Probleme bei Instanzierung Spiele- und Multimedia-Programmierung 2
G Probleme beim installieren java 3d linux Spiele- und Multimedia-Programmierung 4
G Sound Probleme Spiele- und Multimedia-Programmierung 2
S Probleme mit Canvas! Spiele- und Multimedia-Programmierung 2
S Jump'n'Run: Probleme mit Kollision Spiele- und Multimedia-Programmierung 13
C Probleme mit Java3D (sun.awt.DrawingSurface) in Java 5 Spiele- und Multimedia-Programmierung 10
R Probleme mit Sound in Applikation. HILFE Spiele- und Multimedia-Programmierung 5
N Probleme mit View Spiele- und Multimedia-Programmierung 3
V Basisprinzipien Breakout-Spiel Spiele- und Multimedia-Programmierung 8
P Breakout Spiele- und Multimedia-Programmierung 19
G Breakout-Klon (Applet!) Spiele- und Multimedia-Programmierung 18
L Abprallbedingung bei Breakout Spiele- und Multimedia-Programmierung 6

Ähnliche Java Themen

Neue Themen


Oben