(1) 2 3 4 »


Python et variables
Fou Furieux du Clan
Inscrit:
01/11/2009 20:25
Post(s): 141
Bonsoir,

Mon titre n'est pas très explicite et je m'en excuse.
Voilà ce que je cherche à faire autrement que par les briques logiques (ça fonctionne, mais ça devient ingérable).

J'ai 4 sensors qui récupèrent la valeur True ou False d'actuators (a - b - c -d -> property toggle) qui sont des interrupteurs activés ou non lorsqu'on clique sur 4 meshs différents.

J'aimerais pouvoir récupérer la valeur de ces actuators (true ou false) au travers d'un script pour rendre 4 autres meshs visibles ou invisbles.
si property a=true alors les meshs b' c' d' sont invisibles
si property b=true alors les meshs a' c' d' sont invisibles
si property c=true alors les meshs a' b' d' sont invisibles
si property d=true alors les meshs a' b' c' sont invisibles

Merci pour votre aide

Contribution le : 16/11/2009 17:17
Créer un fichier PDF de la contribution Imprimer


Re: Python et variables
OverdOzed
Inscrit:
24/06/2009 22:49
Post(s): 349
je pense que tu n'a pas besoin de script. tu peu passerpar l'actuator setVisible. (ps : je suis pas sur mon ordi la donc je peut pas être plus précis)

Contribution le : 16/11/2009 17:46
Créer un fichier PDF de la contribution Imprimer


Re: Python et variables
Fou Furieux du Clan
Inscrit:
01/11/2009 20:25
Post(s): 141
Oui, ça fonctionne par l'actuator "Visible", mais ça me fait un maillage trop lourd à gérer en cas d'erreur.
Il me semble qu'un script serait le mieux adapté pour ça.

4 Controllers, 4 actuators et 12 liaisons + plus le reste...

Contribution le : 16/11/2009 18:08
Créer un fichier PDF de la contribution Imprimer


Re: Python et variables
Fou Furieux du Clan
Inscrit:
11/10/2008 22:27
De Maroc
Post(s): 253
je ne connais pas la syntaxe de python mais je crois que ce que tu veux faire sera facile avec un tableau de variable que tu testeras avec une boucle à condition imbriquées.

Contribution le : 16/11/2009 18:58
Créer un fichier PDF de la contribution Imprimer


Re: Python et variables
OverdOzed
Inscrit:
07/11/2008 19:38
Post(s): 874
Salut,

tu peux gérer cela par un script indépendant de tes objets (un empty par exemple).

1. Récupérer tes objets
import 	GameLogic as g	
cont = 	g.getCurrentController()
scene = g.getCurrentScene()
objList = scene.objects

# Interrupteurs
int_1 = objList.get("OBinterrupteur_1")
int_2 = objList.get("OBinterrupteur_2")
int_3 = objList.get("OBinterrupteur_3")
int_4 = objList.get("OBinterrupteur_4")
list_int[int_1, int_2, int_3, int_4]

# Objets à afficher/cacher
obj_1 = objList.get("OBobj_1")
obj_2 = objList.get("OBobj_2")
obj_3 = objList.get("OBobj_3")
obj_4 = objList.get("OBobj_4")
list_obj[obj_1, obj_2, obj_3, obj_4]



2. Initialiser l'état des interrupteurs
for interrupteur in list_int:
    # Désactiver les interrupteurs, par défaut
    interrupteur["actif"]=0

# Seul l'interrupteur 1 est actif par défaut
int_1["actif"] = 1



3. Initialiser la visibilité des objets (invisibles par défaut, par ex) :
for obj in list_obj:
    obj.visible=False


4. Lors d'un événement (clic, dans ton cas), un script différent (ou une brique logique) modifiera la valeur d'un des interrupteurs.
Ex :
int_1["actif"]=0
int_2["actif"]=1
own.sendMessage("change_visibilite")


