Figur bewegt sich auf der Mauer bei Iso Maps?
Übersicht

blackmasterBetreff: Figur bewegt sich auf der Mauer bei Iso Maps? |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo,
wenn ich meine Figur auf einer Iso Map bewege und ein Mauer kommt, dann ist die Fugur plötzlich auf der Mauer. Wie kann ich das uzmgehen bzw. wie muss ich die Spielfigur auf einer Iso Map zeichnen? Hier mal der Code wie ich das zeichne: Code: [AUSKLAPPEN] For y=0 To 39
For x=0 To 39 DrawImage tile,(x-y)*32-scroll_x,(x+y)*16-scroll_y,Spielfeld(x,y) Next Next DrawImage Spieler,player_x,player_y wo liegt da der fehler? Danke schonmal. MfG |
||
![]() |
Caesium |
![]() Antworten mit Zitat ![]() |
---|---|---|
du prüfst vor jeder bewegung, ob in der entsprechenden richtung, an der stelle zu der der spieler bewegt würde, eine mauer ist. wenn nein, bewegst du ihn.
Code: [AUSKLAPPEN] Const HOCH = 200
If KeyDown(HOCH) And Spielfeld(spieler_x, spieler_y - 1) <> MAUER ;Bewegung EndIf gruß, caesium |
||
Der Vorteil der Klugheit liegt darin, dass man sich dumm stellen kann. Das Gegenteil ist da schon schwieriger. ![]() |
blackmaster |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Danke Dir.
Ich glaube Du hast mich falsch verstanden oder ich habe mich falsch ausgedrückt. Also, das mit dem prüfen ob eine Mauer kommt, weiss ich, aber wenn der Spieler sich mit der Wand kolidiert, dann ist der Spieler auf der Mauer und nicht hinter der Mauer, es wird halt falsch gezeichnet, nur wie kann ich das richtig machen? EDIT: Hier mal ein beispiel wie es bei mir aussieht, wenn der Spieler an einer Mauer ist: Screen Ich bekomme das einfach nicht richtig hin. Gruss |
||
![]() |
Caesium |
![]() Antworten mit Zitat ![]() |
---|---|---|
muss leider zugeben, dass ich noch nie etwas mit iso-maps gemacht habe. die wände (bzw. alle objekte mit kollision) erst nach dem spieler zu zeichnen wäre vielleicht eine möglichkeit, jedoch müsstest du das zeichnen der map dann aufteilen. ich weiß nicht ob du daran schon gedacht hast, geht mit sicherheit auch iwie anders, aber wie gesagt, ich habe keine erfahrung mit isomaps.
sorry, dass ich das falsch interpretiert habe. gruß, caesium |
||
Der Vorteil der Klugheit liegt darin, dass man sich dumm stellen kann. Das Gegenteil ist da schon schwieriger. ![]() |
blackmaster |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ja, kein problem.
Wenn jemand eine ahnung hat wie ich das ambesten lösen kann, dann wäre ich euch sehr dankbar. MfG |
||
![]() |
The Shark |
![]() Antworten mit Zitat ![]() |
---|---|---|
du musst zuerst den boden und die von vorne sichtbaren wände dann den spieler und dann die "überlappenden" wände zeichnen. | ||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
du malst deine karte von oben nach unten und von links nach rechts (das erledigen ja die for-schleifen für dich). Innerhalb der Forschleife musst du nun prüfen ob die aktuelle Koordinate die des Spielers ist, und wenn ja zeichnest Du ihn ein.
Ganz einfach ![]() |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
blackmaster |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Danke für die antworten.
Ich habe versucht den Spieler in der For Next schleife zuzeichnen, aber dann bekomme ich eine hohe auslastung, also der Spieler hat dann verzögerung beim bewegen und ist immer noch nicht hinter der Mauer. Kann mir vieleicht jemand ein beispiel posten wie man das lösen kann? MfG |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zeig mal den Code wie du es versucht hast, dann können wir mal schauen wo der Fehler liegt. | ||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group