Salut à tous,
Voilà plusieurs jours que je suis bloqué sur un problème de cast.
J'ai une classe personalisée Vignette qui extends Sprite, les objets vignette sont contenus dans un objet canvas.
Je tente de récupérer une à une chaque vignette pour appeller une méthode de Vignette.
Voilà les techniques de conversion des specifications d'AS3 que j'ai testé:
conversion implicite :
var vignette : Vignette = canvas.getChildAt(i);
à la compilation j'obtiens directement l'erreur "1118: Implicit coercion of a value with static type flash.display: DisplayObject to a possibly unrelated type Vignette"
utilisation de cast
var vignette : Vignette = Vignette( canvas.getChildAt(i) );
là ça compile mais une fois que la fonction contenant ce code est apellé j'obtiens l'erreur "1034: Echec de la contrainte de type : conversion de flash.display::Sprite@1a533f51 en Vignette impossible."
utilisation de l'opérateur as
var vignette : Vignette = canvas.getChildAt( i ) as Vignette;
ça compile et à l'appel de la fonction Error "1009: Il est impossible d'accéder à la propriété ou à la méthode d'une référence d'objet nul".
J'ai voulu vérifier la nature de vignette en traçant les valeurs ''vignette is Vignette", "vignette is Sprite" et "vignette is DisplayObject" et dans tous les cas j'obtiens false, assez bizarre!!
Voilà je m'arrache un peu les cheveux alors j'espère que quelqu'un pourra m'aider.
Merci.
Partager