2d collision

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Bionical

Betreff: 2d collision

BeitragDo, Sep 08, 2005 11:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

Kann man eine 2d Map erstellen und collision dann mit hilfe einer Art highmap überprüfen?

Hab das mal irgendwo gesehen....

mfg
Bionical
Das Leben ist zum Proggen da!

www.livingsoftware.at.tc
Mit selbstgehosteten Forum!
Das Forum ist leider gerade down.... Dank Funpic.de -.-
 

johann.boehme

Betreff: 2d? Heighmap???

BeitragDo, Sep 08, 2005 12:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Eine Höhenmap kommt bei d Landschaften zum einsatz,
ich nehme an du willst was in 2d machen,
beschreib doch einfach mal was du machen willst und wie du dir was vorgestellt hast Very Happy
Eine Heighmap dagt dem 3d Compiler wie eine Landkarte, wo das Terrain hoch ist und wo niedrig,
in einem 2d Spiel benutzt man einfach ein Sprite, oder?
Wiederstand ist Zwecklos!!!

Bionical

BeitragDo, Sep 08, 2005 13:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Es soll alles 2d sein.....
Tja, ich stelle mir ds so vor:
Hier ist eine 2d Map
user posted image
Und hier die Coll. Map:
user posted image
Über die weißen Stellen soll man nicht gehen können....

mfg
Bionical
Das Leben ist zum Proggen da!

www.livingsoftware.at.tc
Mit selbstgehosteten Forum!
Das Forum ist leider gerade down.... Dank Funpic.de -.-

Freeman

BeitragDo, Sep 08, 2005 13:21
Antworten mit Zitat
Benutzer-Profile anzeigen
ich nehm mal an das du alles mit einem tileset machst, deshalbn mach doch einfach nen 2tes laer ohne es zu zeichen und male einfach auf das 2.layer mit einem speziellen tile die orte an der die kollision durchgeführt werden soll.
Und im entdeffekt überprüfst diu einfach die koordinaten des helden und des 1besonderen tiles(kollision). Dann kannst du zum beispiel imagecollide nehmen. nur zum beispiel, oder du bastelst dir ne function die die koordinaten überprüft?
Das waren meine Gedanke dazu

Fr3eMaN
MacBook | MacOSX 10.5 | 80GB HDD | 1GB | BlitzMax 1.28

Bionical

BeitragDo, Sep 08, 2005 13:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Nee, ich möchte alles OHNE Tiles machen.....
Das Leben ist zum Proggen da!

www.livingsoftware.at.tc
Mit selbstgehosteten Forum!
Das Forum ist leider gerade down.... Dank Funpic.de -.-
 

johann.boehme

Betreff: tja

BeitragDo, Sep 08, 2005 15:26
Antworten mit Zitat
Benutzer-Profile anzeigen
hmmm,
kannst du nicht als einen Sprite den Untergrund (in deinem Beispiel)
Zeichnen und reinladen, und als 2. Sprite die Gegenstände mit denen du kollidieren kannst,drüber legen und dann benutzt du kollisions Befehle, mit der oberen map

funktioniert auch mit 2 Layern, und ist meiner meinung nach nicht so kompliziert
Wiederstand ist Zwecklos!!!

Alfadur

BeitragDo, Sep 08, 2005 16:34
Antworten mit Zitat
Benutzer-Profile anzeigen
sicher kannst du es so machen wie du willst, mußt halt bei jeder bewegung den imagebuffer auf das kollisionsimage setzen, mit readpixel an der stelle schauen was für ne farbe ist und dann ... laufen oder nicht, das ist hier die frage. irgendjemand hatte neulich ein projekt vorgestellt mit nem raumschiffirgendwas wo er das genauso gemacht hat ... kannst das bild auch vorher in ein array reinlesen, welches natürlich verdammt groß wird. aber dann sparste dir das readpixel und den bufferwechsel ...
A Cray is the only computer that runs an endless loop in less than four hours.

hectic

Sieger des IS Talentwettbewerb 2006

BeitragDo, Sep 08, 2005 16:52
Antworten mit Zitat
Benutzer-Profile anzeigen
@bionical, ein Spielhintegrund mit einem Bild kann ganz schön Speicherfressend sein. Wenn dann noch eine 'unnütz' Bild im Speicher gehalten wird, dann kommt es wohl schnell zu Problemen. Wenn du aber darauf bestehst alles ohne Tiles zu machen (die einfach zu proggen sind), dann kannst du auch die Kollisionsmap in dein Bild integrieren. Indem du dich für zB Blau entscheidest und alle Pixel wo Kollision statt finden soll machst du den Blauton ungerade und wo nicht als geraden Farbwert. Blau ist dafür am besten, da zum einen Blau eine der drei Grundfarben ist die vom Menschlichem Auge am wenigsten wahr genommen wird. Da machst es kaum ein Unterschied ob du 128 oder 256 Blaustufen hast. Und zum anderen ist Blau in der Farbpalette ganz rechts. Somit ist die Umrechnung per Mod am einfachsten.