5. Dans un autre script relié à un sensor "message" :
# Identifier le sensor
msg_sen = cont.sensors["message"]

# Récupérer la liste des messages reçus
list_msg = msg_sen.subjects

# Si le message qui nous concerne a été envoyé/reçu
if "change_visibilite" in list_msg :

    # Rendre invisibles tous les objets
    for obj in list_obj:
        if obj.visible == True :
           obj.visible = False  

    # Rendre visibles uniquement ceux que l'on souhaite
    if int_1["actif"]==1:
        obj_1.visible = True
    elif int_2["actif"]==1:
        obj_2.visible = True
    elif int_3["actif"]==1:
        obj_3.visible = True
    elif int_4["actif"]==1:
        obj_4.visible = True         


Voilà, en gros.
Je n'ai pas testé mais ça devrait marcher.
On peut encore bien simplifier le script, mais je ne connais pas ton niveau en programmation et cette version sera plus facilement compréhensible.

Tu peux tout faire fonctionner dans le même script, ou avec plusieurs scripts différents, plusieurs modules, etc...
Si tu travailles avec des scripts différents, il te faudra utiliser des variables globales pour g.list_int et g.list_obj.

En cherchant un peu, tu pourras adapter comme tu le sens.
J'espère que ça t'aidera.

Contribution le : 16/11/2009 19:10
Créer un fichier PDF de la contribution Imprimer


Re: Python et variables
Fou Furieux du Clan
Inscrit:
01/11/2009 20:25
Post(s): 141
Et ben merci Cray, c'est exactement ce que je cherche !!! Mon niveau en programmation python est nul :). Pour résumer, si c'était du PHP, ça ne poserait aucun problème. il faut que je trouve la correspondance. Avec ce que tu me donnes, ça me fait bien avancer...
Je vais adapter et tester ça.

Merci encore

Contribution le : 16/11/2009 19:48
Créer un fichier PDF de la contribution Imprimer


Re: Python et variables
Fou Furieux du Clan
Inscrit:
01/11/2009 20:25
Post(s): 141
Petite question subsidiaire,

Est-il possible lorsqu'on crée un script d'afficher quelque part à l'écran, l'état des différentes variables lorsqu'on le teste pour localiser un problème. du type "echo $int_1 ;"

Merci

Contribution le : 16/11/2009 20:20
Créer un fichier PDF de la contribution Imprimer


Re: Python et variables
OverdOzed
Inscrit:
19/01/2008 03:25
De tu voit le nuage sur la carte météo bin j'habite là
Post(s): 2554
il faut cocher shows debug propriety dans le menu game

Contribution le : 16/11/2009 20:47
Créer un fichier PDF de la contribution Imprimer


Re: Python et variables
Fou Furieux du Clan
Inscrit:
01/11/2009 20:25
Post(s): 141
Citation :

moaaa a écrit:
il faut cocher shows debug propriety dans le menu game

Ça j'ai coché, mais pour afficher par exemple les variables int_1 ou obj_1 ?

J'ajoute des Property en y intégrant les variables que je veux suivre à l'objet "empty" associé au script ?

Contribution le : 16/11/2009 20:50
Créer un fichier PDF de la contribution Imprimer


Re: Python et variables
OverdOzed
Inscrit:
19/01/2008 03:25
De tu voit le nuage sur la carte météo bin j'habite là
Post(s): 2554
t'aurai pas oublier de cocher le d a coté de ta propriété?
et les info indique a quel objet la propriété appartient

