(1) 2 3 4 ... 23 »


Mon apprentissage Python TunnelRunner "No Question"
OverdOzed
Inscrit:
08/04/2016 12:27
Post(s): 442
Salut à tous,

Comme certains le savent, je me suis lancé dans l'apprentissage de python.

Je rencontre un problème avec ce script:
import bge

def main():

    cont = bge.logic.getCurrentController()
    own = cont.owner

    mouseOver = cont.sensors ["mouseOver"]
    click = cont.sensors ["click"]
    
    if mouseOver.positive and click.positive:
        own ['A'] = True
        own ['B'] = False
    
    elif own ['A'] == True:
        if mouseOver.positive and click.positive:
            own ['A'] = False
            own ['B'] = True  
        
main()


Au départ 'A' est False et 'B' est True.

Quand je clique sur le plan qui exécute le script, j'ai bien mes deux propertys qui changent mais, quand je clique à nouveau dessus, je n'ai pas de changement dans mes propertys. J'ai regardé la console mais, elle n'affiche rien. J'ai testé différente chose sans résultat. Pour le coup, là ! Je ne la vois pas la raison de cet échec.

Si quelqu'un pouvait seulement me dire pourquoi ça ne fonctionne pas. Je ne veux pas la solution, seulement la raison de l'échec, je rechercherais la solution de moi-même.

Merci d'avance

Contribution le : 07/11/2016 16:32
Créer un fichier PDF de la contribution Imprimer


Re: Mon apprentissage Python "New Question"
OverdOzed
Inscrit:
19/03/2016 15:30
De Belgique
Post(s): 1615
Dans l'état actuel des choses, si tu cliques la seconde fois, il va outrepasser le "elif". Pourquoi ? Parce que c'est une question de priorité.

Si la condition 1 ne marche pas, passer à la 2... du coup, si la condition 1 est ok, terminer le cycle de vérification.

Voilà pourquoi ça ne fonctionne pas comme tu l'as prévu.

Une petite astuce:
Pour exploiter la console dans cette situation, une bonne idée serai de faire un print. Ça te permet de vérifier ta fonction.

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


Re: Mon apprentissage Python "New Question"
OverdOzed
Inscrit:
08/04/2016 12:27
Post(s): 442
Je te remercie Redstar et oui le print, il faut que je prenne l'habitude de l'écrire.

Contribution le : 07/11/2016 16:51
Créer un fichier PDF de la contribution Imprimer


Re: Mon apprentissage Python "No Question"
OverdOzed
Inscrit:
02/01/2011 12:31
Post(s): 479
Salut,

