Les Game Property du Logic Editor.
Fou Furieux du Clan
Inscrit:
25/02/2013 12:05
Post(s): 160
Hello ! Je rencontre actuellement un petit soucis avec le BGE concernant les Game Property dans le Logic Editor.

J'ai ajouté des Game Property et m'en sers un peu comme on le ferait avec des variables globales.

MAIS, je viens de me rendre compte que lorsque je change de scène, et même si l'objet est "linké", il efface toutes les propriétés pour remettre celles par défaut ! (Celles qui étaient indiquées quand j'ai lancé le jeu)

A comprendre que si j'avais set la propriété "PROUT" à 0 avant de lancer le BGE, et que par la suite je la set à 8 sur une autre scène, en changeant de scène, il s'en tamponne, et me remet 0. *arrachage de cheveux*

C'est hyper embêtant, car perso, je voyais un truc du genre : Je fais un fichier avec toutes les préférences du joueur (genre les commandes par exemple) je charge au début de la partie ce fichier pour mettre mes variables à jour (ça m'aurait permis de faire un espèce de fichier de sauvegarde quoi) et le tour est joué.

Sauf que du coup bah... bah... je peux pas ! *ARRRGGHHH*

Vous auriez pas une petite idée pour me débloquer la situation ? :P

J'aurais bien la solution du "scene overlay" mais j'ai vraiment peur qu'il ne décharge pas correctement mes scènes en passant d'une à l'autre. (et c'est franchement pas propre de faire comme ça....) Et j'ai également pensé à charger mes pref au lancement de chaque scène, sauf que, baaah, impossible d'instaurer une priorité dans les scripts oO (oui, car sinon, j'vais faire appel à des variables qui ne sont pas set correctement... enfin je sais, certains me diront que c'est possible, oui, effectivement, ça l'est, mais c'est pas opti du tout... et j'essaie déjà de gratter à tous les niveaux pour que ce soit pas trop bourrin cette histoire.).

Par avance, merci (encore une fois) à vous.

Contribution le : 21/05/2015 20:09
Créer un fichier PDF de la contribution Imprimer


Re: Les Game Property du Logic Editor.
OverdOzed
Inscrit:
20/10/2012 05:53
Post(s): 485

Contribution le : 21/05/2015 21:12
Créer un fichier PDF de la contribution Imprimer


Re: Les Game Property du Logic Editor.
OverdOzed
Inscrit:
08/10/2003 09:20
De Annecy
Post(s): 2819
Salut,
Je ne connais pas le globaldict mais je serai intéressé de savoir comment ça s'utilise en pratique, ça sert à charger/sauver l'état actuel du jeu?

Sinon pour sauver-charger la config du joueur tu peux passer par un fichier texte externe, je teste ça actuellement et ça marche plutôt bien, par contre il faut bien penser à mettre le chemin du fichier en absolut quand on teste sous Blender, et repasser en relatif quand on exporte le runtime (en effet le relatif prend racine non pas sur l'emplacement du fichier .blend mais sur l'éxécutable blender ou runtime exporté):
https://whatjaysaid.wordpress.com/2014/05/03/bge-saving-and-loading-with-pythons-built-in-file-handling/

https://whatjaysaid.wordpress.com/2014/05/18/bge-saving-configparser-data/

Contribution le : 21/05/2015 21:47
_________________
lucky
www.lucky3d.fr
Auto-Rig Pro Addon: Blender Market - GumRoad
Créer un fichier PDF de la contribution Imprimer


Re: Les Game Property du Logic Editor.
RegulatorZ
Inscrit:
23/05/2004 07:11
De Metz
Post(s): 11300
Salut,
le GlobalDict ça sert à tout ce qui est plus ou moins persistant. En gros c'est un endroit où stocker tout ce qui concerne le jeu en général, et pas une scène en particulier.

C'est vraiment très facile à utiliser.

Sans être dev, je crois que ça ressemble à une variable globale, en tout cas du point de vue du BGE.

Contribution le : 22/05/2015 06:49
_________________
Portfolio
Créer un fichier PDF de la contribution Imprimer


Re: Les Game Property du Logic Editor.
OverdOzed
Inscrit:
08/10/2003 09:20
De Annecy
Post(s): 2819
Ah d'accord c'est effectivement très simple, merci pour le lien.

Contribution le : 22/05/2015 07:38
_________________
lucky
www.lucky3d.fr
Auto-Rig Pro Addon: Blender Market - GumRoad
Créer un fichier PDF de la contribution Imprimer


Re: Les Game Property du Logic Editor.
Fou Furieux du Clan
Inscrit:
25/02/2013 12:05
Post(s): 160
Parfait ! Et vu que je vais également avoir besoin de sauvegarder du texte dans un fichier, vous avez répondu aux deux questions que je me posais :D

Contribution le : 22/05/2015 08:16
Créer un fichier PDF de la contribution Imprimer


Re: Les Game Property du Logic Editor.
Fou Furieux du Clan
Inscrit:
21/05/2014 10:29
Post(s): 261
_tibo_ : Si je me souviens bien c'est la même chose que :
bge.logic.mavar = 42

Contribution le : 22/05/2015 09:23
Créer un fichier PDF de la contribution Imprimer


Re: Les Game Property du Logic Editor.
OverdOzed
Inscrit:
21/08/2013 19:12
De CH [+]
Post(s): 1558
Heuuu... non...

Lorsque tu écris mon_objet_python.ma_var = 42, c'est une propriété de mon_objet_python. Le globalDict est un dictionnaire (un mapping) référencé comme bge.logic.globalDict.

On l'utilise donc comme ça:

bge.logic.globalDict[ma_var] = 42
print(bge.logic.globalDict[ma_var])


Bien sûr, on pourrait avoir bidouillé un truc pour que les attributs ajoutés à bge.logic (un objet de type module) soient intégrés dans le globalDict. Mais ce n'est pas le cas.

Précisons encore que le globalDict:
1) peut être sauvegardé en tant que fichier séparé (format pickle, si je me souviens bien, et ça justifierait le point suivant) - c'est tout son intérêt
2) n'accepte que des objets de type natifs, typiquement:

