Type in TXT file schreiben (Mit Bild)
Übersicht

![]() |
IguanBetreff: Type in TXT file schreiben (Mit Bild) |
![]() Antworten mit Zitat ![]() |
---|---|---|
Tachwohl!
Ich bin gerade dabei, einen Leveleditor zu schreiben: Beim speichern wird der Typeinhalt in eine TXT datei geschrieben: Code: [AUSKLAPPEN] fileout = WriteFile("Level.txt") For W = Each WW WriteLine fileout, W\X WriteLine fileout, W\Y WriteLine fileout, W\Bild Next CloseFile fileout Geladen wird so: Code: [AUSKLAPPEN] filein = ReadFile("Level.txt") While Not Eof(filein) X = ReadLine$(Filein) Y = ReadLine$(Filein) Pic = ReadLine$(Filein) W = New WW W\X = X W\Y = Y W\Bild = Pic Wend CloseFile filein gezeichnet wird so: Code: [AUSKLAPPEN] for W = each WW DrawImage W\Bild, W\X, W\Y next Nun, wenn ich jetzt das Programm starte und eine Map editiere, kann ich speichern und laden ohne Probleme. Nur, wenn ich eine Map gespeichert und den Editor verlassen habe, funktioniert das Laden nach dem Neustart des Editors nicht mehr! Das liegt wohl irgendwie an der Indendität des Bildes... ![]() Wie kann man das machen, dass beim Laden nach dem Neustart das entsprechende Bild angezeigt werden kann ![]() Oder gibt es eine andere Möglichkeit, Type-daten in ein file zu speichern ![]() Danke schon im voraus! Grüsse Iguan |
||
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Statt dem Handle des Bildes den Dateinamen speichern. Bzw. am vernünftigsten wäre es alle vorhandenen Bilder in ein Array zu laden und nur dessen Nummer in der Datei zu speichern. Beim darstellen der Bilder lässt sich dann auch entsprechend der Nummer auf das Array zugreifen und das Bild muss nicht 3 Trilliarden mal im Grafikspeicher liegen ![]() |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
Schnuff |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
du hast:
"for W = each WW" und "W = New WW" geschrieben, müsste es nicht "for W.WW = each WW" und "W.WW = New WW" heißen? |
||
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nicht zwingend wenn er beispielsweise vorher den Typehandler global oder local oder sonstwie deklariert hat ![]() local w.ww als Beispiel ![]() |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
![]() |
5k41 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Bitte hör auf Hubsi! Für einen Level Editor muss man einfach dim benutzen...am einfachsten geht das dann in verbindung mit ner animimage wo alle bilder des Tilesets nebeneinander gezeichnet werden... also ca. so:
Code: [AUSKLAPPEN] tileset=loadanimimage("tileset.bmp",32,32,0,5) dim feld(50,50);Oder wie groß die map auch immer ist while sonstewas ;Zeichnen for x=anfangsrangex to endrangex for y=anfangsrangey to endrandey drawimage tileset,x*32,y*32,feld(x,y) next next ;Maus If mousedown(1) then feld(mousex()/32,mousey()/32)=selection selection=hier wie man die tiles auswählt also mausrad oder HUD oder so nun musst du nur noch ne formel finden um anfangsrangex usw. zu berechnen... PS:das mit den ranges kann man auch weglassen und statt dessen 0 und 50 hinschreiben aber mit ist es VIIIEEELL schnelleer! |
||
Projekte:
For a better World - Gesellschaftsspiel ( 100%) User posted image |
![]() |
Iguan |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi
Danke für eure schnelle Antwort! Ich habs jetzt so gemacht, wie Hubsi geschrieben hat! (Alle Bilder in ein Array gespeichert) Danach wird anhand der BildNr das ensprechende Bild geladen Stimmt, W habe ich mit global deklariert! Jetzt funktioniert alles! danke für eure Hilfe! |
||
![]() |
5k41 |
![]() Antworten mit Zitat ![]() |
---|---|---|
...sry aber du hast da was falshc verstanden! hubsi (und ich) wollten beide das gleiche! mach es so wie ich es dir geschreiben hab...weil wenn du dir das anguckst wird dort nur einmal das bild geladen und der rest einfach per einer art "Kennnummer" gemacht...wenn du dir mein beispiel anguckst verstehst du das sicher... | ||
Projekte:
For a better World - Gesellschaftsspiel ( 100%) User posted image |
![]() |
Iguan |
![]() Antworten mit Zitat ![]() |
---|---|---|
Mein Editor läuft jetzt ungefähr so:
(man ist nicht an an Raster gebunden) 1. Schauen wieviele BMP's im GFX ordner 2. Dim Pic(BMP-Anzahl) 3. Alle Bilder nacheinander laden und in Pic()-Array speichern ***** Beim Bilder setzen auf die Map: W = new WW W\X = MouseX() W\Y = MouseY() W\B = BildNr ***** ****** Screen updaten: for W = each WW DrawImage Pic(W\B), W\X, W\Y next ****** Auf diese Weise wird das Bild jeweils nur einmal geladen! |
||
![]() |
5k41 |
![]() Antworten mit Zitat ![]() |
---|---|---|
mh ABER WIESO SO UMSTÄNDLICH^^ ich versteh das nicht^^ guck dir doch mein beispiel von oben mal an brauchst keine types alles wird nur einmal geladen und sollte schneller sein... | ||
Projekte:
For a better World - Gesellschaftsspiel ( 100%) User posted image |
![]() |
Iguan |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dein Beispiel verstehe ich schon! Aber ich will einen Editor, bei dem ohne Raster die Bilder frei platzieren kann! Mit Types kann ich soviele Bilder setzen, wie ich will! Bei deinem Code geht das alles nicht! ![]() |
||
![]() |
5k41 |
![]() Antworten mit Zitat ![]() |
---|---|---|
mh ok ich weiss zwar nun nicht was du genau meinst, da ich glaube das man das alles so wie ichs mach umsetzten kann aber ist ja auch egal hauptsache dir ist eholfen^^ | ||
Projekte:
For a better World - Gesellschaftsspiel ( 100%) User posted image |
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Er hat schlicht keine Tilemap ![]() ![]() |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group