Redstar t'as donné la réponse je pense donc as que je rajoute quelque chose la-dessus.
Par contre, quelques petits conseils au niveau algorithmique:
- elif own ['A'] == True:
Tu peux tout simplement enlever le == True. EN effet, une conditionnelle vérifie le booléen qui vaut True ou False
Donc si own['A'] vaut True alors tu rentre dans la conditionnelle, sinon non.
Tu remarquera que tu l'as déjà utilisé :
mouseOver.positive and click.positive
Cela se traduit par : si mouseOver.positive est vrai et click.positive est vrai alors je rentre dans la conditionnelle.
- Juste une petite question : Est-ce que dans ton code si own[A'] est vrai alors own['B'] est faux et inversement ?
Si oui tu n'as as besoin de deux variables, vu que l'une est le contraire de l'autre.

Voilà j'espère que j'ai pas écrit un trop gros pavé ahah

En tout cas, bon courage pour ton aprentissage

Contribution le : 07/11/2016 18:42
_________________
Anciennement tiger76, maintenant c'est rikoo
Mais attention, rikoo à l'anglaise soit rikou :D
Créer un fichier PDF de la contribution Imprimer


Re: Mon apprentissage Python "No Question"
OverdOzed
Inscrit:
08/04/2016 12:27
Post(s): 442
Citation :

tiger76 a écrit:
- elif own ['A'] == True:
Tu peux tout simplement enlever le == True. EN effet, une conditionnelle vérifie le booléen qui vaut True ou False
Donc si own['A'] vaut True alors tu rentre dans la conditionnelle, sinon non.

Je ne le savais pas, merci.
Citation :

tiger76 a écrit:
En tout cas, bon courage pour ton apprentissage

Merci, je galère grave et plus je relis depuis le début et moins je comprends. Tout s'embrouille, je vais arrêter là pour aujourd'hui, je verrais demain si je trouve la solution.

Contribution le : 08/11/2016 00:42
Créer un fichier PDF de la contribution Imprimer


Re: Mon apprentissage Python "No Question"
OverdOzed
Inscrit:
08/04/2016 12:27
Post(s): 442
Salut à tous,

J'ai beau chercher je ne trouve pas. Une bonne âme pour me dire comment faire ?

Contribution le : 08/11/2016 09:12
Créer un fichier PDF de la contribution Imprimer


Re: Mon apprentissage Python "No Question"
OverdOzed
Inscrit:
19/03/2016 15:30
De Belgique
Post(s): 1615
Citation :

J'ai beau chercher je ne trouve pas. Une bonne âme pour me dire comment faire ?


Je ne comprends pas ta question ni sur quoi.

Contribution le : 08/11/2016 10:39
Créer un fichier PDF de la contribution Imprimer


Re: Mon apprentissage Python "No Question"
OverdOzed
Inscrit:
08/04/2016 12:27
Post(s): 442
Salut Redstar, toujours pour ma permutation. J'arrive à faire passer A en true et B en false quand je clique sur ma plane mais, pas à rechanger leur valeur quand je clique une nouvelle fois dessus. J'ai essayé en incluant tout dans une même fonction, en faisant plusieurs fonctions et ensuite la commande, enfin bref beaucoup d'essai mais, point de réussite. Le pire c'est que quand j'écris une nouvelle forme, pour moi c'est clair et ça doit fonctionner mais, il semblerait que python et moi on ne raisonne pas pareil. Soit j'ai loupé un truc ou bien, je crois avoir compris mais, il n'en ait rien.

Je vais continuer à chercher mais, j'avoue que je ne sais plus trop quoi essayer pour que ça fonctionne, en clair je ne suis pas à côté de la route, je suis carrément dans le fossé

Contribution le : 08/11/2016 10:53
Créer un fichier PDF de la contribution Imprimer


Re: Mon apprentissage Python "No Question"
OverdOzed
Inscrit:
19/07/2011 20:39
De Corsica !
Post(s): 1163
Salut, reposte ton code, tu as changé la structure avec le elif comme dans le code du premier post ?
Si j'ai bien compris, tu veux activer/désactiver en cliquant dessus, enfin en inversant deux variables, moi je ferais comme ça:

import bge

def main():

	cont = bge.logic.getCurrentController()
	own = cont.owner

	mouseOver = cont.sensors["mouseOver"]
	click = cont.sensors["click"]

	if mouseOver.positive and click.positive:

		if own["A"]:
			own["A"]=False
			own["B"]=True
		elif own["B"]:
			own["B"]=False
			own["A"]=True
main()


Assure toi bien d'avoir mis le sensor click en Tap aussi.

Contribution le : 08/11/2016 12:30
_________________
DeadSigns sur Steam
Créer un fichier PDF de la contribution Imprimer


Re: Mon apprentissage Python "New Question"
OverdOzed
Inscrit:
02/01/2011 12:31
Post(s): 479
C'est bon j'ai trouvé, il m'a fallu du tems x)

En fait,
Premièrement tu vérifie qu'il y a un clique, et t'assigne vrai à A et faux à B
Cela marche au premier clique.
Au deuxième clique,tu rentre dans ta première condition le if vu qu'il y a un clique
Mais tu n'iras jamais dans le elif, car cela signifie sinon si.
En résumé, tu change la valeur de A puis tu la remet encore et encore et à vrai à chaque clique.
Je te conseillerai d'inverser ta conditionnelle. C'est à dire vérifier que A est vrai puis regarder si il y a un clique.

A++ et bon blend

Contribution le : 08/11/2016 12:31
_________________
Anciennement tiger76, maintenant c'est rikoo
Mais attention, rikoo à l'anglaise soit rikou :D
Créer un fichier PDF de la contribution Imprimer



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




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 Je bloque sur la modélisation de ce verre! Avez-vous une solution? 7 137 Aujourd'hui 21:33:52
titisteph 
Questions & Réponses [non résolu] cloth: déformation bizzarre au rendu 3 50 Aujourd'hui 09:21:18
Arielboid 
Questions & Réponses les cheveux longueur 1 36 Hier 19:53:18
Rimpotche 
Questions & Réponses ADDON MB - Lab 0 38 Hier 15:29:23
GI-jo13 
Questions & Réponses [résolu] en sculpt mode 5 148 04/08 18:21:10
prometheusx 
Questions & Réponses [résolu] Array circulaire 2 124 04/08 15:22:46
Redstar 
[WIP] et travaux terminés [WIP] Teeny Tiny - Story    [1][2][3]...[5] 40 3881 04/08 07:18:00
Bibi09 
Moteur de jeu GameBlender et alternatives [WIP] DeadSigns FPS horreur - Première version disponible !    [1][2][3]...[58] 576 97986 03/08 11:11:32
Hook 
Questions & Réponses Addon pour textures procedurales 2 126 02/08 20:11:35
Crocodile_13 
Questions & Réponses avis animation marche :)    [1][2][3][4] 34 651 02/08 20:03:14
prometheusx 
[WIP] et travaux terminés [terminé] court métrage 2020    [1][2] 13 839 02/08 15:28:29
flahaut 
Questions & Réponses [résolu] Générique, sous-titres etc 3 134 02/08 09:18:02
Corpia 
Questions & Réponses [résolu] Scène prend la couleur du fond    [1][2] 11 252 02/08 08:20:32
Arielboid 
Questions & Réponses [non résolu] Problele d'addon 0 104 02/08 01:52:30
nayther 
Questions & Réponses Addon pour textures procedurales 1 94 01/08 12:22:52
moonboots 
Questions & Réponses hair densité sélection de polys 9 231 30/07 23:18:21
lenogre 
Questions & Réponses [résolu] graph editor et location key frame 7 190 30/07 16:41:18
math_ 
Questions & Réponses les graphs editor :/ 4 176 30/07 11:19:07
prometheusx 
[WIP] et travaux terminés [WIP] Tutoriel vidéo et création de mon prochain court métrage 2 170 29/07 20:32:46
Bibi09 
Le coin des geeks pc bas prix    [1][2][3][4] 38 1832 28/07 21:14:56
Bibi09 

Qui est en ligne
51 utilisateur(s) en ligne (dont 24 sur Forums)

Membre(s): 7
Invité(s): 44


AvisRansom, MCTGuiller, LacyBaker1, CurtShipp3, MillieLabo, PatStroud1, LavonneHol, plus...
Nouveaux membres
MasonWindh 7/8/2020
GitaVanmet 7/8/2020
LoraKelsey 7/8/2020
AvisRansom 7/8/2020
CamillaZaj 7/8/2020
MCTGuiller 7/8/2020
RodneydeLa 7/8/2020
EnriqueMis 7/8/2020
UZJCameron 7/8/2020
BobJaques 7/8/2020
Dernier Ajout
mirages-preview~0.jpg

Evènements à venir
Aou 7
anniversaire Cem47
Aou 13
Anniversaire Siskas
Sep 8
Anniversaire de ang
plus 267 plus d'élément(s)
 Par Mickaël Guédon [ebrain] © 2003-2020 The Blender Clan - hébergé par TuxFamily - Site déclaré à la CNIL sous le numéro 1155445