J'ai créé un système au sein duquel j'instancie des corps cinématiques (2D). Ceux-ci ont des scripts attachés. Lorsque j'appelle les fonctions à l'intérieur de celles-ci, tout va généralement bien. Cependant, de manière aléatoire, avec des temps d'attente très différents pour que cela se produise (parfois cela ne se produit jamais), le système plantera, disant que la fonction, qui fonctionnait bien, n'existe pas dans Area2D. Je n'ai aucune idée de pourquoi cela peut arriver, quelqu'un peut-il m'aider avec cela.

Le code d'erreur réel Invalid call. Nonexistent function 'move' in base 'Area2D'

Merci

0
notme21 22 janv. 2020 à 18:55

1 réponse

Meilleure réponse

Ajoutez une vérification de l'existence de la méthode avant d'appeler la méthode.

Disons que vous appelez la méthode move pour la variable obj (remplacez-la par la vôtre). Maintenant, l'appel à la méthode move devrait ressembler à ceci :

if obj.has_method("move"):
    obj.move()

Documents

1
Andrei Konstantinov 28 janv. 2020 à 20:35