Sauvegarde dans un fichier. Script en fin de page

Posté par jimmydu54 le 31/8/2011 12:16:11
Je ne savais pas dans quelle partie le mettre (python, Bge ou autre) donc je l'ai mis dans les questions reponse.

Ca serait pour sauvegarder dans un fichier la position de mon personnage.
J'ai créer ce script a partir d'un ancien fichier que j'aavais trouver sur le net, mais il fonctionnait sous 2.4, donc impossible de l'utiliser sur la 2.5!
Voici ce que j'ai fait :

Sauvegarde :

from bge import logic as gl


cube = ["Cube"]
cubePosi = cube.getPosition()
cubeRot = cube.getOrientation()


gl.saveGlobalDict = open("Game1.sav", "w")


gl.saveGlobalDict.write ("This is a valid save file\n")


for x in range(len(cubePosi)):
	gl.saveGlobalDict.write(str(cubePosi[x]) + "\n")
for x in range(len(cubeRot)):
	for y in range(len(cubeRot[x])):
		gl.saveGlobalDict.write(str(cubeRot[x][y]) + "\n")


gl.saveGlobalDict.close()


Chargement:
from bge import logic as gl


cube = ["Cube"]
cubePosi = cube.getdPosition()
cubeRot = cube.getOrientation()


gl.loadGlobalDict()) = open("Game1.sav", "r")


header = loadGlobalDict.readline()
header = header[0:-1]

if header == "This is a valid save file":


	for x in range(len(cubePosi)):
		loadCoord = gl.loadGlobalDict.readline()
		cubePosi[x] = float(loadCoord[0:-1])
	cube.setPosition(cubePosi)
	for x in range(len(cubeRot)):
		for y in range(len(cubeRot[x])):
			loadCoord = gl.loadGlobalDict.readline()
			cubeRot[x][y] = float(loadCoord[0:-1])
			cube.setOrientation(cubeRot)


gl.loadGlobalDict.close()


Il est possible qu'il y ai des chose qui n'existent pas dans mon script car je ne connais pas toutes les fonctions en pyhon (enfin j'en connais pas plutot )

Merci d'avance.


[EDIT]: désolé, toute la mise en page a disparue (les tabulations)

Cette contribution était de : http://blenderclan.tuxfamily.org/html/newbb/viewtopic.php?forum=3&topic_id=31998&post_id=392460