Mapeditor mit variabler Tilegröße

Übersicht BlitzBasic Beginners-Corner

Gehe zu Seite Zurück  1, 2

Neue Antwort erstellen

DivineDominion

BeitragMo, März 28, 2005 14:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Typeinstanzen liegen im Speicher.
Mit For-Each werden sie dann durchlaufen.

Global macht man eine Instanz nur, wenn man sie speziell einzeln braucht. Wie z.b. Player.Flugzeug oder sowas.

Dein code ist auch sehr komisch - Du löscht den Bildschirminhalt mit CLS, malst mit Text (Grafikbefehl) und danach mit Input (Konsolenbefehl - wird sofort auf frontbuffer gezeigt). Irgendwie sehr ominös Smile Statt Text dann lieber PRint nehmen, das macht sinn, oder ebe GetKey()-Inputroutine bauen die "nebenher" läuft, da Input ja alles anhält.

Mit Fli pund so musst du auch noch üben. Du teilst dein Programm mit solchen Cls ... flip Blöcken in mehrere Teile, aber es ist ja nur ein Programm, daher sollst du Cls und Flip je nur einmal nutzen, und zwar in der Hauptschleife, und den Rest musst du dann eben so gestalten, dass er nicht bremst (Input stoppt bis Eingabe bestätigt wurde, GetKey() gibt immer nur die ASCII-Nummer der Taste zurück wenn auch was gedrückt wurde).

Probier mal mapname$ zu printen bevor du mit CLS wieder alles löscht. Oder nimm DebugLog, das schreibt in ein Extrafenster (Debug einschalten!).

Achja:
Code: [AUSKLAPPEN]
filename = WriteFile("Maps\"+ mapname + ".map")

Da würd' ich das $ auch mal hinsetzen. Müsste er ansich wissen, dass es ein String ist, aber sicher ist sicher. Und sauberer.

Probier dann auch mal CurrentDir$() ins Debuglog/mit Print auszugeben, um zu schauen ob sich BB beim arbeiten auch im richtigen Verzeichnis befindet. Es könnte sein, dass es schon im \Maps Ordner arbeitet und daher das nicht so recht funktioniert:

Code: [AUSKLAPPEN]

DebugLog mapname$
DebugLog Currentdir$(  )
DebugLog CurrentDir$(  ) + "Maps\" + mapname + ".map"


Viel spaß beim debuggen Smile
christian.tietze@gmail.com - https://christiantietze.de
macOS

Baret

BeitragMo, März 28, 2005 19:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke für deine ausführliche Hilfe!

Ich lösche den Bildschirm deshalb, weil der Bildschirm sonst sehr voll ist und man den Text nicht gut sieht.
Habe jetzt aber auf Locate und Print umgestellt.
Das Problem, dass das ganze Programm stillsteht, ist nicht weiter schlimm da sonst eigentlich nichts zu berechnen/darzustellen ist. Das Programm kann erst nach der Eingabe weiterarbeiten.

Hab den Fehler endlich gefunden!Embarassed Embarassed Embarassed

Ich habe vergessen den gesamten Pfad unter WriteFile zu verwenden.
Wenn ich ein Tileset geladen habe, befand ich mich in \Bilder\.
Mit WriteFile wollte ich dann dort die Datei in den (nicht vorhandenen Ordner) Maps speichern(was natürlich nicht funktioniert).

Jetzt speichere ich einfach beim Start des Programms den aktuellen Pfad in programmpfad$ und setze ihn vor "Maps\" + .... .
BlitzBasic: [AUSKLAPPEN]

filename$ = WriteFile(programmpfad$ + \"Maps\\"+ mapname$ + \".map\")


Mfg
Baret
 

getlose

BeitragMo, März 28, 2005 22:03
Antworten mit Zitat
Benutzer-Profile anzeigen
erledigt Wink

Gehe zu Seite Zurück  1, 2

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group