Les Game Property du Logic Editor.
Fou Furieux du Clan
Inscrit:
25/02/2013 12:05
Post(s): 161
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): 2963
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): 11301
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): 2963
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): 161
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): 2963
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
Python & Plugins ardoise 3D en add-on? 2 50 Aujourd'hui 14:18:47
neonclignote 
Questions & Réponses [résolu] Transparence et Dynamic Paint pour un tag 3 539 Aujourd'hui 11:16:23
CBY 
Questions & Réponses [non résolu] Dynamic paint + particle 2 58 Hier 18:39:49
Jeanclaude25 
Hors Sujet !! les tutos de Moonboots    [1][2][3]...[9] 86 5792 Hier 18:02:32
moonboots 
Questions & Réponses [résolu] Lier visibilité et rendering 4 982 Hier 10:32:29
Melodicpinpon 
Questions & Réponses Text comme screen overlay 4 84 Hier 09:50:17
Melodicpinpon 
Moteur de jeu GameBlender et alternatives [WIP] Jeu "Collapsing - Quandore's Fate"    [1][2][3]...[5] 46 19370 Hier 09:36:54
Redstar 
Moteur de jeu GameBlender et alternatives [non résolu] Cs (vaisseau)    [1][2][3]...[54] 532 157250 Hier 09:32:25
Redstar 
Questions & Réponses Driver sur la résolution de caméra 0 17 Hier 09:31:45
Melodicpinpon 
Questions & Réponses Utiliser Particle Mirror 0 19 Hier 08:24:08
Horemheb 
Questions & Réponses Reset radius de plusieurs nodes à 1 0 34 05/05 10:32:48
Melodicpinpon 
Le coin des geeks Votre avis sur un gadget 0 57 05/05 09:52:39
Redstar 
Questions & Réponses Hook et proportional editing sur courbe 1 33 05/05 08:09:29
Melodicpinpon 
Python & Plugins Vegetation addon - tree, animation et plus ! 5 896 04/05 20:59:52
ferrari6 
Python & Plugins [WIP] Transportation Add-on pour Blender    [1][2] 10 2460 04/05 20:57:01
ferrari6 
Questions & Réponses Occlusion ambiante dans 2.80 et plus avec eevee 1 87 04/05 17:14:51
jcnouveau 
Questions & Réponses [résolu] Driven Camera Black out 1 59 03/05 18:40:08
Melodicpinpon 
Moteur de jeu GameBlender et alternatives [WIP] DeadSigns FPS horreur - Version alpha disponible + discord    [1][2][3]...[66] 655 132067 02/05 08:46:51
Hook 
Questions & Réponses Problème clefs de mouvements verrouillées 2 266 30/04 11:24:09
Lylo 
Questions & Réponses Edit destructif 1 224 29/04 21:40:49
WinZs 

Qui est en ligne
104 utilisateur(s) en ligne (dont 67 sur Forums)

Membre(s): 0
Invité(s): 104


plus...
Nouveaux membres

Nemo
11/3/2021
qingjie 10/3/2021
Kask909 9/3/2021
marie-antoinette 7/3/2021
Bugs 7/3/2021
lolorogli75 4/3/2021
Flagiel 4/3/2021
thedeathclown 1/3/2021
Littlespoon 28/2/2021
luxperpetua 27/2/2021
Dernier Ajout
2020-09-24.jpg

Evènements à venir
Mai 18
Anniversaire Luneo
Jui 30
Anniv des Jedi :-D
Jui 10
BUG de Lyon
plus 256 plus d'élément(s)
 Par Mickaël Guédon [ebrain] © 2003-2021 The Blender Clan - hébergé par TuxFamily - Site déclaré à la CNIL sous le numéro 1155445