Speichern von Koordinaten [ erledigt ]

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

Elendil

Betreff: Speichern von Koordinaten [ erledigt ]

BeitragFr, Feb 27, 2009 16:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Hey, hab zurzeit Probleme mit der Speicherfunktion von unserem Spiel. Hier der Code:
Code: [AUSKLAPPEN]

If KeyHit(63) Then
   datei = WriteFile("Saves\asgard01.sav")
         WriteLine datei, X
         WriteLine datei, Y
         WriteLine datei, Z
CloseFile datei
EndIf

If KeyHit(64) Then
dateil = ReadFile("Saves\asgard01.sav")
         
         X2=ReadLine(dateil)
         Y2=ReadLine(dateil)
         Z2=ReadLine(dateil)
CloseFile dateil
PositionEntity camera,X2,Y2,Z2
EndIf



Beim speichern werden die Koordinaten richtig abgespeichert aber wenn ich dann n stückchen weg lauf und dann lade komm ich woanders raus als ich gespeichert hab. Erst nach mehrmaligen drücken bin ich da wo ich sein will.
Thx jetz schonma
  • Zuletzt bearbeitet von Elendil am Fr, Feb 27, 2009 17:08, insgesamt einmal bearbeitet

hectic

Sieger des IS Talentwettbewerb 2006

BeitragFr, Feb 27, 2009 16:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Benutz für Zahlenwerte auch bitte Zahlen zum speichern und keine Strings. Also anstelle WriteLine nimm WriteFloat etc... Für Ganzzahlen ...Int was aber das 3D ja allgemein nicht ist.
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D

Elendil

BeitragFr, Feb 27, 2009 16:46
Antworten mit Zitat
Benutzer-Profile anzeigen
jo hab ich so gemacht wie du meintest, aber dann sieht die speicherdatei so aus:
Zitat:

¢ ŠÂ ¾B0 ; X
0 ; Y
0 ; Z


Also, ich hab keine Ahnung wie dis zustande kommt was bei X steht und Y und Z werden ja anscheinend als 0 ausgelesen oder nicht gefunden...

ToeB

BeitragFr, Feb 27, 2009 16:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja das ist so weil Float ja nicht als Zeichenkette abgespeichert wird, sondern mit Bits und Bytes und diese kann dann dein Texteditor nicht lesen Wink Aber es stehen schon die richtigen koordinaten drin...

Sonst wenn du immer noch probleme hastmach folgendes
Arrow Debugger an
Arrow Beim Speichern :
Code: [AUSKLAPPEN]
If KeyHit(63) Then
   datei = WriteFile("Saves\asgard01.sav")
         WriteFloat datei, X#
         WriteFloat datei, Y#
         WriteFloat datei, Z#
Debuglog "Speicherdaten : "+X+","+Y+","+Z
CloseFile datei
EndIf

Arrow Beim Laden :
Code: [AUSKLAPPEN]
If KeyHit(64) Then
dateil = ReadFile("Saves\asgard01.sav")
         
         X2#=ReadFloat(dateil)
         Y2#=ReadFloat(dateil)
         Z2#=ReadFloat(dateil)
Debuglog "Lade Daten : "+X2+","+Y2+","+Z2
CloseFile dateil
PositionEntity camera,X2,Y2,Z2
EndIf


So wenn du jetzt erst speichern drückst, kommt unten im Debug-Fenster dann eine neue Zeile mit deinen Koordinaten. Dann drückst du Laden und guckst ob die Koordinaten mit den beim speichern übereinstimmen Wink

mfg ToeB
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!

Tankbuster

BeitragFr, Feb 27, 2009 17:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Außerdem kann es sein, dass, wenn du Kollisionen verwendest, die Objekte nicht richtig positioniert werden. Dafür EntityType vor dem neuen positionieren auf 0 setzen Wink
Twitter
Download Jewel Snake!
Windows|Android

Elendil

BeitragFr, Feb 27, 2009 17:08
Antworten mit Zitat
Benutzer-Profile anzeigen
ja genau dis hab ich jetz getan ^^...hab die kollision rausgenommen, jetz gehts. Bin immer an irgendwelchen bekloppten büschen hängen geblieben,deshalb wurde der spieler nich wieder richtige positioniert. Thx an alle hier Smile

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group