Probelm bei Steuerung von Gegner

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

bb_fan

Betreff: Probelm bei Steuerung von Gegner

BeitragDi, März 20, 2007 16:12
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragDi, März 20, 2007 17:32
Antworten mit Zitat
Benutzer-Profile anzeigen
warum hast du einmal =1 und einmal >1? ich würd die kollisionstiledinger btw in nen extra layer speichern.
 

bb_fan

BeitragDi, März 20, 2007 17:36
Antworten mit Zitat
Benutzer-Profile anzeigen
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?

aMul

Sieger des Minimalist Compo 01/13

BeitragDi, März 20, 2007 18:06
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragDi, März 20, 2007 18:38
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragDi, März 20, 2007 18:49
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragDi, März 20, 2007 18:52
Antworten mit Zitat
Benutzer-Profile anzeigen
problem gelöst, dank "horst den biber". vielen dank für eure schnellen antworten! Cool

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group