Mapeditor code -> Problem
Übersicht

mister_nobodyBetreff: Mapeditor code -> Problem |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo, das ist mein erster Post und ich beginne ihn gleich mit einer Frage ^^
Ich bin dabei einen Map-Editor nach einem tutorial (robsite.de) zu coden, natürlich abgeändert, wobei ich leider mit den Variablen nicht mehr durchblicke xD - im Tutorial hat der Schreiber das ganze mit mehreren einzelnen Bildern gemacht, ich möchte allerdings die Tiles in einem einzigen Typeset laden. Dabei haperts leider bei der drawblock eingabe, da ich nicht genau weiß, welche Variable ich nun bei den Frames eingeben sollte =( Aber seht selbst, ich hoffe ihr könnt etwas mit dem Code anfangen (ich glaube, er ist nicht so gut eingerückt^^): Code: [AUSKLAPPEN] ;Map-Editor nach einem Tutorial (natürlich nicht übernommem ->
;verwende keine einzelnen images, sondern ein tileset, da liegt auch ;das Problem =) ) setbuffer backbuffer() global mx=mouseX(), my=Mousey() global tile = 1 global datei$ global tileX=0 global tileY=0 global frame = 0 global Name$ global Anzahl global Breite global Hoehe global mapX global mapY global ende = 0 global Speicherort$ = "map1.map" Print "Geben Sie nun bitte den Namen des Tilesets ein: " name = input("Name: ") print "Jetzt die Anzahl der Tiles: " anzahl = Input("Anzahl: ") Print "Die horizontale Länge eines Tiles: " breite = input("Horizontale Länge (in Pixel): ") Print "Und zuletzt die vertikale Länge eines Tiles: " hoehe = Input("Vertikale Länge (in Pixel): ") Print "Jetzt kommt die Map -> bitte Länge: " mapX = input("Map-Länge (in Tiles): ") print"Und zum Schluss der Eingaben die Map-Höhe: " mapY = Input("Map-Höhe (in Tiles): ") ;Grafikmodus auswählen Print "Geben Sie bitte den Grafikmodus an" print "'end' (ohne ') eingeben zum beenden" Aufloesung$ = Input("(Beispiel: 1024x768) - default 1024x768: ") Select Aufloesung case "1024x768" Graphics 1024,768,16,1 case "800x600" graphics 800,600,16,1 case "640x480" graphics 640,480,16,1 case "end" end default graphics 1024,768,16,1 end select clscolor 255,0,255 cls Tileset = Loadanimimage(name,breite,hoehe,0,anzahl) dim map(mapX,mapY) ;----------------------------------------------------------: ;ENDLICH - DER ECHTE ANFANG - ALLES EINGESTELLT, LOS GEHTS | ;----------------------------------------------------------: For x = 1 to mapX for y = 1 to mapY map(x,y) = anzahl next next ;-------------------HAUPTSCHLEIFE-------------------- While ende = 0 cls If keyhit(1) then save() ;Tiles durchwählen If mousehit(2) tile = tile + 1 If tile = anzahl then tile = 0 endif ;Wenn maus innerhalb von map dann "tile-maus" If mouseX() < x*breite then mx=MouseX() / breite If mouseY() < y*hoehe then my=MouseY() / hoehe ;Map den Wert eines Tiles zuweisen If mousedown(1) then map(mx,my)=tile ;Alles zeichnen For x = 1 to mapX for y = 1 to mapY drawblock tileset, x*breite, y*Hoehe, map(tile,tile) next next ;tile-cursor drawblock tileset,mx*breite,my*hoehe,tile flip wend end ;---------------------------FUNKTIONEN------------------------------ Function save() Print "Wollen Sie die Datei unter einem eigenen Namen speichern?" print "(default = map1.map) (j/n)" wahl$ = input("") Select Wahl case "j" name = input("Wie soll die Map heißen? (mit Endung) ") default name = "map1.map" end select Print "Datei wird unter ausgewähltem Namen gespeichert..." datei=writefile(name) for x = 1 to mapX for y = 1 to mapY writeline datei, map(mapX,mapY) next next closefile datei Print "Datei wurde unter folgendem Dateinamen gespeichert: " +name delay 3000 ende=1 end function ich hoffe ihr könnt mir helfen, mfg, Mister_Nobody |
||
...biep...biep...biep...biep...biep |
![]() |
BigMaexle |
![]() Antworten mit Zitat ![]() |
---|---|---|
Animation brauchst du da gar nich, Lad dein Bild normal und nutzte dann ql:DrawImageRect
PS: Willkommen im Forum ![]() |
||
--------------------------------------
Ich bin unfreiwillig ein Mitglied dieser kapitalistischen Gesellschaft, wo jeder Geldgeile Unternehmer an mein Geld will und ich selbst bei meinen Entscheidungen so gut wie willenlos bin...... und ich bin glücklich drüber |
mister_nobody |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Vielen Dank für die schnelle Antwort=) - habe es gerade ausprobiert, doch bis darauf, dass jetzt oben links die richtige größe einmal gezeichnet ist und der cursor eine kleine version des tiles enthält, hat sich leider nichts geändert ![]() Hier der code: Code: [AUSKLAPPEN] ;Map-Editor nach einem Tutorial (natürlich nicht übernommem ->
;verwende keine einzelnen images, sondern ein tileset, da liegt auch ;das Problem =) ) setbuffer backbuffer() global mx=mouseX(), my=Mousey() global tile = 1 global datei$ global tileX=0 global tileY=0 global frame = 0 global Name$ global Anzahl global Breite global Hoehe global mapX global mapY global ende = 0 global Speicherort$ = "map1.map" Print "Geben Sie nun bitte den Namen des Tilesets ein: " name = input("Name: ") print "Jetzt die Anzahl der Tiles: " anzahl = Input("Anzahl: ") Print "Die horizontale Länge eines Tiles: " breite = input("Horizontale Länge (in Pixel): ") Print "Und zuletzt die vertikale Länge eines Tiles: " hoehe = Input("Vertikale Länge (in Pixel): ") Print "Jetzt kommt die Map -> bitte Länge: " mapX = input("Map-Länge (in Tiles): ") : mapX = mapX -1 print"Und zum Schluss der Eingaben die Map-Höhe: " mapY = Input("Map-Höhe (in Tiles): ") : mapY = mapY - 1 ;Grafikmodus auswählen Print "Geben Sie bitte den Grafikmodus an" print "'end' (ohne ') eingeben zum beenden" Aufloesung$ = Input("(Beispiel: 1024x768) - default 1024x768: ") Select Aufloesung case "1024x768" Graphics 1024,768,16,1 case "800x600" graphics 800,600,16,1 case "640x480" graphics 640,480,16,1 case "end" end default graphics 1024,768,16,1 end select clscolor 255,0,255 cls Tileset = Loadimage(name) dim map(mapX,mapY) ;----------------------------------------------------------: ;ENDLICH - DER ECHTE ANFANG - ALLES EINGESTELLT, LOS GEHTS | ;----------------------------------------------------------: For x = 1 to mapX for y = 1 to mapY map(x,y) = anzahl next next ;-------------------HAUPTSCHLEIFE-------------------- While ende = 0 cls If keyhit(1) then save() ;Tiles durchwählen If mousehit(2) tile = tile + 1 If tile = anzahl then tile = 0 endif ;Wenn maus innerhalb von map dann "tile-maus" If mouseX() < x*breite then mx=MouseX() / breite If mouseY() < y*hoehe then my=MouseY() / hoehe ;Map den Wert eines Tiles zuweisen If mousedown(1) then map(mx,my)=tile ; Alles zeichnen For x = 1 to mapX for y = 1 to mapY drawblockrect tileset, x, y,tile*breite,0,breite,hoehe next next ;tile-cursor drawblockrect tileset,mx*breite,my*hoehe,tile*breite,0,breite,hoehe flip wend end ;----------------------------------------------------- ;--------------------FUNKTIONEN----------------------- ;----------------------------------------------------- Function save() Print "Wollen Sie die Datei unter einem eigenen Namen speichern?" print "(default = map1.map) (j/n)" wahl$ = input("") Select Wahl case "j" name = input("Wie soll die Map heißen? (mit Endung) ") default name = "map1.map" end select Print "Datei wird unter ausgewähltem Namen gespeichert..." datei=writefile(name) for x = 1 to mapX for y = 1 to mapY writeline datei, map(mapX,mapY) next next closefile datei Print "Datei wurde unter folgendem Dateinamen gespeichert: " +name delay 3000 ende=1 end function |
||
...biep...biep...biep...biep...biep |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group