Kollisions abfrage

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Moria

Betreff: Kollisions abfrage

BeitragDi, Apr 27, 2010 22:43
Antworten mit Zitat
Benutzer-Profile anzeigen
hi

Ich habe vor 5 Tagen mit dem Programmieren angefangen und habe mal mit einen Space Shooter begonnen. Leider hänge ich gerade an der Kollisions abfrage(spieler berührt alienschiff/rakete berührt alienschiff) und komme nicht mehr weiter Confused . Ich wollte fragen wie ich am besten eine Kollisions abfrage mache.

MFG
Moria

Thunder

BeitragDi, Apr 27, 2010 22:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn du vor 5 Tagen begonnen hast, solltest du noch bei Textprogrammen sein.
Bei mir war es zumindest so. Grafik kam erst um einiges später und ich bin der Meinung, dass du dir zuerst die Grundlagen anschauen solltest.

Ansonsten. Eine Kollisionsabfrage zwischen 2 Bildern: ImagesOverlap

mfg Thunder
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit
 

Moria

BeitragMi, Apr 28, 2010 9:38
Antworten mit Zitat
Benutzer-Profile anzeigen
hi und danke für deine schnelle antwort Very Happy

ich wollte es einfach mal ausprobieren ob ich es schon schaff ein kleines space shooter zu basteln(soll ja nix welt bewegendes sein)

aber ich hätte da noch eine frage mit ImagesOverlap
muss ich bei
Code: [AUSKLAPPEN]
Until ImagesOverlap (gfxBox, boxX, boxY, 0, gfxCircle, circleX, circleY, 0)

anstatt gfxBox usw denn namen des bildes(player1 und seine koordinaten reinschreiben also x,y?)

jokerman29

BeitragMi, Apr 28, 2010 16:53
Antworten mit Zitat
Benutzer-Profile anzeigen
ist gfxbox nicht schon der name, in dem das bild gespeichert ist? also wenn nein dann sollte es so aussehen:
Code: [AUSKLAPPEN]

Until ImagesOverlap (player1, x, y, gfxCircle, circleX, circleY) ;x y sind ja die koordinaten und lass die nullen weg, das kommt sonst nicht mit den parametern hin

so sollte es funktionieren
mfg
jokerman29
WhY sO sErIoUs? LeT´s PuT a SmIlE oN tHaT fAcE!

Rechtschreibfehler sind special-effekts meiner Tastatur Wink

Raiden93

BeitragDi, Sep 28, 2010 23:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Hey ich lasse den Post nochmal kurz aufleben Smile .
Jetzt habe ich mal ne Frage ich baue auch an einem Space Shooter und wenn ich nutze kein ImageOverlap sondern eine X-X, Y-Y System das auch ganz gut funktioniert nur ist da das Problem das ich die Gegner auch Quadratisch machen muss.Und jetzt zu meiner Frage.Ich habe früher mal ein Spiel mit imageOverlap Programmiert wo aber das Problem war das wenn die Schüsse zu schnell waren sie einfach durch das Object geflogen sind.Ist in diesem fall ImageOverlap für mich nicht geeignet? und wenn nicht wie soll ich dan z.b Runde Gegner bauen?

das wurgel

BeitragDi, Sep 28, 2010 23:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Was ist ein "X-X, Y-Y System"?
Und: Bei ImagesOverlap werden auch nur Rechtecke überprüft. Meinst du vielleicht ImagesCollide?
1 ist ungefähr 3

Raiden93

BeitragDi, Sep 28, 2010 23:46
Antworten mit Zitat
Benutzer-Profile anzeigen
genau Very Happy und mit meinem system meine ich

z.b der ausschnitt meines Spiels
Code: [AUSKLAPPEN]
         If Schuss\X > Gegner\X And Schuss\X < Gegner\X +35
            If Schuss\Y > Gegner\Y And Schuss\Y < Gegner\Y +50


was würdet ihr mir empfehlen für eine saubere Schuss Kollision?

Xeres

Moderator

BeitragDi, Sep 28, 2010 23:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn deine Schüsse zu schnell sind, treffen sie einfach nicht mehr auf den Kollisionsbereich - egal wie der aussieht. Wenn man einfach immer 150 Pixel hinzu addiert, sieht die Bewegung super schnell aus, aber zwischen diesem Abstand kann halt keine Kollision auftreten.
Denn Schuss nicht weiter bewegen als er lang ist, dann auf Kollision prüfen und so lange wiederholen, bis er am ziel ist.
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

Raiden93

BeitragDi, Sep 28, 2010 23:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Ok und wenn mein Gegner jetzt nicht Quadratisch ist sondern eine andere Form hat? dann bleibt mir doch eigentlich nichts anderes als ImageCollide oder?

Xeres

Moderator

BeitragMi, Sep 29, 2010 16:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Das kommt ganz darauf an, welche Genauigkeit du verwenden willst. Erst überprüfen, ob die Objekte sich nahe genug sind, dann die Rechenintensiveren Funktionen verwenden. Mir genügt aber meist eine Kreis-Kreis Kollision.
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

das wurgel

BeitragDo, Sep 30, 2010 17:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn ich schnelle Sachen auf Kollision prüfe, zwischenspeichere ich immer ob sie rechts oder links, über oder unter dem anderen Objekt waren, und wenn sich dies ändert, hab ich meine Kollision. Das erspart das Schrittweise prüfen. Ob du jetzt ImagesCollide nimmst oder Rechtecke prüfst, sieht bei so schnellen Schüssen eh kein Mensch und es spart ziemlich viel Performance. Dein X-X, Y-Y System bewirkt übringens das gleiche wie ImagesOverlap.
1 ist ungefähr 3

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group