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): 2944
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): 2944
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): 2944
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
Questions & Réponses blender 2.90 export stl de plusieurs objets d une scene 1 74 Aujourd'hui 13:32:56
viralata 
Le coin des geeks Probleme ordinateur ram ou carte mère 8 64 Aujourd'hui 12:11:38
lucky 
Moteur de jeu GameBlender et alternatives [non résolu] Cs (vaisseau)    [1][2][3]...[54] 530 152236 Aujourd'hui 11:13:14
Redstar 
Questions & Réponses [résolu] Changer le "World" du 3D Viewport avec 2.91 2 33 Hier 19:41:40
Horemheb 
Hors Sujet !! création d'une vidéo pour pyramide holographique 1 96 Hier 13:36:31
meltingman 
Questions & Réponses Réduire des faces individuellement dans une seule ou deux directions ? 5 553 Hier 13:09:11
yawdpwal 
Questions & Réponses [non résolu] Make Parent / Assemblage et mécanisme complexe 6 1055 Hier 07:53:14
Sphere3d 
Questions & Réponses aspect de ma courbe de Bézier 3 59 01/03 18:38:47
Littlespoon 
Questions & Réponses Optimisation topologie 1 51 01/03 17:19:01
yawdpwal 
The Blender Clan 'tchat Blender 2.8x : Actus, tests, feedback..    [1][2][3]...[8] 73 42124 01/03 11:35:54
Guiu 
Questions & Réponses UV mapping supprimer une projection 5 155 01/03 08:34:39
debutant 
Questions & Réponses existe il un moyen de savoir si un modele 3D tient debout    [1][2] 13 708 28/02 19:54:23
manie 
Questions & Réponses [non résolu] Shader de corde procedural 3 82 28/02 18:56:01
Rimpotche 
Questions & Réponses Couleur sur mesh après les avoir joint 2 67 27/02 17:05:25
thomas56 
Questions & Réponses [résolu] Impossible de rendre ma vidéo. 5 96 27/02 15:07:49
thomas56 
[WIP] et travaux terminés [WIP] La gabarre '' Le Gros Ventre''    [1][2][3]...[6] 58 6071 27/02 12:08:19
Guiu 
Questions & Réponses Bouger un objet lié à une armature via un empty 5 108 27/02 09:06:21
Lylo 
Le coin des geeks Amd vs Nvidia    [1][2][3]...[5] 46 2894 26/02 22:51:01
Lylo 
[WIP] et travaux terminés [WIP] La cabane de Tarzan    [1][2][3]...[10] 98 28407 26/02 19:10:05
BlendX 
[WIP] et travaux terminés [WIP & tests] Fluides/ Molecular addon    [1][2] 13 443 26/02 18:54:44
lucky 

Qui est en ligne
133 utilisateur(s) en ligne (dont 77 sur Forums)

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


ebrain, plus...
Nouveaux membres
Marc13458 3/3/2021
MarshallCh 3/3/2021
FranciscoC 3/3/2021
LateshaNaw 3/3/2021
RooseveltB 3/3/2021
ReggieClau 3/3/2021
KatjaWerfe 3/3/2021
JinaWilhit 3/3/2021
AidanMedlo 3/3/2021
ZIICatheri 3/3/2021
Dernier Ajout
2020-09-24.jpg

Evènements à venir
Mar 14
Anniversaire de AMV12
Mar 16
Anniversaire de galba
Mar 29
GeeWee's B-Day
plus 259 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