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
Questions & Réponses Bug de visualisation 3D 2 10 Aujourd'hui 12:55:29
moonboots 
[WIP] et travaux terminés [résolu] Deplier une pièce 6 161 Aujourd'hui 12:24:49
Redstar 
Questions & Réponses Configurer Blender pour plus de productivité (Version 2.5x)    [1][2][3] 27 45043 Aujourd'hui 12:18:47
Melodicpinpon 
Questions & Réponses Combiner simple select et box select 2 76 Aujourd'hui 12:16:51
Melodicpinpon 
Questions & Réponses Remplacer un objet par plusieurs autres 4 65 Aujourd'hui 10:42:38
Warels 
Questions & Réponses [résolu] Rigid bodies répulsifs 4 62 Aujourd'hui 07:02:01
Corpia 
Hors Sujet !! Tuto de la baleine, le retours :D - en français - Blender 2.93 9 547 Aujourd'hui 02:34:23
meltingman 
Questions & Réponses [résolu] Objet qui disparaissent du ViewPort 5 71 Hier 14:35:45
Horemheb 
Questions & Réponses [résolu] Solidify non homogène dans une pièce 4 112 10/04 06:53:33
blendinfos 
Questions & Réponses Possible de changer plusieurs couleur d'un même objet avec export? 5 141 09/04 19:08:55
Bibi09 
Questions & Réponses Fonction 'Jump' en Fly mode rippe de côté 1 58 09/04 08:43:44
Melodicpinpon 
Questions & Réponses Raccourcis, préférences et thème 0 51 08/04 20:13:32
Melodicpinpon 
Questions & Réponses paint sous 2.79    [1][2] 11 434 08/04 17:54:08
moonboots 
Python & Plugins [WIP] Transportation Add-on pour Blender 9 2051 08/04 07:54:24
Nemo 
Questions & Réponses Comment verrouiller la longueur d'une courbe? 2 95 07/04 22:01:05
Melodicpinpon 
Python & Plugins Vegetation addon - tree, animation et plus ! 4 691 07/04 21:12:47
ferrari6 
Questions & Réponses [résolu] prolonger une NurbsPath par une ligne droite 2 82 07/04 15:59:05
Horemheb 
Questions & Réponses [non résolu] Problème de rendu de lumière 5 132 07/04 11:08:04
Bibi09 
[WIP] et travaux terminés [WIP] Mecha design - Iron Man Mountain Gorilla en Low Poly 7 176 06/04 15:40:48
moonboots 
Moteur de jeu GameBlender et alternatives [WIP] Jeu "Collapsing - Quandore's Fate"    [1][2][3]...[5] 43 18345 04/04 10:42:48
timeman13 

Qui est en ligne
153 utilisateur(s) en ligne (dont 129 sur Forums)

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


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