Cela m'arrive souvent et je n'ai pas encore trouvé de solution satisfaisante. Dites que vous avez deux classes, Tree (com.company.Tree) et Fruit (com.company.Fruit). Sur la scène dans Flash, l'arbre a une instance de Fruit (class = fruit1, classe de base = com.company.Fruit), et son nom d'instance est fruit. Tout va bien, jusqu'à ce que vous dupliquiez les clips d'arbres et de fruits pour créer un deuxième arbre, qui a une instance différente de Fruit (class = fruit2, base class = com.company.Fruit), mais dont le nom d'instance dans le 2ème arbre est aussi des fruits. Ceci est nécessaire car le code de la classe Tree fait référence à "fruit" (fruit.x + = 20, par exemple).Flash AS3 - Objets de la même classe de base dans la bibliothèque - La coercition de type a échoué
Je reçois ceci:
Warning: All instances named 'fruit' will be automatically declared as fruit1 in symbols that use fruit as their base class. In symbols that are linked to user-defined base classes, instances with the same name must be of the same type.
Et bien sûr ceci:
TypeError: Error #1034: Type Coercion failed: cannot convert [email protected] to fruit1.
Il y a quelque chose d'étrange dans votre installation ici: vous avez deux instances de com.company.Tree - sont-ils la même classe ou sont-ils class = tree1 et class = tree2? Vos instances de fruits sont-elles définies à l'intérieur des instances de l'arbre ou côte à côte sur la scène? Si vous pouviez expliquer plus clairement votre bibliothèque et votre mise en scène, je pourrais peut-être vous aider. – alecmce
Les arbres ont la même classe de base (Tree). Les exemples de fruits sont à l'intérieur des arbres, un fruit par arbre. J'espère que cela pourra aider. C'est toujours un gros problème pour moi. – phil