Irrgartenspiel
Übersicht

jörg111Betreff: Irrgartenspiel |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo ich hab ein kleines Problem
Ich bin dabei zum üben ein Spiel aus den 80er Jahren vom Intellivision Mattel Electronics Videospiel (falls das jemand kennt) nachzuprogrammieren . Ich hab da einen Emulator im Internet gefunden, womit ich es auf dem PC spielen kann. Aber das ist eine Art Labyrinthspiel, d.h. ähnlich wie Pacman, paar Gänge sind auf Bildschirm wo man entlanggehen kann und natürlich Gegner sind auch da. Nun zum Problem : Ich habe einen Bildschirmausdruck von dem Spielfeld gemacht und das Bild als Datei gespeichert und in BlitzBasic geladen mit LoadImage. Das gleiche mit der Spielfigur. Wenn ich den Befehl imagesCollide oder ImagesOverlap benutze, meldet mir das Programm immer eine Kollision, auch wenn die Figur nur den Weg berührt, der ja fürs Gehen bestimmt ist. Kollission soll aber nur sein, wenn die Figur die Wände berührt. Liegt das vielleicht daran, daß die Figur mitten im Spielfeld steht? Aber wie soll man das Problem denn beheben? Dann darf man wahrscheinlich gar nicht das ganze Spielfeld als ein Bild nehmen (also mitsamt der Wände) sondern muß die Wände selbst reinmalen und die Wände aus dem Spielfeld vorher löschen mit nem Zeichenprogramm oder wie? wer weiß hilfe? |
||
![]() |
HolzchopfMeisterpacker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Jop, boden rauslöschen, nur noch Wände behalten. Da ImagesCollide prüft ob zwei Bilder mit den sichtbaren Pixel kollidieren, und wenn du den Boden und die Wände in EINEM Bild hast, sind ja sowohl Boden und Wände sichtbar...
Am besten speicherst du den Boden in einem Bild und die Wände in einem anderen... |
||
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BY ♫ BinaryBorn - Yogurt ♫ (31.10.2018) Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm |
![]() |
Flori-D |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dein Problem scheint zu sein das, dass Bild die Gänge und die Wände beinhaltet.Du hast dann also nur 2 Bildr:
Code: [AUSKLAPPEN] einmal das : Labyrinth
und die Figur wenn due jetzt natürlich Code: [AUSKLAPPEN] If Imagesoverlap("labyrinth,x,y, Figur,x,y") machst dann kanns nichts werden da die Figur immer auf dem Labyrinth steht.Tiles wären da besser.
Edit: Verdammt Holzchopf war schneller. |
||
BB is Macht!
Homepage: www.flori-d.de |
jörg111Betreff: irrgarten |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich bins nochmal
wenn ichs richtig verstanden habe, sollte ich jetzt wohl die Wände aus dem Bild rauslöschen so daß ich nur noch den Boden habe. und das Bild mit dem Boden wird dann auch gar nicht auf Kollission abgefragt sondern nur gezeichnet!? damit ich auf dem Boden gehen kann, ohne das Kollission gemeldet wird!? Und dann die Wände selbst plazieren in Blitzbasic mit drawimage oder drawblock und auf Kollission mit der Figur abfragen?? |
||
![]() |
HolzchopfMeisterpacker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja mache zwei Bilder, eins mit dem Boden und eins mit den Wänden, in BlitzBasic zeichnest du beide Bilder, prüfst den Spieler aber nur auf Kollision mit dem Wand-Bild. | ||
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BY ♫ BinaryBorn - Yogurt ♫ (31.10.2018) Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm |
![]() |
theBlade |
![]() Antworten mit Zitat ![]() |
---|---|---|
oder du benutzt ne tile-engine... auf http://www.robsite.de gibs die RPG-tuts von Blitzmaster, der hat das sehr gut beschreiben | ||
"Ich bin wie ich bin. Die einen kennen mich, die anderen können mich." (Dr. Konrad Adenauer)
UTFSB -> (use the fuckin "suchen"-button) User posted image <- link -.- |
jörg111Betreff: irrgarten |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ja hallo danke
aber irgendwie irritiert mich das du meinst mit nem Zeichenprogramm soll ich einmal das Boden-Bild zeichnen (bzw.hab ich ja kopiert aus Emulator) und das Wand-Bild auch. als zweites bild. Aber das Wand-Bild beinhaltet ja nicht nur die Wände sondern auch die Wege (wo man natürlich gehen können soll) Aber auch die Wege werden von Blitzbasic doch abgefragt auf Kollission, weil das Wand-Bild doch die Wände und die Wege beinhaltet(wobei die Wege eigentlich der Boden sind) man geht ja auf dem boden, ich hoffe das ist jetzt irgendwie verständlich Wenn ich auf einem bild die Wände zeichne, dann sind da doch nicht nur die Wände drauf sondern auch der Boden=Wege. Die Zwischenräume zwischen den Wänden gehören doch zum bild, die kann ich ja nicht weglassen, das wird ja als ganzes bild gesehen. sichtbar sind für blitzbasic doch nicht nur die wände sondern auch der zwischenraum zwischen den wänden =wege bzw. boden ich hoffe ich habe jetzt nicht alle vollends verwirrt gibts nicht ne möglichkeit mit der farbe ne abfrage zu machen. wenn spielfigur bestimmte farbe berührt, das ist vielleicht einfacher, weil wände ausschließlich schwarz sind oder mit blitzbasic mit drawblock alle wände einzeln zeichnen. ist aber ne scheißarbeit |
||
![]() |
rambo256 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Noch einfacher und ausbaufähiger ist es,mit ner tile-engine zu arbeiten.
Das ist viel einfacher und unkomplizierter!!! Also es gäbe da schon nen Befehl,benutzte mal maskcolor bei dem Irrgarten pic. Am besten machst du dort einfach alle Gänge lila und die Wände lässt du so wie sie sind. Für Pink ist der rgb-Wert: 255,0,255 ,wenn ich mich nicht vertan habe. Schau dir mal noch am besten die online-Hilfe zum Thema,arrays (Dim bla),Data,Maskcolor an!!! |
||
Asus F53z
Das Leben ist eine reine Konkatenation... |
![]() |
Flori-D |
![]() Antworten mit Zitat ![]() |
---|---|---|
So ich sag jetzt mal die einfachste form.Du nimmst die Wände weg.So das du nur noch den Boden hast.(ich nehm jetzt mal an das Bild ist 640*480)Dann machste im Paint oder so ein Blatt mit den maßen 640*480.Darauf zeichneste überall die Wände(bloß nicht schwarz!)
.Die Wand-bIld zeichneste mit Drawimage bild,x,y direkt auf den Boden.Dann machste noch ne Kollisions abfrage für das Wand-Bild, wo der spieler auf der X,Y Position bleibt wo er gerade ist wenn die Kolli stattfindet. |
||
BB is Macht!
Homepage: www.flori-d.de |
jörg111Betreff: irrgarten |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hallo
ich hab jetzt ne verblüffend einfche methode gefunden ohne neu zeichnen und so. einfach nur das kopierte bild benutzen. also boden und wände alles in einem bild. einfach nur maskimage verwenden. mit nem zeichenprg. hab ich die rgb farbe der wege bestimmt. dann hab ich die transparenzfarbe mit maskimage dem Irrgartenbild zugewiesen. jetzt wird kollission nur registriert wenn figur die wände berührt aber keine kollission wenn figur auf den wegen ist. Code: [AUSKLAPPEN] Mit diesem Befehl wird eine bestimmte Farbe ausgewählt, die dann nicht mehr eingezeichnet wird. dies versteh ich nicht ganz. ich habe doch die farbe für die wege ausgewählt, aber gezeichnet wird die transparenzfarbe trotzdem, nur abgefragt mit imagescollide wird sie nicht mehr. mit imagesoverlap wird weiter kollission gemeldet |
||
![]() |
HolzchopfMeisterpacker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zeichnest du mit DrawBlock? - DrawBlock ignoriert drum Transparenz-Farben... | ||
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BY ♫ BinaryBorn - Yogurt ♫ (31.10.2018) Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm |
![]() |
rambo256 |
![]() Antworten mit Zitat ![]() |
---|---|---|
rambo256 hat Folgendes geschrieben: Also es gäbe da schon nen Befehl,benutzte mal maskimage bei dem Irrgarten pic. Am besten machst du dort einfach alle Gänge lila und die Wände lässt du so wie sie sind. Für Pink ist der rgb-Wert: 255,0,255 ,wenn ich mich nicht vertan habe. Schau dir mal noch am besten die online-Hilfe zum Thema,arrays (Dim bla),Data,Maskcolor an!!! SAg ich doch 8) kp,was du meinst... ![]() |
||
Asus F53z
Das Leben ist eine reine Konkatenation... |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group