|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||
|
Invité de passage
![]() Lycéen Inscription : janvier 2013 Messages : 2 ![]() |
Salut à tous !
Alors voici mon problème : Dans le cadre du développement d'un jeu de rôle en 2 dimensions vue du dessus (style premiers Final Fantasy), j'ai décidé d'ajouter un système permettant de lancer des actions du genre dialogue par le biais de scripts python. Pour cela, j'ai utilisé Python 2.7 et me suis appuyé sur un tuto trouvé sur un autre site. C'est là que les choses se sont compliquées. En effet, mes fonctions pour exécuter des commandes python et des fichiers python fonctionnent parfaitement, la fonction de dialogue codée en C++ fonctionne également lorsqu'elle est appelée dans mon code C++ mais, lorsque je passe par le biais de ma fonction de dialogue par le script Python, elle fonctionne une fois parfaitement avant de planter au second appel (j'ai cherché l'endroit du plantage avec le debugger, à coup d'écriture de message dans le fichier stderr mais il semble que le programme sorte de la fonction de dialogue en l'exécutant entièrement et plante sans même rappeler la fonction de dialogue (même sa fonction Py_Object*). Je vous laisse donc cet aperçu de mon code car, ayant cherché longuement l'erreur, je ne suis pas parvenu à la trouver. (Il est d'ailleurs arrivé une fois que la fonction de dialogue s'exécute une deuxième fois avant de planter) Le code complet des fonctions exécutant les scripts python : Code :
Le code complet de la fonction dialogue : Code :
Et pour finir le script python en question : Code :
|
||||||
|
00
|
|
|
#2 |
|
Invité de passage
![]() Lycéen Inscription : janvier 2013 Messages : 2 ![]() |
Bon je sais que ce sujet commence un peu à dater mais je tiens à ajouter quelques précisions avant de clore les sujet définitivement
Tout d'abord, pour dire que je n'ai pas trouvé la réponse au problème mais une alternative qui tient bien la route d'après ce que j'ai déjà testé (incorporation d'un interpréteur codé directement par moi en C++ dans le projet en question). Ensuite, pour dire que j'ai mis l'interpréteur que j'ai codé en ligne au cas où certaines personnes rencontrent le même genre de problème et qu'elles ne veulent pas se prendre la tête pendant plusieurs heures à retourner le problème dans tous les sens comme je l'ai fait ! Sur ce, voila l'adresse : http://pom-and-dragon.zxq.net/DLK_Script_Engine.php. Il s'agit seulement d'un squelette à compléter (pour l'instant du moins mais le principe restera le même) donc ne vous étonnez pas si le programme na fait rien quand vous l'utilisez. Récupérez le code source sans le main.cpp et incluez-le dans votre projet. Le reste devrait suivre |
|
00
|
|
|
#3 |
|
Expert Confirmé
![]() Pierre Ingénieur développement logiciels Inscription : juin 2007 Messages : 1 361 ![]() |
Merci d'être revenu pour nous en faire profiter!
__________________
Mes principes de bases du codeur qui veut pouvoir dormir:
|
|
00
|
Copyright © 2000-2013 - www.developpez.com