Hep !
Je creuse pour tenter de comprendre, mais je lance donc une bouteille à la mer parce que là je ne vois pas… gdevelop dernière version, sous windows (mais même bug constaté sur ubuntu !)
Sur un projet assez lourd où j’en suis à peaufiner un moteur de jeu de plateforme, je rencontre depuis aujourd’hui un bug random, que je corrige par une pirouette, et qui revient :
- j’ai deux sous évenements (dans des boucles indépendantes et multifonction) qui se déclenchent suivant des triggers sur des changements de variables ; tout fonctionne ; j’exporte le projet (je compile l’exécutable) ; dans le jeu compiler les deux événements ne se déclenchent plus… Je retourne sur Gdevelop, je refai un aperçu ; tout fonctionne… je ferme Gdevelop et le relance, j’ouvre le projet : bing l’aperçu se comporte comme le projet compilé ! J’ai déjà rencontré ce genre bizarrerie, mais généralement, relancer Gdevelop corrige le problème, là pas…
- Pour corriger le probleme : je désactive puis réactive les événements en question qui ne se déclenchent plus, rien de plus !
Mais voilà, toutes les 5 minutes ça revient lors d’aperçus… Et pire, le bug est systématiquement présent dans chaque compilation du projet ! En gros je ne peux plus compiler le projet sans avoir ce bug dans la version buildée.
Enfin, ce qui est dingue, c’est que ces mêmes “trigger” déclenchent bien les sous événements voisins, je ne comprends pas pourquoi ces deux là… Pour un des sous événements c’est encore pire, il s’agit d’une arme, le trigger est un clic gauche, et fonctionne de la meme façon sur toutes les armes : pour l’arme 1, je subis le bug, si je change d’arme (2/3/4), ça marche (j’appelle le même sous événements avec toutes les armes, il produit juste des effets différents suivant le type d’arme).
Les deux événements en question sont dans des événements externes séparés et completement indépendants, je n’y comprend rien. Je me dis que sans doute que d’autres événements subissent ou pourrait subir le même problème, tellement c’est arbitraire…
Victor, 4ian, ou quelqu’un d’autre, des idées ? Je pense qu’en éjectant les événements externes (que j’appelle pourtant dans leur intégralité via un lien) et en réintégrant ces scripts sur les scènes ça réglerait le problème, mais ça va m’obliger à dupliquer ça sur toutes les scènes, ça remettrait completement en cause tout mon moteur sur lequel je bosse depuis 6 mois maintenant.
EDIT : provisoirement on dirait que c’est réparé… mais qu’ai-je fais ? j’ai juste remonté d’un niveau dans l’arborescence des événements les deux événements en question… Aucun impact sur l’algorithme car les événements voisins sont indépendants… incompréhensible, je vous tiens au courant si ça reproduit…
2 minutes après l’édit ci-dessus, je ré-édite : les deux premiers bugs spottés/corrigés éliminés, ça m’en produit en autre : même chose rien dans l’aperçu, je compile, je constate le bug dans l’exécutable, je relance Gdevelop, le bug apparait aussi dans l’aperçu… Cette fois sur un autre événement !
2 de ces bugs (1 des permiers que j’ai réglé plus ce nouveau) ont comme points communs des triggers sur des variables qui changent de statut quand le clic droit ou gauche sont appuyés : arbitrairement, et d’un coup d’un seul, la condition/action qui change la valeur ne répond plus. Comme si je me retrouvais avec le clic gauche qui ne marchait plus dans un cas, ou le clic droit qui resterait enfoncé dans l’autre. Ma souris va très bien.