Probelm bei Steuerung von Gegner
Übersicht
BlitzBasic
Beginners-Corner
bb_fanBetreff: Probelm bei Steuerung von Gegner |
Antworten mit Zitat |
|
|---|---|---|
|
Also, nach mehreren Versuchen dieses Problem zu lösen kam ich trotzdem nicht weiter. ich will meinen gegner in einer tilemap (2d) von a nach b über die y koordinate wandern lassen. er soll raufgehn bis er die wand erreicht hat, dann wieder runter bis zur anderen wand.
mein ansatz: Function MoveLehrer() If map(lehrer_x / tilesize,(lehrer_y - tilesize) / 32) = 1 Then richtung = -1 EndIf If map(lehrer_x / tilesize,(lehrer_y + tilesize) / 32) > 1 Then richtung = 1 EndIf lehrer_y = lehrer_y + richtung End Function die figur bewegt sich zwar bis zur ersten wand, dann einen tile runter und dann wieder rauf. wie könnte man dies lösen?? |
||
|
|
Horst der Biber |
Antworten mit Zitat |
|---|---|---|
| warum hast du einmal =1 und einmal >1? ich würd die kollisionstiledinger btw in nen extra layer speichern. | ||
bb_fan |
Antworten mit Zitat |
|
|---|---|---|
|
weil 1 in meinem zweidimensionalen array weg ist und alles über 1 gegenstände, wände usw sind die nicht begehbar sein sollen.
also deinen lösungsansatz versteh ich nicht ganz? |
||
|
|
aMulSieger des Minimalist Compo 01/13 |
Antworten mit Zitat |
|---|---|---|
|
Du musst bei einer Kollision zwischen 1 und -1 wechseln. z.B. so:
Code: [AUSKLAPPEN] If Kollision Then
If richtung = 1 Then richtung = -1 Else richtung = 1 EndIf EndIf |
||
|
Panic Pong - ultimate action mashup of Pong and Breakout <= aktives Spiele-Projekt, Downloads mit vielen bunten Farben!
advASCIIdraw - the advanced ASCII art program <= aktives nicht-Spiele-Projekt, must-have für ASCII/roguelike/dungeon-crawler fans! Alter BB-Kram: ThroughTheAsteroidBelt - mit Quelltext! | RGB-Palette in 32²-Textur / Farbige Beleuchtung mit Dot3 | Stereoskopie in Blitz3D | Teleport-Animation Screensaver |
||
|
|
Horst der Biber |
Antworten mit Zitat |
|---|---|---|
|
extra kollisionslayer, weil du vllt später mehrere grafiken für den weg hast.
versuch das erst ma Code: [AUSKLAPPEN] Function MoveLehrer()
If map(lehrer_x / tilesize,(lehrer_y - tilesize) / 32) > 1 Then ;kollision oben richtung = 1 ;nach unten laufen elseIf map(lehrer_x / tilesize,(lehrer_y + tilesize) / 32) > 1 Then ;kollision unten richtung = -1 ;nach oben laufen EndIf lehrer_y = lehrer_y + richtung End Function |
||
bb_fan |
Antworten mit Zitat |
|
|---|---|---|
| ok, das mit der kollision verstehe ich jetzt. die vorrausetzung dafür sind aber 2 bilder (oben und unten) die den weg begrenzen oder? die kollision dann mit ImagesOverlap oder ImagesCollide prüfen, habe ich das richtig verstanden? | ||
bb_fan |
Antworten mit Zitat |
|
|---|---|---|
|
problem gelöst, dank "horst den biber". vielen dank für eure schnellen antworten! |
||
Übersicht
BlitzBasic
Beginners-Corner
Powered by phpBB © 2001 - 2006, phpBB Group