obj = bge.logic.getCurrentController().owner

bge.logic.mon_obj = obj #ok
bge.logic.globalDict["mon_obj"] = obj #erreur


Le globalDict fournit donc une possibilité de faire des sauvegardes de paramètres, etc., et il a des correspondances directement avec les briques logiques. Mais si tout ce que l'on souhaite c'est garder un objet entre deux exécutions d'un script, on préfère en général assigner directement à un module (bge.logic. ... = ...) ou - plus pythonique - d'utiliser les scripts dans le BGE en mode Module - et donc d'y déclarer des variables globales.

Contribution le : 22/05/2015 11:37
_________________
BAddons, La Collection d'Addons de Matpi: https://github.com/qwenger/BAddons
Développeur Blender quand j'en ai le temps...

Créer un fichier PDF de la contribution Imprimer


Re: Les Game Property du Logic Editor.
Fou Furieux du Clan
Inscrit:
21/05/2014 10:29
Post(s): 261
Ok j'ai rien dit

Contribution le : 22/05/2015 12:20
Créer un fichier PDF de la contribution Imprimer


Re: Les Game Property du Logic Editor.
OverdOzed
Inscrit:
08/10/2003 09:20
De Annecy
Post(s): 2819
Citation :
par contre il faut bien penser à mettre le chemin du fichier en absolut quand on teste sous Blender, et repasser en relatif quand on exporte le runtime


Je m'auto corrige:

Pour ne pas avoir à changer le chemin en absolut quand on teste le jeu dans Blender, c'est pratique d'utiliser ça:

path = GameLogic.expandPath("//config.txt")


