Re: Python - l'instruction return

Posté par Redstar le 24/3/2018 11:14:55
Citation :

La ce que tu dis c'est juste pas logique, ta TextList tu la crée une seule fois. Si tu commence à créer des objets à la chaîne on est pas sorti de l'auberge


Si tu te cantonnes au code que j'ai donné là, on est d'accord. Mais là, moi, je parle de l'ensemble en y incluant le code "fantôme" de mon projet.

Voici un bout du début de mon code pour le terrain.

La classe mère contient des éléments qui sont censés se répéter un peu partout dans l'ensemble. J'ai estimé intéressant de mettre quelques fonctions là pour éviter de réécrire à chaque fois ces même lignes.

La classe HUD hérite de "mere" (mais ce n'est pas la seule). Donc, "mere" ne s'exécute pas sans appels.

Pour pouvoir appuyer sur un bouton et obtenir un effet, je dois pouvoir envoyer un signal grâce à ma souris. Mais si je suis ta réflexion, le script ne fonctionnera qu'une fois, par conséquent, je peux cliquer autant que je veux, je n'aurai pas mon effet si je ne le place pas dans "init".

Maintenant, supposons que l'on rajoute l'affichage du texte: le "post_draw" n'a besoin que d'être lancé qu'une fois, ok. Mais pour le reste ? Si mon script ne se lance qu'une fois globalement, mes autre textes s’afficheront ? Non.

Tout ça pour dire que, dans le BGE, on est dans le cas ou le script doit être appelé en boucle. Ce n'est pas un simple programme "pur python" que l'on lancerai comme un batch Windows.

Enfin, pourquoi devrai-je rappeler la fonction "write" alors que je peux simplement modifier un texte ? En plus, si je fais ça, ça va superposer l'ancien texte avec le nouveau, ce qui vas donner un effet gras sur le texte. C'est pas ça que je veux, moi.

C'est en faisant des essais que j'ai remarqué ça.

Citation :
Le travail titanesque, je suis pas sur qu'on est envie de se farcir des scripts qui à mon avis sont trèèèès long


Je respecte ton avis mais....

Beeenn, d'un côté, si tu n'as pas de cas concrets et que tu te contentes de faire des ateliers, je vois pas trop comment la personne extérieur peut apporter un jugement correct.

Non ? Le programmeur est censé savoir programmer comme un pro d’entrée de jeu ??? Ça, c'est "l'Allemand blond aux yeux bleu", si je puis me permettre. Et c'est la raison pour laquelle il y a du chômage au 21e siècle, en plus.

Citation :
...une nouvelle (via "... = [write]"), ce qui revient à désinscrire tout ce qu'il pouvait y avoir avant. C'est un aimant à bug...


Cette phrase me gêne. Si c'est un aimant à bug, comment faut-il rédiger le code pour que ce ne soit plus considéré comme tel ?

Citation :
...c'est ce que cette information en particulier fait dans le dictionnaire. La liste des textes à afficher n'a rien à faire là...


Si. Je l'ai expliqué plus haut: Dans mon projet, il y a 2 blends: le terrain et "barre chargement". Ils sont tous deux indépendants, par conséquent, ils n'ont aucun liens physique mais il faut lier l'un à l'autre pour l'avoir partiellement.

Ce qui veux dire que je dois réécrire le code pour afficher le texte dans le second blend qui ne l'a pas (le terrain, donc).

C'est la raison pour laquelle j'ai modifié le code de sorte à ce que cela ressemble à l'architecture du code de mon projet, pour m'assurer que cela fonctionnera pour la suite. Et la suite, c'est de séparer la scène HUD dans un blend séparé, où il y a du texte. Comme c'est déjà le cas pour "barre chargement".

Si je vous explique quelque chose sans support quelconque, vous comprenez bien que vous allez demander un cas concret ?

Cette contribution était de : http://blenderclan.tuxfamily.org/html/newbb/viewtopic.php?forum=3&topic_id=48105&post_id=571200