[12]: addChild

Приветствую вас, разработчики игрулек :) Сегодня я расскажу вам как добавлять объекты из библиотеки с помощью action script 3.0. :)  Этот волшебный метод называется - addChild();
Ну всё :D
————
Подробности :) Сначала мы рисуем объект и преобразовываем его в мувиклип или кнопку, смотря что вам нужно. Потом в библиотеке мы нажимаем ПКМ на этом клипе и выбираем Properties.. (Свойства) и ставим галочки:

  • Export for ActionScript
  • Export in frame 1

А в поле Class задаём имя нашего объекта. Допустим пусть оно будет krug. Чтобы добавить его на сцену нам теперь нужно создать экземпляр этого клипа, для этого в панели actions мы пишем:

Первая строка создаёт переменную myKrug типа movieclip, который будет экземпляром нашего библиотечного клипа с именем krug. Команда addChild(); не сколько добавляет объект на сцену, он у нас уже есть!!!, сколько добавляет картиночку нашего объекта.
А строки с координатами просто устанавливают координаты круга. Мы могли бы их установить и ранее, до того, как добавили картинку. :) Самое важное, что вам нужно запомнить, addChild(); выводит именно картинку на экран, и если удалить картинку, то сам объект не удалиться (а может и удалиться:)), об этом подробно рассказано в 32 уроке и в уроке про баги флеша.

Есть ещё один способ добавления объекта. addChildAt (name,index); Здесь name – имя объекта в библиотеке, а index – его индексный номер на сцене, т.е. объекты располагаются в определенном порядке.  Зачем это нужно. А затем что чем выше индекс тем выше объект. т.е. объект с индексом 3 будет отображаться поверх объекта с индексом 2, 1 и 0. Так же мы потом может менять их местами.

Обо всём этом (и не только этом) смотрите в видеоуроке ниже:

Исходник: yadi.sk/d/BXcsYPTMF48eK
Код ActionScript 3.0 из урока:

Всё подробно рассказано в видео :) Если будут какие-либо вопросы, пишите в комментариях к видео. Надеюсь, данный урок по реализации скорости в action script 3.0 в программе adobe flash, поможет вам в разработке игр. :)

Комментарии
  1. Кирилл

    Как сделать чтобы обьект полностью удалялся ,а не тоько перестал отображаться ?

  2. Кирилл

    Когда я пишу obj = null; . Выдает много ошибок ,поэтому скорей я пишу бред

    • admin

      всё правильно.:)
      removeChild(obj); – удаляет картинку объекта
      obj = null; – обнуляет все ссылки на объект, считай удалил.

      Другое дело, что у тебя вылетают ошибки. Это потому, что ты не смотрел урок “Снег и Пули”. Там сказано про это. У тебя объект используется в разных условиях, а когда ты его удалил, у тебя его уже нет, а код с этим объектом есть. Вот и ошибки поэтому. А чтобы такого не было, в коде надо сначала проверять, есть ли у тебя этот объект или нет его, либо грамотно строить код, где такая проверка даже не требуется. К примеру через массивы и использование длины массива. :)

      • Сергей

        Да проверку я уже использовал чтобы удалить потомка вот такую “if(contains(k)) removeChild(k);”,но точно не знаю правильно ли это.Сейчас гляну урок с пулями

      • Сергей

        Кстати я так понимаю через массивы это делать удобнее ?

Добавить комментарий для Кирилл Отменить ответ

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">