2 votes

{AS3} addChild() dans une classe ne fonctionne pas

J'ai donc une classe :

package
{
    public final class Main extends Sprite
    {
        private var TextHolder:Sprite = new Sprite();

        public function Main():void
        {
            spawnHolder();
        }
        private function spawnHolder():void
        {
            TextHolder.graphics.beginFill(0xFFFFFF);
            TextHolder.graphics.drawRect(0, 0, 100, 80);
            TextHolder.graphics.endFill();
            stage.addChild(TextHolder);
        }
    }
}

mais le problème est que je ne vois rien sur la scène Cette classe principale est la classe de document.

J'apprécierais beaucoup si quelqu'un pouvait m'aider ! Merci d'avance.

~Gg

1voto

The_asMan Points 5427

La scène n'est pas disponible tant que l'objet d'affichage n'a pas été ajouté à la scène. Il sera nul jusqu'à ce que cela se produise.

package
{
    public final class Main extends Sprite
    {
        private var TextHolder:Sprite = new Sprite();

        public function Main():void
        {
            this.addEventListener(Event.ADDED_TO_STAGE,spawnHolder);
        }
        private function spawnHolder():void
        {
            TextHolder.graphics.beginFill(0xFFFFFF);
            TextHolder.graphics.drawRect(0, 0, 100, 80);
            TextHolder.graphics.endFill();
            stage.addChild(TextHolder);
        }
    }
}

0voto

Sergey Dmitriev Points 454

Essayez de changer de couleur, il est probable que l'arrière-plan de votre document soit également blanc. Ne nommez pas les variables avec une majuscule comme TextHolder , utiliser textHolder au lieu de cela. Essayez d'effectuer tous les travaux après l'initialisation de l'étape.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X