colli auf einer dim-map?

Übersicht BlitzBasic Allgemein

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

Ralff

Betreff: colli auf einer dim-map?

BeitragMo, Jul 19, 2004 17:00
Antworten mit Zitat
Benutzer-Profile anzeigen
hi

ich progge gerade mein jump'n run spiel und bin noch nicht sehr weit.

ich habe eine map mit einem dim feld erstellt und jetzt will ich eine collisionsabfrage machen die abfragt ob der spieler mit einem bestimmten tile der map (zb. einem felsen) collidiert.

kennt irgendjemand ein tut über dieses thema. oder kann mir jemand helfen?

wäre sehr dankbar.

mfg

Ralff

Flori-D

BeitragMo, Jul 19, 2004 17:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Haste Rm´´s Buch?Da steht sowas drinn.Schau da mal nach fals dus hast.
BB is Macht!

Homepage: www.flori-d.de

Ralff

BeitragMo, Jul 19, 2004 17:12
Antworten mit Zitat
Benutzer-Profile anzeigen
nein leider habe ich das buch nicht.
aber darüber muss es doch ein tut oder so was geben

Seoman

BeitragMo, Jul 19, 2004 18:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Wieso muss es gliech ein Jump'n Run sein??????????????????????????????
Wenn du den Umgang mit Dim noch nicht beherrschst, dann macht es keinen Sinn ein Jump'n Run zu beginnen...
Wo gibt es ein Tutorial:
Wer faul ist, den bestraft das Leben!
Wozu gibt es Google, Lycos und co???
Ist ja nicht böse gemeint, aber du bist keinesfalls der Erste mit dieser Einstellung...

sbrog

BeitragMo, Jul 19, 2004 18:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Ganz einfach. Du ordnest jedem Tile eine Nummer zu.Z.b 1 -100 sind Tiles durch die du durchgehen kannst. 1- 200 sind feste Tiles. Wenn du dich nach links bewegt, und die Nummer des Tiles links von dir ist größer als 200, dann bleit der SPieler stehen

DA

BeitragMo, Jul 19, 2004 19:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Und wen du ein gutes tut. haben willst dann kann ich dir nur eins raten, Jump&Run 1 und 2.
Die bekommst du auf www.robsite.de.
Aber ich würe mich vorher mit types beschäftigen.
Weil die kommen darin vor und wen du die nicht verstehst, dann kannst du dat tut gleich in die Tonne kloppen!

(Ein tut für types ist bei der blitzbase hilfe dabei)
Deutscher Blitz Basic Chat

joachim_neu

BeitragMo, Jul 19, 2004 21:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Seoman hat Folgendes geschrieben:
Wieso muss es gliech ein Jump'n Run sein??????????????????????????????
Wenn du den Umgang mit Dim noch nicht beherrschst, dann macht es keinen Sinn ein Jump'n Run zu beginnen...


wer sagt, dass er dims nicht beherrscht? das hat er nie geschrieben! er will nur wissen, wie er es schaft, dass einige tiles "durchhüpfbar" sind oder nicht...

also ich würde jedem tile eine nummer zurodnen und dann das dim 3D machen, etwa so:

Code: [AUSKLAPPEN]

dim tile(anzahl der X-tiles,anzahl der Y-tiles,1)


1 weil dann 0 die tilenummer und 1 speichern kann, ob es begehbar ist, also 1 oder 0. du musst dann nur bei einem sprung oder fall oder einer bewegung feststellen, ob das tile, das in der richtung in der bewegt wird ist, begehbar ist...

bei sprung:
(X = spielerX; Y = spielerY)
Code: [AUSKLAPPEN]

if tile(X,Y-1,1) = 1 then springe


nun ja, ich hoffe, ich habe dir geholfen...

mfg

JOACHIM NEU
http://www.joachim-neu.de | http://www.orbitalpirates.de | http://www.middleageworld.de

Seoman

BeitragMo, Jul 19, 2004 21:53
Antworten mit Zitat
Benutzer-Profile anzeigen
joachim_neu hat Folgendes geschrieben:
wer sagt, dass er dims nicht beherrscht? das hat er nie geschrieben! er will nur wissen, wie er es schaft, dass einige tiles "durchhüpfbar" sind oder nicht...



Aber Dim zu beherrschen setzt doch vorraus, dass man auch eine Killisionsabfrage hinkriegt...
Aber spielt auch keine Rolle, wir brauchen hier kein OT!

OT = Off Topic!
  • Zuletzt bearbeitet von Seoman am Mo, Jul 19, 2004 22:00, insgesamt einmal bearbeitet

DA

BeitragMo, Jul 19, 2004 21:56
Antworten mit Zitat
Benutzer-Profile anzeigen
OT?
Deutscher Blitz Basic Chat

Hubsi

BeitragDi, Jul 20, 2004 9:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Mit der Methode bin ich bisher am besten gefahren:
Code: [AUSKLAPPEN]
oben=map((sx+16)/32,(sy-2)/32)  ; Oben
rechts=map((sx+32)/32,(sy+16)/32) ; Rechts
unten=map((sx+16)/32,(sy+32)/32) ; Unten
links=map(sx/32,(sy+16)/32)      ; Links
mitte=map((sx+16)/32,(sy+16)/32) ; Mitte