Ainsi le chemin relatif part du fichier blend ou du runtime et non plus de l'application elle même.

Contribution le : 23/05/2015 11:49
_________________
lucky
www.lucky3d.fr
Auto-Rig Pro Addon: Blender Market - GumRoad
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
Compte*
Nom   Mot de passe   Authentification
Message:*



[Recherche avancée]



Sujets récemment répondus
Forums Sujets Réponses Lus Dernières contributions
The Blender Clan 'tchat Clignotement de l'interface de blender 7 292 Aujourd'hui 13:13:40
zezer 
Questions & Réponses Pass index 1 16 Aujourd'hui 12:47:07
Rimpotche 
Questions & Réponses [non résolu] Adoucir les courbes et espacer uniformément les vertices dans l'UV Map 0 15 Aujourd'hui 11:28:59
Gizmil 
Le coin des geeks pc bas prix    [1][2] 15 133 Aujourd'hui 11:27:14
Sphere3d 
[WIP] et travaux terminés [terminé] court métrage 2020 8 169 Hier 18:44:19
flahaut 
Questions & Réponses épaisseur sur une texture 6 75 Hier 15:28:27
moonboots 
Questions & Réponses [résolu] Affichage de la grille du plan et des axes 2 56 Hier 14:27:44
gedru 
Questions & Réponses [résolu] Blender 2.80 ne démarre pas 7 1064 Hier 09:42:16
geo160 
Moteur de jeu GameBlender et alternatives [WIP] DeadSigns FPS horreur - Première version disponible !    [1][2][3]...[56] 559 93263 06/07 17:08:42
Bibi09 
Moteur de jeu GameBlender et alternatives hARMful engine    [1][2][3]...[9] 80 9040 06/07 16:58:20
Bibi09 
Questions & Réponses Knife tool a arrêté de fonctionner 1 58 06/07 16:29:51
Rimpotche 
Hors Sujet !! Système solaire open source 5 1539 26/12/2019 12:46
Bibi09 
Questions & Réponses [non résolu] Ecran bleu 2 93 05/07 18:35:32
alexmge 
Questions & Réponses [non résolu] va et vient entre sculpt et layout impossible    [1][2] 11 219 05/07 09:56:50
manondup 
Le coin des geeks carte graphique Intel(R) HD Graphics et OpenGL    [1][2][3] 24 953 04/07 22:47:15
Bibi09 
Questions & Réponses shader 5 181 04/07 20:23:23
Rimpotche 
[WIP] et travaux terminés Le Tigre 4 264 04/07 11:19:09
lastrodamo 
Questions & Réponses [non résolu] le Rendu de preview et le rendu final ne sonts pas pareils 2 151 03/07 23:18:27
Pinguinax 
Questions & Réponses [non résolu] Particules system dynamique 0 87 03/07 13:27:09
Ramar 
[WIP] et travaux terminés bas sculpture corps    [1][2] 18 413 01/07 18:57:21
prometheusx 

Qui est en ligne
56 utilisateur(s) en ligne (dont 30 sur Forums)

Membre(s): 1
Invité(s): 55


zezer, plus...
Nouveaux membres
TerraWills 8/7/2020
Alyce15G4 8/7/2020
singinzerin 6/7/2020
Dartank 5/7/2020
manondup 3/7/2020
Ramar 3/7/2020
Blendnoob 2/7/2020
blendmus 30/6/2020
Rafalithique2020 29/6/2020
rainbowfruit 27/6/2020
Dernier Ajout
mirages-preview~0.jpg

Evènements à venir
Jui 11
BUG de Lyon
Jui 23
Anniv du BlenderClan !
Aou 7
anniversaire Cem47
plus 269 plus d'élément(s)
 Par Mickaël Guédon [ebrain] © 2003-2020 The Blender Clan - hébergé par TuxFamily - Site déclaré à la CNIL sous le numéro 1155445