Problem bei einer Map
Übersicht

![]() |
eternitysoftBetreff: Problem bei einer Map |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also erstmal hallo ^^ Ich habe da was geschrieben um mich mal ans Programm zu gewöhnen wollte mal ne Map schreiben mit dem Editor
hab nun folgendes geschafft -Boden auszufüllen -Held zu setzen und zu Bewegen (es leben die Tutorials) meine Probs sind -Das Haus was ich setzen will wird immer neben dem Boden angezeigt (fülle ich z.b nur ein Teil der Map wird es an der Ecke unten Rechts vom Boden angezeigt.) -Die Figur bewegt sich zu schnell (und guckt nur in die eine Richtung damit habe ich mich jetzt aber noch nicht weiter befasst da ich mich erstmal auf das Setzen und der Kollisionsabfrage Konzentrieren wollte) hoffe ihr könnt mir helfen und sagen was falsch ist Code: [AUSKLAPPEN] Graphics 640, 480 , 32, 1 Const TILESIZE = 16 Const MAP_WIDTH = 100 Const MAP_HEIGHT = 100 Const KEY_UP = 200 Const KEY_DOWN = 208 Const KEY_LEFT = 203 Const KEY_RIGHT = 205 Global PlayerX, PlayerY PlayerX = 5 PlayerY = 5 While Not KeyHit(1) ;Die Tiles boden = LoadImage("data/boden.png") Haus = LoadImage("data/haus.png") SetBuffer BackBuffer() ;Die Map Dim Map( MAP_WIDTH, MAP_HEIGHT, 2);<-- ergibt 3 Ebene (0,1,2) ;füllt den Boden For x = 0 To MAP_HEIGHT For y = 0 To MAP_WIDTH DrawBlock boden, x * TILESIZE, y * TILESIZE, MAP( x, y, 0 ) Next Next ;Setzt das Haus DrawBlock Haus, x*TILESIZE , y*TILESIZE, MAP( 11, 11, 2 ) ;Ladet und setzt Charset Char = LoadAnimImage("data/farmer.png", 22, 32, 0, 12) MaskImage Char, 227, 119, 100 DrawImage Char, PlayerX *Tilesize, PlayerY *Tilesize Flip () ;Werte (True/1 bzw. False/0) auslesen KollisionOben = Map( PlayerY - 1, PlayerX, 2 ) KollisionRechts = Map( PlayerY, PlayerX + 1, 2 ) KollisionUnten = Map( PlayerY + 1, PlayerX, 2) KollisionLinks = Map( PlayerY, PlayerX - 1, 2) If KeyDown( KEY_UP ) If KollisionOben = False PlayerY = PlayerY - 1 EndIf EndIf If KeyDown( KEY_RIGHT ) If KollisionRechts = False PlayerX = PlayerX + 1 EndIf EndIf If KeyDown( KEY_DOWN ) If KollisionUnten = False PlayerY = PlayerY + 1 EndIf sorry wenn die Frage jetzt auf gut deutsch dumm ist aber bin noch recht neu dadrinne und hoffe das mein gefrage nicht schlimm ist im den sinne hoffe ich auf antwort mfg ps hier mal die Images die ich nehme: Boden: http://www.rpgstation.de/prob/bb/boden.PNG Haus: http://www.rpgstation.de/prob/bb/haus.PNG farmer: http://www.rpgstation.de/prob/bb/farmer.PNG |
||
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] boden = LoadImage("data/boden.png")
Das muss erst mal aus der Hauptschleife raus, du hast offensichtlich deren Funktionsweise nicht verstanden Haus = LoadImage("data/haus.png") SetBuffer BackBuffer() ;Die Map Dim Map( MAP_WIDTH, MAP_HEIGHT, 2);<-- ergibt 3 Ebene (0,1,2) Char = LoadAnimImage("data/farmer.png", 22, 32, 0, 12) MaskImage Char, 227, 119, 100 ![]() ![]() |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
![]() |
eternitysoft |
![]() Antworten mit Zitat ![]() |
---|---|---|
args danke das kommt ja unten vor den abfragen hin (überprüft doch ob esc gedrückt wurde wenn nicht wird das in der Schleife abgefragt ) | ||
![]() |
eternitysoft |
![]() Antworten mit Zitat ![]() |
---|---|---|
also ich hab es jetzt geschafft mit den posinieren des hauses mein Problem jetzt ich kann trotzdem rüberlaufen und ich weiß aber nicht warum ich da immernoch rüberlaufen kann
(folgende Zeile hab ich jetzt geändert) Code: [AUSKLAPPEN] DrawBlock Haus, 3*48 , 2*80, MAP( 11, 11, 2 )
(48 für die Breite des Bildes und 80 für die Höhe des Bildes) ps:Sorry für Doppelpost hab zu Spät bemerkt das ich ja als letzter gepostet hatte |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group