; Damit das Männicken dann nach einem Sprung oder dergleichen
; nicht mitten im Tile steht:

tempy=sy/32
sy=tempy*32
Das ganze geht von einer Tilegröße von 32*32 Pixel und einer Spielfigurgröße von 32*32 Pixel aus. Als Ergebnis bekommt man die Nummer des Tiles das sich rund um oder direkt auf dem Spieler befindet. Dann kannst Du prüfen ob die Nummer z.B. kleiner 201 -> stehenbleiben, größer 200 -> weiterlaufen. Ist sie größer 400 -> Powerup usw...
Und sei nicht kleinlich bei den Tilenummern (also z.B. "Ich spar Speicher, bis 50 sind feste, 51-100 nicht zu durchlaufen..."). Mir ist es nämlich bei meinem ersten Jumpn Run genauso gegangen und es ist eine fiese Arbeit das nachträglich zu erweitern Wink
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

Ralff

BeitragDi, Jul 20, 2004 14:02
Antworten mit Zitat
Benutzer-Profile anzeigen
hi
ich hab das so auch schon ausprobiert aber es hat nicht funktioniert.
ich kann eigentlich ganz gut mit dim-feldern umgehen.
bloß ich habe noch nie eine collision darauf gebraucht.

hier ist ein teil der funktion movehero()
zum linkslaufen
aber es funktioniert nicht


Code: [AUSKLAPPEN]
If KeyDown(205) Then

If map ((p_p_x+32)/32,(p_p_y+16)/32)<3 Then


scroll=scroll+4
Else scroll=scroll-4
EndIf
EndIf 



ist in dem code ein fehler?

mfg

Ralff

Kabelbinder

Sieger des WM-Contest 2006

BeitragDi, Jul 20, 2004 14:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Also Für Plattformspiele verwende ich Hautsächlich die gleiche Methode, wie hubsi, die hat nur den Nachteil, dass sie nur aussasgen kann auf einem Tile ein einzelner Punkt ist.
Aber wenn das nicht funktioniert, muss der Fehler woanders liegen.

Es kommt natürlich auch darauf an, wie groß das Bild deines Heros ist und ob du genommen hast Midhandle hast.
<Wing Avenger Download> ◊◊◊ <Macrophage Download>

Seoman

BeitragDi, Jul 20, 2004 14:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Du hast zwei If-Schleifen ineinander! Was fragt die obere der beiden ab??

Ralff

BeitragDi, Jul 20, 2004 15:58
Antworten mit Zitat
Benutzer-Profile anzeigen
die obere fragt ab ob die nach rechts taste gedrückt wird und die untere das mit dem tile.

habt ihr in dem code einen fehler gesehen.
das programm läuft zwar aber ich kann trotzdem durch die tiles laufen.

Ralff

BeitragMi, Jul 21, 2004 18:19
Antworten mit Zitat
Benutzer-Profile anzeigen
hi

weil es immernoch nicht funktioniert poste ich jetzt mal die ganze function.
Code: [AUSKLAPPEN]

Function movehero()


If KeyDown(205) Then

If map ((p_p_x+32)/32,(p_p_y+16)/32)<3 Then
scroll=scroll+4
EndIf
EndIf 


If KeyDown (203) Then
If map(Player_pos_x /32,(Player_pos_y +16) /32)<3 Then
scroll=scroll-4
EndIf
EndIf

If KeyDown(200) Then
If map((Player_pos_x +16) /32,Player_pos_y /32)<3 Then
p_p_y = p_p_y-4
EndIf
EndIf

If KeyDown(208) Then
If map((Player_pos_x +16) /32,(Player_pos_y +32) /32)<3 Then
p_p_y = p_p_y+4
EndIf
EndIf

End Function


kann mir jemand sagen warum das nicht funtioniert.

mfg

Ralff
 

m a j o r

BeitragFr, Jul 23, 2004 8:27
Antworten mit Zitat
Benutzer-Profile anzeigen
@Ralff
Bist du sicher, dass deine Tiles 32x32 Pixel groß sind?
 

m a j o r

BeitragFr, Jul 23, 2004 8:31
Antworten mit Zitat
Benutzer-Profile anzeigen
@Hubsi
Du hast da einen Fehler drin:
Code: [AUSKLAPPEN]

oben=map((sx+16)/32,(sy-32)/32)  ; Oben


Da hattest du eine 3 vergessen!

Hubsi

BeitragFr, Jul 23, 2004 9:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Nein, das stimmt schon so. Sonst gibt er bei der kleinsten nach-oben Bewegung (Sprung z.B.) das über dem oben liegenden Tile zurück. Schwer zu erklären, darum Illustration: Smile
user posted image
Die blauen Blöcke sind die Tiles. Das rote Männicken setzt gerade zum Sprung an, kommt aber nicht weit, weil die Kollierkennung nicht ordentlich funzt Very Happy
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...
 

m a j o r

BeitragFr, Jul 23, 2004 15:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Oh, stimmt Embarassed
Dann nehme ich alles zurück.
PS: Schöne Zeichnung Wink

Hubsi

BeitragFr, Jul 23, 2004 22:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Gell, ich bin eben doch Künstler Laughing
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group