Eigene Map erstellen
Übersicht BlitzBasic Beginners-Corner
bbproggerBetreff: Eigene Map erstellen |
Fr, Jul 11, 2008 19:54 Antworten mit Zitat |
|
---|---|---|
Hallo,
ich würde gerne für mein Spiel eine Map Datei erstellen. Diese sollte einfach nur die Zahlen von 1 bis 9 enthalten welche dann im Hauptprogramm stehen. Das Problem: Meine Sprites heißen SP1 bis SP9 Wenn ich jetzt in der Datei 123449 speichere müsste im Programm vorne ein SP angehängt werden damit der DrawImage Befehl es anzeigt. Hier mein Code Code: [AUSKLAPPEN] Graphics 1280,1024,32,1
Global SP1;UD Way Global SP2;LR Way Global SP3;LU Kurve Global SP4;RU Kurve Global SP5;UR Kurve Global SP6;UL Kurve Global SP7;Kreuz Global SP8;Start Global SP9;Ziel Global BG;Background Global px Global py px=32:py=32 SetBuffer BackBuffer() LoadPic() While Not KeyHit(1) Cls DrawImage BG,1,1 DrawMap() Rect px,py,10,10,0 If KeyDown(200) py=py-1 EndIf If KeyDown(208) py=py+1 EndIf If KeyDown(203) px=px-1 EndIf If KeyDown(205) px=px+1 EndIf Flip Wend End Function LoadPic() SP1=LoadImage ("images\SP1.bmp") SP2=LoadImage ("images\SP2.bmp") SP3=LoadImage ("images\SP3.bmp") SP4=LoadImage ("images\SP4.bmp") SP5=LoadImage ("images\SP5.bmp") SP6=LoadImage ("images\SP6.bmp") SP7=LoadImage ("images\SP7.bmp") SP8=LoadImage ("images\SP8.bmp") SP9=LoadImage ("images\SP9.bmp") BG=LoadImage ("images\BG.bmp") End Function Function DrawMap() ;!!Hier müsste der Code hin!! End Function Danke, |
||
XeresModerator |
Fr, Jul 11, 2008 21:35 Antworten mit Zitat |
|
---|---|---|
Lässt sich ganz einfach mit zwei Arrays lösen; mit Dim deklarierst du z.B. map() und SP() in den passenden größen - wie es dir am besten in deine Strukur passt. Die Zahlen aus der Datei in den Array einlesen (ReadInt z.B.) und in der Zeichenroutine dann alles Map Koordinaten durchgehen und zeichnen: Drawimage, SP( map(X, Y) ), Xpos, Ypos.
Wenn die Sprites alle gleich groß sind, würde es sich auch anbieten alle in eine Bilddatei zu kopieren und LoadAnimImage zu verwenden und den Parameter Frames zu verwenden... |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
Blitzprogger |
Sa, Jul 12, 2008 11:11 Antworten mit Zitat |
|
---|---|---|
was ich auch noch festgestellt habe: wenn du Code: [AUSKLAPPEN] function loadpics()
schreibst werden die variablen der bilder (sp1 e.t.c.) alle als local deklariert. das heisst dass sie im hauptproggramm oder in anderen funktionen nicht verfügbar sind. mache am anfang entweder, wie xeres bereits gesagt hat, ein dim oder lokalisiere sie mit global, was ich dir aber nicht empfehlen würde.
sp1 = loadimage... end function mfg |
||
Mein aktuelles Projekt, Irnithal: http://www.blitzforum.de/worklogs/415/
Unfreiwilliger Gewinner des BAC# 115. |
BladeRunnerModerator |
Sa, Jul 12, 2008 11:22 Antworten mit Zitat |
|
---|---|---|
Du solltest Dir seinen ganzen Code anschauen, Blitzprogger, dann wüsstest Du dass sie Global definiert sind.
Und Xeres Antwort ist mehr als vollständig. |
||
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 |
bbprogger |
Fr, Jul 18, 2008 19:01 Antworten mit Zitat |
|
---|---|---|
Danke Xeres Antwort hat mir sehr geholfen.
Wenn ich aus dem Urlaub zurück bin werde ich sie ausprobieren. |
||
bbprogger |
So, Jul 27, 2008 12:41 Antworten mit Zitat |
|
---|---|---|
Wenn ich Code: [AUSKLAPPEN] DIM map(1 TO 7)
verwende bekomme ich die Meldung "Erwarte ´)`" Wie kann ich dies umgehen?? |
||
ChristianK |
So, Jul 27, 2008 12:44 Antworten mit Zitat |
|
---|---|---|
Bei Dims kannst du keinen Wertebereich angeben. Das Array beginnt immer bei 0. Dim
Wenn du 7 Einträge brauchst -> Code: [AUSKLAPPEN] Dim array(6)
|
||
AdvanceLcd
Intel Core 2 Duo 3.2 GHz, 4 GB RAM, GeForce 8800 GTX | MacBook Pro 15,4″ Intel Core 2 Duo 2.4 GHz, 2 GB RAM, GeForce 8600M GT |
bbprogger |
Mi, Jul 30, 2008 14:27 Antworten mit Zitat |
|
---|---|---|
Danke!!!
|
||
Übersicht BlitzBasic Beginners-Corner
Powered by phpBB © 2001 - 2006, phpBB Group