Bionical

BeitragDo, Sep 08, 2005 18:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja aber meine Frage ist wie ich das ganze realisiere.

Tiles sind einfach, ich weiß(die steuerung ist aber ein bisschen ruppig)
Ich will aber alles ein bisschen ausprobieren um mehr erfahrung zu schaffen.
Das Leben ist zum Proggen da!

www.livingsoftware.at.tc
Mit selbstgehosteten Forum!
Das Forum ist leider gerade down.... Dank Funpic.de -.-
 

Medabots1992

BeitragDo, Sep 08, 2005 18:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Es kommt auf Speicher an, wenn man die werte in ein Array speichert kann man das Bild löschen (aus speicher).
Ich würde es mit Arrays machen das die werte gespeichert werden wo was ist 0=kein gegenstand, 1=gegenstand und das muss richtig liegen dann wird mit if überprüft ob der nächste schritt 0 oder 1 ist, wenn es 0 ist weiter laufen wenn 1 stopen.

Bionical

BeitragDo, Sep 08, 2005 18:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja, gut.
Ich weiß trotzdem nicht wie man das realisiert....
Wie wärs mit nem Beispiel
Das Leben ist zum Proggen da!

www.livingsoftware.at.tc
Mit selbstgehosteten Forum!
Das Forum ist leider gerade down.... Dank Funpic.de -.-

hectic

Sieger des IS Talentwettbewerb 2006

BeitragFr, Sep 09, 2005 2:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo Bionical, wiso muß eine Tiles'engine' immer mit sprüngen von statten gehen? Hier mal ein ganz einfaches Beispiel das eine Tile'engine' auch fliessende Bewegungen machen kann. Da ich nun keine Bilder hoch laden wollte, habe ich alles per <Rect> und <Color> gemacht. Gecht natürlich auch alles mit Bildern...
Code: [AUSKLAPPEN]
;Grafik setzten
Graphics 320,320,32,2
SetBuffer BackBuffer()

;Variablen festlegen
Dim xy%(99,99)   ;Spielfeldspeicher mit 100*100 Tiles
rxp#=1000   ;X-Position im Spielfeld
ryp#=1000   ;Y-Position im Spielfeld
dvx%=0   ;X-Faktor für Tileverschiebung
dvy%=0   ;Y-Faktor für Tileverschiebung
tpx%=0   ;X-Faktor für Dim-Tilesprung
tpy%=0   ;Y-Faktor für Dim-Tilesprung
mxp#=0   ;X-Position Maus
myp#=0   ;Y-Position Maus

;Felder
For y=0 To 99
 For x=0 To 99
  If Rand(0,10)>8 Then xy(x,y)=Rand(1,6)
 Next
Next

;Rahmen
For q=0 To 99
 xy(0,q)=6
 xy(q,0)=6
 xy(99,q)=6
 xy(q,99)=6
Next




;Hauptroutine
While Not KeyHit(1)

 ;Rechne
 mxp=MouseX()
 myp=MouseY()
 rxp=rxp-(160-mxp)/20
 ryp=ryp-(160-myp)/20
 If rxp<0 Then rxp=0
 If ryp<0 Then ryp=0
 If rxp>2911 Then rxp=2911
 If ryp>2911 Then ryp=2911
 dvx=rxp Mod 32
 dvy=ryp Mod 32
 tpx=(rxp+16)/32
 tpy=(ryp+16)/32

 ;Tiles
 For y=0 To 8
  For x=0 To 8
   Color xy(x+tpx,y+tpy)*32,0,0
   Rect 32+x*32-dvx,32+y*32-dvy,32,32,1
  Next
 Next

 ;Info
 Color 255,255,255
 Rect 32,32,256,256,0
 Text 0,0,rxp
 Text 0,16,ryp
 Flip
 Cls
Wend
End
 

Ava

Gast

BeitragFr, Sep 09, 2005 9:16
Antworten mit Zitat
Bionical hat Folgendes geschrieben:
Tiles sind einfach, ich weiß(die steuerung ist aber ein bisschen ruppig)


Dann war sie schlecht programmiert. Rolling Eyes

Bionical

BeitragFr, Sep 09, 2005 10:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Das Problem ist gelöst Smile .
Danke an alle die geantwortet haben
Das Leben ist zum Proggen da!

www.livingsoftware.at.tc
Mit selbstgehosteten Forum!
Das Forum ist leider gerade down.... Dank Funpic.de -.-

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group