collision x/y????

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Ratzelpup

Betreff: collision x/y????

BeitragSa, Nov 19, 2005 14:28
Antworten mit Zitat
Benutzer-Profile anzeigen
ImageRectOverlap(bild, x, y, rechteck_x, rechteck_y, rechteck_breite, rechteck_hoehe)
Stehen x und y für die koordinaten des Biles, also von der linken oberen ecke????

Ich werd aus der doku nicht schlau...und hab gestern erst angefangen mit blitz basic plus

Könnt ihrs mir erklären

Hip Teen

BeitragSa, Nov 19, 2005 14:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja, stehen sie. Und da Blitz Weiß, wie groß das Bild ist, musst du nicht mehr zum Bild angeben.
Spruch der Woche: "Ahh, ein neues Gesicht?!" - "Nein, das hab ich schon länger"

Hubsi

BeitragSa, Nov 19, 2005 14:37
Antworten mit Zitat
Benutzer-Profile anzeigen
bild ist das Handle des Bildes, also der Wert den Du von Load(anim)image oder CreateImage zurückbekommst
x und y sind die Koordinaten des Bildes und wenn nicht anders gehandelt (HandleImage oder MidHandle) die linke obere Ecke
rechteck_x /y sind die Koordinaten des Rechtecks mit dem die Kollision geprüft werden soll (linke obere Ecke)
rechteck_breite / höhe die Größe des zu Prüfenden Bereichs, ausgehend von der linken oberen Ecke nach rechts (breite) und unten (höhe)

Beachte dabei das diese Abfrage nicht pixelgenau auf das Bild angewandt wird und ein RectsOverLap schneller ist wenn die Größe des Bildes bekannt ist. Wenn sich das Bild nicht in seiner Größe verändert lässt sich die auch mit ImageWidth(bild) und ImageHeight(bild) ermitteln Very Happy
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

Goodjee

BeitragSo, Nov 27, 2005 18:10
Antworten mit Zitat
Benutzer-Profile anzeigen
wenn ich ein bild einmal in eine variable lade, dann aber 10 mal auf den bildschirm "male", kann ich dann checken, ob irgendeinseins der 10 bilder mit einem rechteck zusammenstößt???

ich hoffe, ihr versteht, was ich meine....wenn nciht, erklär ichs nochmal

Hubsi

BeitragSo, Nov 27, 2005 18:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja. Jede gemalte Instanz des Bildes hat ja eigene Koordinaten und mit denen arbeiten die Kollisionsfunktionen (ImagesCollide nur mal als Beispiel genannt). Ob das Bild dabei schon auf dem Bildschirm ist oder erst gar nicht gemalt wird ist völlig unerheblich, es muss nur in den Speicher geladen sein Very Happy Blitz "schaut" nicht auf den Bildschirm ob irgendwas kollidiert, es wird alles errechnet.
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

Goodjee

BeitragSo, Nov 27, 2005 19:24
Antworten mit Zitat
Benutzer-Profile anzeigen
also muss ich/das programm die koordinaten wissen.

Goodjee

BeitragSo, Nov 27, 2005 19:24
Antworten mit Zitat
Benutzer-Profile anzeigen
also muss ich/das programm die koordinaten wissen.

Hubsi

BeitragSo, Nov 27, 2005 19:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Natürlich Very Happy Aber wenn Du das Bild malst (was wohl in den allermeisten Fällen so sein wird) weißt Du sie ja sowieso. Entweder als VariableBlitzBasic: [AUSKLAPPEN]
DrawImage bild,x,y
If ImageRectCollide(bild,x,y,MouseX(),MouseY(),1,1) peng()
oder hardcodedBlitzBasic: [AUSKLAPPEN]
DrawImage bild,100,150
If ImageRectCollide(bild,100,150,MouseX(),MouseY(),1,1) peng()
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

Goodjee

BeitragMo, Nov 28, 2005 13:57
Antworten mit Zitat
Benutzer-Profile anzeigen
dann mussich alle positionen speichern, denn ich will wie bei pacman kugeln verteilen, die man aufsammeln kann....
welche art von variablen würdet ihr mir empfehlen???

Hubsi

BeitragMo, Nov 28, 2005 15:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Bezüglich Typ -> Integer. Für ein PacManspiel würd ich von Anfang an auf eine Tilemap setzen. Das erfordert das kennen von Arrays (ql:Dim), was aber nicht wirklich schwer ist. Etwas mehr Probleme haben einige bei der Kollisionsprüfung, also in Deinem Fall Wände und Pillen. Dazu gibts aber ein sehr schönes Tutorial auf www.robsite.de von Ralf Geiger (Jumpn Run, der Teil mit Kollision und Mapdarstellung ist dann für Dich interessant). Das ganze hat zwei entscheidende Vorteile: 1. wirst Du Tilemaps noch oft gebrauchen können und 2. lassen sich Maps sehr schnell mit einem Mapeditor zusammenschrauben und können als extra Dateien gespeichert werden, was wiederum den zukünftigen Spieler freut wenn er nur ein paar Dateien herunterladen muss und hat mit einigen wenigen Bytes neue Level zum zocken. Vom geringeren Speicherverbrauch der Grafik mal ganz abgesehen Very Happy
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

Goodjee

BeitragMo, Nov 28, 2005 16:11
Antworten mit Zitat
Benutzer-Profile anzeigen
ich habe schon eine kollisionsabfrage für meinen charakter, also kann er schon nicht mehr durch wände gehen. dafür habe ich ein bild mit den festen bereichen unter das bild gelegt. mit dem wird dann die kollision gecheckt..
also mudd ich noch die position der punkte speichern, in types

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group