(débutant) Execution script python
Fou Furieux du Clan
Inscrit:
11/08/2009 18:42
De Lyon
Post(s): 109
Bonjour,

Je débute dans les BGE et dans Python (soyez indulgent !) avec quand même des bases en programmation (du C)

J'enchaine tutorial et prises de tête, et là je suis bloqué car je ne trouve pas de réponse à une question simple :
- quand est lancé exactement un script python ?

1) Mon application est on ne peut plus simple :



et mon script :



Mon objet se met à bouger si j'appuie sur le clavier : je comprend que le script se lance lors d'une première action sur le sensor. (J'affiche deux fois le mot "effectué" dans la console, il parait qu'on envoie un signal à l'appui et au relachement de la touche. Sélectionnner "Tap" n'a pas résolu mon problème)

Mon objet continuer ensuite à se déplacer sans action de ma part : Pourquoi ? Le script ne s'est effectué qu'une fois, et je n'influe que sur la position en X de mon objet.

2) Si je remplace mon sensor "Keyboard" par "Always" mon cube se déplace dès démarrage du blender game (là, je comprend). Mais je n'affiche qu'une seule fois le mot "effectué" dans la console, pourquoi ? Le script n'est pas censé être exécuté à chaque "frame logique" du blender game ?? Et mon cube continue d'avancer tout seul !


3) Je fais "la même chose" avec les briques logiques, ca marche bien. Quand je n'appuis plus sur C, mon objet cesse de se déplacer.



Toute aide est bienvenue

Contribution le : 01/07/2015 19:22
Créer un fichier PDF de la contribution Imprimer


Re: (débutant) Execution script python
OverdOzed
Inscrit:
21/06/2012 19:50
De Sud-Ouest de la France
Post(s): 385
Le script Python se lance à chaque tic logique car tu n'as pas défini de condition. Un truc rapide:

import bge
cont = bge.logic.getCurrentController()

# On récupère ton sensor
start = cont.sensors['start']

# On récupère ton actuator
move = cont.actuators['move']

# Condition
if start.positive:
    move.dLoc = [0.0, 0.5, 0.0]
    cont.activate(move)
    print('effectue')
else: cont.deactivate(move)


En fait, il suffit de rajouter une condition (le "if"), qui va tester si ton sensor est "positif" (c'est à dire que ici, la touche du clavier est appuyée). Le "else", lui, indique au script ce qu'il doit faire tant que ta touche du clavier n'est pas appuyée. Voili voilou (t’inquiète pas, moi aussi je suis un noob en Python)

Voilà, en espérant avoir aidé

Contribution le : 01/07/2015 21:45
Créer un fichier PDF de la contribution Imprimer


Re: (débutant) Execution script python
Fou Furieux du Clan
Inscrit:
11/08/2009 18:42
De Lyon
Post(s): 109
Salut,

Merci pour ta réponse

En fait je viens de comprendre que les scripts sont appellés sur transition, qu'elle soit sur front montant ou descendant. Ensuite, on peux décider de l'appliquer également sur état.

Pour m'aider à mieux comprendre, j'ai réalisé ces petits diagrammes qui manquent cruellement dans la doc blender !

----
Les scripts sont appelés sur transition.

Dans ce cas, deux sensors peuvent appeler le script. Il suffit que l’un deux émette un signal d’exécution pour que le script soit appelé (OU logique).



Le temps est divisié en « ticks de scrutation ». A chaque unité de temps (de l’ordre de la dizaine de millisecondes) l’ensemble de la logique du blender game est rafraîchie.



On peut changer les paramètres des sensors pour changer les événements ou les fréquences d’exécution des scripts.


Contribution le : 02/07/2015 19:55
Créer un fichier PDF de la contribution Imprimer


Re: (débutant) Execution script python
Fou Furieux du Clan
Inscrit:
11/08/2009 18:42
De Lyon
Post(s): 109
Résolu donc :)

Contribution le : 02/07/2015 23:28
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
Graphisme alternatif les addons pour blender : bumarin etc 8 335 Aujourd'hui 02:09:45
meltingman 
The Blender Clan 'tchat Avenir du blender clan    [1][2][3]...[40] 397 38795 17/09 17:56:10
Bibi09 
Questions & Réponses [non résolu] IES Lights 4 107 17/09 16:24:14
jcnouveau 
Questions & Réponses Couleur de peau 0 54 17/09 14:31:20
Carne 
Hors Sujet !! Sinoceratops project - Ateliers suivies de A à l'Animation    [1][2][3][4] 34 4002 16/09 20:53:38
meltingman 
Questions & Réponses Combien pour me faire un script qui permet d'ajouter une option driver sur l'icone de l'oeil? 6 341 16/09 14:56:23
lucky 
Questions & Réponses Ouvrir une définition (fichier .txt) de l'objet actif avec un raccourci depuis la vue 3D 0 59 15/09 15:30:03
Melodicpinpon 
[WIP] et travaux terminés [terminé] Utilisation de Blender pour esquisser des objets réels    [1][2] 12 248 14/09 19:18:19
MilWolf 
The Blender Clan 'tchat ANNONCE IMPORTANTE : LE BLENDER CLAN REOUVRE !! Etat des lieux sur le présent et le futur :)    [1][2] 19 2253 14/09 12:20:39
Riggelm 
The Blender Clan 'tchat Les tutos de Stev ( CG Groovy ) 6 1115 13/09 11:17:43
stev 
Graphisme alternatif faire de la bd avec blender    [1][2][3]...[8] 79 6016 12/09 19:01:54
blend74 
Questions & Réponses Les objets qui voyagent seuls 2 148 12/09 14:20:48
D3DModelisation 
Hors Sujet !! les tutos de Moonboots    [1][2][3]...[21] 202 18572 11/09 20:09:34
moonboots 
Moteur de jeu GameBlender et alternatives [non résolu] Cs (vaisseau)    [1][2][3]...[55] 544 167605 11/09 10:08:20
sbkodama 
Questions & Réponses control sur le grow mask et smooth mask en sculpt 2 170 10/09 23:50:51
maxime 
Questions & Réponses Difficultés de reprise d'un vieux projet 4 277 10/09 12:39:47
GLM 
[WIP] et travaux terminés [WIP] La gabarre '' Le Gros Ventre''    [1][2][3]...[10] 90 15840 08/09 21:11:55
yawdpwal 
Questions & Réponses Comment faire la symétrie d’une multitude d’éléments. 4 312 06/09 14:55:39
jcnouveau 
Questions & Réponses Version portable et configurée sur Mac et Linux 0 168 06/09 13:43:15
Melodicpinpon 
Moteur de jeu GameBlender et alternatives [WIP] DeadSigns FPS Unity - Version alpha disponible + discord    [1][2][3]...[67] 668 147102 06/09 12:44:54
Hook 

Qui est en ligne
120 utilisateur(s) en ligne (dont 71 sur Forums)

Membre(s): 3
Invité(s): 117


StefanieGe, WilfordGoe, PorfirioDe, plus...
Nouveaux membres
ShanonW42 19/9/2021
SilkeSchot 19/9/2021
KristoferF 19/9/2021
GabriellaF 19/9/2021
SonjaZlc51 19/9/2021
ChasBury96 19/9/2021
EdisonBett 19/9/2021
TemekaHutt 19/9/2021
AlbaTrumpe 19/9/2021
RebekahBay 19/9/2021
Dernier Ajout
2020-09-24.jpg

Evènements à venir
Oct 8
Anniversaire du Grand Mechant Fadge
Nov 18
Anniversaire de RichDeg
Dec 29
Anniversaire d'ebrain
plus 248 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