Isometrischer Karteneditor - Denkanstoß :(

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

WEBLink

Betreff: Isometrischer Karteneditor - Denkanstoß :(

BeitragDi, Okt 28, 2008 20:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

aus langweile wollte ich mal ein kleine Isometrischen Karteneditor coden. Nur irgendwie fehlt mir der Ansatz wie ich am besten an die Sache ran gehe.

ein kleiner Code als Beispiel würde mich schon sehr helfen.


----

Mhh, liest sich irgendwie blöd.

hectic

Sieger des IS Talentwettbewerb 2006

BeitragDi, Okt 28, 2008 21:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Der Trick bei einer ISO-Map ist, dass jede zweite Zeile um eine halbe Spalte verschoben ist (oder eben jede zweite Spalte um eine halbe Zeile, wie man's halt nimmt). Das Zauberwort heisst dann Mod um es elegant lösen zu können. Aber da du Code haben wolltest, hier eine Lösung die ich Anfang 2003 gemacht hatte. Also keine Garantie für eine perfekte Lösung. Ich habe nur mal kurz einen Timer eingebaut und das ganze ohne ein Image laden zu müssen auf Rect umgewandelt.

Code: [AUSKLAPPEN]
Graphics 1024,768,0,1
SetBuffer BackBuffer()

Dim map(1023,1023)

Local Timer=CreateTimer(20)
Local XM,YM,XC,YC,SC

For XM=0 To 1023
   For YM=0 To 1023
      map(XM,YM)=Rand(0,255)
   Next
Next

XC=40
YC=40


While Not KeyDown(1)
   If KeyDown(03) Then YC=YC-1
   If KeyDown(16) Then SC=1-SC:XC=XC-1:YC=YC-SC
   If KeyDown(17) Then SC=1-SC:XC=XC+1:YC=YC-SC
   If KeyDown(30) Then XC=XC-1:YC=YC+SC:SC=1-SC
   If KeyDown(31) Then XC=XC+1:YC=YC+SC:SC=1-SC
   If KeyDown(21) Then YC=YC+1
   If KeyDown(44) Then YC=YC+1
   
   If KeyHit(57) Then SC=1-SC
   
   If XC<0 Then XC=XC+2
   If XC>78 Then XC=XC-2
   If YC<0 Then YC=0
   If YC>79 Then YC=79
   
   For XM=0 To 30
      For YM=0 To 22
         Color map(XM+XC,YM+YC+(SC And (XM Mod 2))),0,0
         Rect XM*32,(YM*32)+16*(XM Mod 2),32,32,1
      Next
   Next
   
   Color 255,255,255
   Text 740,100,"x "+XC+" y "+YC
   Text 740,200,"[2] rauf [y] runter"
   Text 740,216,"[Q] links/rauf [W] rechts/rauf"
   Text 740,232,"[A] links/runter [S] rechts/runter"
   
   WaitTimer(Timer)
   Flip 0
   Cls
Wend
End
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group