AS3 Removechild Addchild проблема / ошибка - PullRequest
0 голосов
/ 19 января 2012

Я искал ответ в течение нескольких часов:

Моя программа:

Шаг I) Когда я нажимаю кнопку, она отображает растровое изображение через addchild;Шаг II) Когда я нажимаю на другую кнопку, она должна удалить растровое изображение с помощью removechild;

Шаг I) работает отлично, но шаг II) не работает.

Ниже вы найдете некоторыечасти моего кода:

Во-первых, я объявляю:

public var ajoutcarte4:MovieClip;

Во-вторых, в основной функции я написал:

var ajoutcarte4:Bitmap = new Bitmap();

Затем в подфункции сработалпервой кнопкой я добавляю растровое изображение на сцену (fl_bitmap - это функция, возвращающая элемент растрового изображения):

ajoutcarte4 = fl_bitmap(couleur4+figure4);
ajoutcarte4.x=445;
ajoutcarte4.y=370;
addChild(ajoutcarte4);

Пока все хорошо, но когда я хочу удалить дочерний элемент с помощью другой подфункции, вызваннойвторая кнопка:

removeChild(ajoutcarte4);

Не работает, потому что ajoutecarte4, по-видимому, нулевой ... Ошибка 2007, когда я становлюсь красным из своего состояния ...

Ответы [ 2 ]

1 голос
/ 19 января 2012

изменить

public var ajoutcarte4:MovieClip;

на

public var ajoutcarte4:Bitmap;

Затем полностью уберите эту строку

var ajoutcarte4:Bitmap = new Bitmap();

И в конце концов

// add this like with this code
ajoutcarte4 = new bitMap()
ajoutcarte4 = fl_bitmap(couleur4+figure4);
ajoutcarte4.x=445;
ajoutcarte4.y=370;
addChild(ajoutcarte4);
0 голосов
/ 19 января 2012

Вы объявили поле ajoutcarte4 типа MovieClip, но затем в своей функции вы объявляете локальную переменную ajoutcarte4 типа Bitmap, которая затем добавляется на сцену.

Во второй функции вы пытаетесь удалить поле MovieClip, которое никогда не создавалось - и, таким образом, выдает ошибку.

Измените ваше объявление следующим образом:

public var ajoutcarte4:Bitmap;

и звоните:

ajoutcarte4 = new Bitmap(); 

(без var).Тогда все должно работать правильно.

...