Anzahl von einem type speichern und laden ?
Übersicht

![]() |
WEBLinkBetreff: Anzahl von einem type speichern und laden ? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Folgendes:
Code: [AUSKLAPPEN] If mousedown1 Then
img.imga=New imga img\x=vierX - sk img\y=vierY - sk2 img\tileIndex = AZahlE Tileanzahl = Tileanzahl + 1 EndIf dies erstellt ein Type. Mann kann jetzt so viele Bilder einfügen wie man möchte. .Code: [AUSKLAPPEN] laden
Locate 163, 519 kartenname$ = Input$("") fileout = OpenFile("Maps\"+kartenname$+".map") imga = ReadLine (fileout) AZahlE = ReadLine (fileout) Ebene1Chip = ReadLine (fileout) For img.imga = Each imga img\x = ReadLine (fileout) img\y = ReadLine (fileout) img\tileIndex = ReadLine (fileout) Next CloseFile fileout ladenan = 0 Gosub restart . speichern Locate 163, 519 kartenname$ = Input$("") fileout = WriteFile("Maps\"+kartenname$+".map") WriteLine fileout, imga WriteLine fileout, AZahlE WriteLine fileout, Ebene1Chip For img.imga = Each imga WriteLine fileout, img\x WriteLine fileout, img\y WriteLine fileout, img\tileIndex Next CloseFile fileout Speichernan = 0 Gosub back Hier ist mein code fürs speichern und laden. Wenn man den Editor nicht schließt funktioniert alles einwandfrei. Ich kann neue Tiles hinzufügen alte löschen usw. und wenn ich die karte lade sieht alles so aus wie ich sie gespeichert hatte. Schließe ich den Editor und öffne ihn wieder und lade dann erscheint nichts auf dem Bilde. zeiche ich so viele Tiles wie ich beim speichern gezeichnet hatte und lade wieder erscheint meine gespeicherte karte nahezu perfekt. |
||
antome!!! gesperrt !!! |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
So auf die schnelle fällt mir auf das du readline und writeline benutzt, versuche mal writeint und readint | ||
antome |
![]() |
WEBLink |
![]() Antworten mit Zitat ![]() |
---|---|---|
Jo, hatte ich um in die gespeicherten Dateien schauen zu können. In denen sieht es folgendermaßen aus
0 1 100 = x 360 = y 1 140 360 1 160 360 1 200 360 1 220 360 1 240 360 1 300 360 1 320 360 1 360 360 Wie man Sieht werden ganz fein alle Tiles gespeicht die gezeichnet werden. Aber komischerweise beibt die anzahl immer 1 |
||
antome!!! gesperrt !!! |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
nimm nicht imga, ich denke du benutzt den Namen des Types
baue einen Zähler ein um deine Einträge zu zählen und benutze den. |
||
antome |
![]() |
WEBLink |
![]() Antworten mit Zitat ![]() |
---|---|---|
Und wie würde das letztendlich aussehen?
danke schonmal |
||
![]() |
Schranz0r |
![]() Antworten mit Zitat ![]() |
---|---|---|
Schau mal da:
Zitat: If mousedown1 Then ;<-----------------kann net gehen, weil du () vergessen hast. Mach mal Mousehit(1)
img.imga=New imga img\x=vierX - sk img\y=vierY - sk2 img\tileIndex = AZahlE Tileanzahl = Tileanzahl + 1 EndIf Grüße Schranz0r Ich habs da mal so gemacht, ich häts ja ganz in deinen code angepast, aber ich hab ja net alles.... Code: [AUSKLAPPEN] Graphics 800,600,0,2
Global tileanzahl Global tilemax = 10 Type imga Field x Field y Field tileIndex End Type Repeat If MouseHit(1) Then img.imga=New imga img\x=vierX - sk img\y=vierY - sk2 img\tileIndex = AZahlE Tileanzahl = Tileanzahl + 1 Print Tileanzahl EndIf Until KeyHit(1) PS deine HP geht net ^^ |
||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!HAUPTSACH et kost VIEL!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
- Zuletzt bearbeitet von Schranz0r am So, Sep 03, 2006 18:42, insgesamt einmal bearbeitet
antome!!! gesperrt !!! |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich nehme an du erstellt eine TileMap
immer wenn du ein Tile einfügst: Eine Variable/Integer benutzen zähler = zähler + 1 wenn du ein Tile löschst: zähler = zähler - 1 Den Zähler dann als erstes abspeichern WriteInt Datei, Zähler Zuerst deine HeaderDaten laden: Datei = Readfile(file$) zähler = ReadInt(atei) andere Headerdaten Dann eine Schleife erstellen und so oft ein neues Type erstellen oder die alten Types überschreiben bis der Zähler zuende ist For i = 0 to Zähler Next oder ohne Zähler: While not Eof(Datei) Wend Immer vorausgesetzt du hast alle Daten welche nicht Tiles sind vorher im Header drin und schon ausgelesen |
||
antome |
![]() |
WEBLink |
![]() Antworten mit Zitat ![]() |
---|---|---|
@ Schranz0r
Ups, kannst ja nicht wissen mousedown1 ist eine Variable der ich am Anfang des Codes mousedown(1) zuweise. Der Grund: Es gab mal einen Bug das die Maus nicht mehr reagiert(auch wenn man den speicher löschte), dies war damals die Möglichkeit wie man es Umgehen konnte. (damals ca 1,5 Jahren (als ich das letzte mal Programmierte). Ja die Homepage ist genauso alt ![]() @ antome Jo das könnte funzen werd ich gleich mal versuchen. Ein zähler is ja schon eingebaut = Tilesanzahl. MfG |
||
![]() |
WEBLink |
![]() Antworten mit Zitat ![]() |
---|---|---|
Oh, ich hab grad was gelesen das mich wahrscheinlich dazu bringen wurd den Editor wieder mit Dim zu machen.
Zitat: Hier wird die Benutzung nicht empfohlen: 1) Bei hoher Objektanzahl (über 10.000) wird die Benutzung nicht empfohlen. Dies wirkt sich sehr negativ auf den Speicher aus (dazu später mehr). Hier wird entweder DIM oder BANK empfohlen. 2) Bei statischer Objektanzahl, wo während des Programmablaufs niemals die Anzahl geändert wird. Hier wird auch entweder DIM oder BANK empfohlen. Ein großer Fehler ist z.B. die Verwaltung von Karteninformationen (Map) mit Types. ---- Wenn ich Punk 2 lese und den letzten Satz. Joar... Denn zuletzt hing ich daran das die Tiles zwar beim laden da waren aber da ich auch die Grafiken für einer Ebene in dem Type hatte. Ging das auseinaderhalten der Grafiken nicht. Naja, komischerweise aber wieder wenn ich einige Tiles gemalt hatte OMG Nur so ne Frage, kann mir jemand einen Editor zeigen der rein auf types beruht? |
||
![]() |
ChaosCoder |
![]() Antworten mit Zitat ![]() |
---|---|---|
also entweder bin ich ein bissl doof oder ich hab einfach gleich mal den fehler gefunden. also, wenn du den editor neu startest und ne map lädst hast du doch gar keine type objekte denen das, was du aus der datei ausliest zu geordnet werden kann! also lösch erst alle vorhandenen objekte und erstelle dann genau soviele, wie in der datei auch abgespeichert sind. probier den ma aus:
Code: [AUSKLAPPEN] laden
Locate 163, 519 kartenname$ = Input$("") fileout = OpenFile("Maps\"+kartenname$+".map") imga = ReadLine (fileout) AZahlE = ReadLine (fileout) Ebene1Chip = ReadLine (fileout) for img.imga = Each imga delete img.imga next while not eof(fileout) img=new imga img\x = ReadLine (fileout) img\y = ReadLine (fileout) img\tileIndex = ReadLine (fileout) wend CloseFile fileout ladenan = 0 Gosub restart |
||
Projekte: Geolaria | aNemy
Webseite: chaosspace.de |
![]() |
WEBLink |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ne, Sry. Er findet dann die img nicht mehr. selbst wenn nich den editor an lasse. | ||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group