Contribution le : 16/11/2009 20:52
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant
(1) 2 3 4 »




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 Buy (50 Pieces) New Samsung Galaxy Z Flip4 128GB Unlocked $17,450 0 36 26/01 07:44:35
emailychang01 
The Blender Clan 'tchat Buy (30 Pcs) New Mac mini M2 (2023) 256GB SSD $8,970: www.cutebitelectronics.com 0 21 25/01 11:02:28
emailychang01 
The Blender Clan 'tchat Buy (50 Pcs) New iMac M1 24-inch (2021) 512GB SSD $44,950 Website: www.cutebitelectronics.com 0 29 24/01 09:21:49
emailychang01 
The Blender Clan 'tchat Buy (50 Pcs) Macbook Air M2 13.6-inch 512GB SSD $54,950 Website: www.cutebitelectronics.com 0 48 23/01 09:20:38
emailychang01 
Questions & Réponses circuit avec dévers 3 81 22/01 18:42:26
moonboots 
The Blender Clan 'tchat Buy (50 Pcs) MacBook Pro M2 14-inch 512GB SSD $79,950 0 39 21/01 10:19:51
emailychang01 
The Blender Clan 'tchat Buy (50 Pieces) New Apple iPad Air 10.9-inch (2022) 256GB Wi-Fi + Cellular $24,950 0 77 20/01 08:43:41
emailychang01 
The Blender Clan 'tchat Buy (50 Pcs) New Mac mini M2 (2023) 256GB SSD $9,950 Website: www.cutebitelectronics.com 0 72 19/01 08:19:28
emailychang01 
The Blender Clan 'tchat Buy (50 Pieces ) New Apple iPad Mini 8.3-inch (2021) 256GB Wi-Fi + Cellular $22,450 0 54 18/01 08:46:54
emailychang01 
Hors Sujet !! Victime de piratage 0 109 18/01 00:01:38
Lylo 
The Blender Clan 'tchat Buy (50 Pieces) New Apple iPad Pro 12.9-Inches 2021 1TB Wifi + Cellular $69,950 0 73 17/01 09:54:03
emailychang01 
The Blender Clan 'tchat Buy (50 Pieces) New Apple iPad Pro 11-Inches 2021 2TB Wifi + Cellular $79,950 0 80 14/01 19:23:01
emailychang01 
Questions & Réponses [non résolu] Material preview et résolution 0 70 13/01 10:13:25
zeromeetsinfinity 
The Blender Clan 'tchat Buy (50 Pieces) New Original Unlocked Apple iPhone 13 Pro Max 5G 1TB $54,950 0 75 12/01 09:21:35
emailychang01 
Hors Sujet !! Verifpro.net - paypal, ebay, banks, crypto, docs and more! 0 57 11/01 18:57:13
julien_costa 
The Blender Clan 'tchat Buy (50 Pieces) New Original Unlocked Apple iPhone 12 Pro 5G 512GB $24,950 0 83 11/01 07:45:50
emailychang01 
Questions & Réponses [non résolu] Soucis de pivots et rotations à l'import dans un fichier fbx avec parents/enfants 0 3499 10/01 16:32:57
Brice_Willus 
The Blender Clan 'tchat Buy (30 Pieces) New Meta - Quest Pro Virtual Reality Headset - 256GB $29,970 0 76 10/01 10:34:12
emailychang01 
The Blender Clan 'tchat Buy (30 Pieces ) New Apple iPad 10.9-inch (2022) 64GB Wi-Fi + Cellular $13,470 0 136 09/01 09:47:14
emailychang01 
Hors Sujet !! les tutos de Moonboots    [1][2][3]...[33] 326 56658 08/01 21:04:14
moonboots 

Qui est en ligne
162 utilisateur(s) en ligne (dont 112 sur Forums)

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


plus...
Nouveaux membres
MathiasFul 18/8/2022
VicenteZcl 18/8/2022
OlivaL1007 18/8/2022
Adrian8943 18/8/2022
NorbertoGe 18/8/2022
VeronaKais 18/8/2022
BettieSile 18/8/2022
DarylTier 18/8/2022
BretParkhi 18/8/2022
LeoTrotter 18/8/2022
Dernier Ajout
2020-09-24.jpg

Evènements à venir
Fev 15
Anniversaire de Dany
Fev 23
anniversaire de windspirit
Mar 14
Anniversaire de AMV12
plus 229 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