AddChild и removeChild в ActionScript 3 не работают должным образом - PullRequest
0 голосов
/ 10 сентября 2011

Мне интересно, почему я получаю Error #1009: Cannot access a property or method of a null object reference с помощью функции removeChild () в моем коде as3, которая выглядит следующим образом:

public class MyGame extends MovieClip{

    private var myMovieClip:MovieClip;

    public function add():void{
        myMovieClip = new MyMovieClip();
        addChild(myMovieClip);
    }

    public function remove():void{
        removeChild(myMovieClip);
    }

}

в функции удаленияхочу удалить объект myMovieClip, а затем создать новый и использовать его для продолжения моего приложения.

Любая идея будет оценена Спасибо

Ответы [ 2 ]

3 голосов
/ 10 сентября 2011

Похоже, что myMovieClip имеет значение null в то время, когда вы вызываете remove ...

Это может быть немного безопаснее

function DetachFromParent(mc:MovieClip):void
{
   if(mc!= null && mc.parent != null)
   {
       mc.parent.removeChild(mc);
   }
}
1 голос
/ 10 сентября 2011

Вам нужно проверить, нужно ли вообще удалять myMovieClip:

public function remove():void{
    if(myMovieClip) // myMovieClip is not null or undefined, remvove it
        removeChild(myMovieClip);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...