Buggy Kollisionsabfrage

Status
Nicht offen für weitere Antworten.

gieser

Mitglied
Hi Leute,
ich hab vor ebbes längerer Zeit mal ein Flash-Game im internet gefunden und wollte das jetzt nachprogrammieren. Mein Problem ist vor allem, dass die Kollisionsabfrage bisserl buggy ist. Mit buggy meine ich, dass manchmal die Bubbles einfach durchfliegen und nicht explodieren und ich kann mir nicht erklären warum das so ist... Vielleicht kann mir ja einer sagen warum?
Der relevante Code ist in der "BubbleList" und dort die Methode checkCollision()... könnte das eventuell am Antialiasing liegen?
Sourcecode ist in der JAR verpackt. Die JAR ist so groß, weil das Spiel auch Sounddateien im Waveformat benutzt, bin noch nicht dazugekommen JLayer einzubauen...


Download BubbleCrisis 0.3


Ach ja noch en Screenshot für euch, das Problem sieht ma leider nicht, is grade ned aufgetreten -.-
screen_m3.jpg


Spielregeln: Klick an einem Punkt um die erste Explosion zu starten. Um ein Level zu bestehen musst du eine mindestanzahl an Bubbles zerstören. Das Level ist vorbei, wenn alle Explosionen vom Bildschirm verschwunden sind. Du kannst jedes Level beliebig oft wiederholen, wenn du es nicht schaffst.


ps.: ich kann auch nur den relevanten code posten, aber dann entgeht euch die sucht :D
 

Quaxli

Top Contributor
Ruckelt bei mir ziemlich. Die Dinger explodieren teilweise auch, wenn kein Kollision stattfindet.

Ich hab' auch keine Lust alle Klassen zu durchsuchen, also poste mal die relevante Stelle.
 

Quaxli

Top Contributor
Noch eine Anmerkung zum Thema "ruckeln":

Grundsätzlich hätte ich eine Move-Methode (wie einige andere auch) ja in die Klasse Bubbles gepackt, aber sei's drum. Aber folgender Code ist u. U. für das Ruckeln (mit)verantwortlich:

Code:
                curBubble.setPosX(posX+moveX);
                curBubble.setPosY(posY+moveY);

Damit setzt Du nämlich voraus, daß jeder Durchlauf Deiner Game-Routine gleich lange ist. Dieser variiert aber abhängig davon, welche Methoden aufgerufen werden.
Um das zu vermeiden würde ich Dir folgende Vorgehensweise vorschlagen:

- innerhalb Deiner Game-Routine mißt Du mit System.currentTimeMillis(), wie lange der letzte Loop gedauert hat
- die Bewegung erfolgt dann in Abhängigkeit der benötigten Zeit, also z. B.:

Code:
    curBubble.setPos((posX+moveX)/delta));

Die Bewegungswerte müßtest Du dann u. U. noch anpassen. Dies hat aber den Vorteil, daß die Darstellung der Bewegung gleichförmiger wahrgenommen wird.
 

gieser

Mitglied
habe den fehler mittlerweile gefunden... es waren ein paar fehlende Klammern *arghs*

des weitern werde ich deine vorschläge versuchen umzusetzen ;) die meisten sachen der move()-Methode sind jetzt auch in die Klasse Bubble gewandert ;)
 
G

Gast

Gast
nach lvl 5 geht es irgendwie nicht weiter...
könntest du dann irgendwann den source nochmal posten? wäre klasse!
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
A DoodleJump programmieren: Kollisionsabfrage Spiele- und Multimedia-Programmierung 6
T Problem bei Kollisionsabfrage Spiele- und Multimedia-Programmierung 4
S Polygon Kollisionsabfrage Spiele- und Multimedia-Programmierung 2
RalleYTN Erweiterte Kollisionsabfrage Spiele- und Multimedia-Programmierung 7
S Kollisionsabfrage zwischen Rechteck und Polygon Spiele- und Multimedia-Programmierung 1
J Java Kollisionsabfrage Spiele- und Multimedia-Programmierung 21
kaoZ Kollisionsabfrage implementieren Spiele- und Multimedia-Programmierung 63
T Problem mit Kollisionsabfrage der NPC Spiele- und Multimedia-Programmierung 1
F Kollisionsabfrage bei schnellen Objekten Spiele- und Multimedia-Programmierung 2
J Problem bei pixelgenauer Kollisionsabfrage Spiele- und Multimedia-Programmierung 10
M Kollisionsabfrage Spiele- und Multimedia-Programmierung 7
N Quake - Kollisionsabfrage Spiele- und Multimedia-Programmierung 21
N Problem mit Kollisionsabfrage beim Fallen Jump & Run Spiele- und Multimedia-Programmierung 5
R Kollisionsabfrage haut nicht hin Spiele- und Multimedia-Programmierung 15
Gossi Quaxlis 2D Tutorial....Probleme nach hinzufügen der Kollisionsabfrage Spiele- und Multimedia-Programmierung 16
U Jump n' Run 2D Geometrie und Kollisionsabfrage? Spiele- und Multimedia-Programmierung 11
baddestpoet Problem mit Kollisionsabfrage Spiele- und Multimedia-Programmierung 18
D Kollisionsabfrage von 2 Autos Spiele- und Multimedia-Programmierung 2
G Kollisionsabfrage (Mario klon) Spiele- und Multimedia-Programmierung 6
masta // thomas Kollisionsabfrage - inspiriert durch "pixelgenaue Kolli Spiele- und Multimedia-Programmierung 13
gieser pixelgenaue Kollisionsabfrage der Kreise Spiele- und Multimedia-Programmierung 9
T Kollisionsabfrage von einem Stein mit einem Ball Spiele- und Multimedia-Programmierung 5
N Kollisionsabfrage Spiele- und Multimedia-Programmierung 6
D Jump and Run Game -- Kollisionsabfrage Spiele- und Multimedia-Programmierung 30
J Kollisionsabfrage Ball <-> Paddle Spiele- und Multimedia-Programmierung 2

Ähnliche Java Themen

Neue Themen


Oben