removeChild не удаляет дочерний объект - PullRequest
0 голосов
/ 11 декабря 2018

У меня есть мувиклип, названный blue_robot, у этого мувиклипа есть дочерний элемент, называемый right_hand, и я хочу удалить этот правый потомок, но удалить Child не удаляйте его.вот мой код сценария действия:

var robot:blue_robot=new blue_robot();
addChild(robot);
removeChild(robot.right_hand);

я пытаюсь это сделать, но выдает ошибку. Ошибка типа: Ошибка № 2007: дочерний параметр должен быть ненулевым.

Ответы [ 2 ]

0 голосов
/ 18 декабря 2018

Попробуйте:

robot.removeChild(robo.getChildByName("right_hand"));

Но лучше убрать правую руку изнутри класса blue_robot.Вы должны использовать объектно-ориентированные функции.это означает, что blue_robot должен делать все, что связано с самим собой.поэтому результат должен выглядеть примерно так:

class blue_robot extends MovieClip{
   private var myRightHand:MovieClip ;
   public blue_robot()
   {
      super();
      myRightHand = this.getChildByName("right_hand");
   }

   public function removeRightHand():void
   {
      this.removeChild(myRightHand);
   }
}

↑ Для класса blue_robot и

var robot:blue_robot=new blue_robot();
addChild(robot);
robot.removeRightHand();

↑ Удалить правую руку от родителя робота.

0 голосов
/ 11 декабря 2018

Поскольку right_hand является дочерним элементом robot, вы должны использовать метод удаления дочернего элемента робота:

robot.removeChild(robot.right_hand);

Это говорит экземпляру robot об удалении одного, если это дочерние элементы, объект, на который ссылаетсяв robot.right_hand.

Раньше вы говорили родительскому контексту (this в вашем примере кода) удалить right_hand, но right_hand не является дочерним элементом this, это дочерним элементом robot.


Отправленная вами ошибка означает, что ссылка robot.right_hand не существует.

Дважды проверьте, действительно ли у вас есть имя экземпляра или свойство с именем right_hand, которое существует и имеет значение в первом кадре (если создана временная шкала) или в конструкторе (если создан код).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...