Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript. Гэри Розенцвейг

Читать онлайн.
Название Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript
Автор произведения Гэри Розенцвейг
Жанр Программирование
Серия
Издательство Программирование
Год выпуска 2009
isbn 978-5-94074-485-6



Скачать книгу

создаваемый клип будет называться level1 и располагаться на уровне 1.

      С помощью функции Math.random() мы задаем будущему клипу случайные координаты в пределах рабочего поля. Обратите внимание, что ссылка на клип осуществляется при помощи синтаксической структуры _root[].

      Другой способ создания новых клипов – использование функции attachMovie. Для выполнения данной функции не требуется, чтобы клип находился на рабочем поле. Он должен просто быть в библиотеке. Однако, если клип находится в библиотеке и не используется на рабочем поле, Flash автоматически не включит его в конечный swf-файл. Для того чтобы клип был включен в конечный файл, его необходимо выбрать в библиотеке и настроить его параметры в диалоговом окне Symbol Linkage Properties, которое вызывается из меню Options. Диалоговое окно изображено на рис. 3.5.

      Рисунок 3.5. Диалоговое окно Symbol Linkage Properties позволяет включать клип в swf-файл, даже если он не используется на рабочем поле

      В окне следует установить флажок Export for ActionScript (Экспортировать для ActionScript). Затем вы должны придумать имя эталона, на которое будет ссылаться код. Я обычно использую имя эталона из библиотеки.

      Исходный файл: AttachMovie.fla

      Первым параметром функции attachMovie является имя из диалогового окна Symbol Linkage Properties. Второй параметр – это имя копии клипа на рабочем поле, третий – уровень клипа. Код данной кнопки, содержащийся в файле AttachMovie.fla, за исключением одной строки, полностью совпадает с кодом примера DuplicateMovieClip.fla.

      on (press) {

      // Aoaee.oai ia.aue eeei.

      attachMovie("myMovieClip","newclip"+level,level);

      // Eeaaai a neo.aeiia ianoi.

      _root["newclip"+level]._x = int(Math.random()*550);

      _root["newclip"+level]._y = int(Math.random()*400);

      // Oaaee.eaaai n.ao.ee.

      level++;

      }

      Исходный файл: RemoveMovieClip.fla

      При помощи функции RemoveMovieClip вы можете удалять клипы с рабочего поля. Например, следующий код из файла RemoveMovieClip.fla перед созданием нового клипа удаляет предыдущий:

      on (press) {

      // Oaaeyai i.aauaouee eeei.

      _root["newclip"+(level-1)].removeMovieClip();

      // Aoaee.oai ia.aue eeei.

      attachMovie("myMovieClip","newclip"+level,level);

      // Eeaaai a neo.aeiia ianoi.

      _root["newclip"+level]._x=int(Math.random()*550);

      _root["newclip"+level]._y=int(Math.random()*400);

      // Oaaee.eaaai n.ao.ee.

      level++;

      }

      Используя данные приемы, вы можете сделать так, чтобы ваши игры и приложения создавали свои собственные клипы, добавляя и удаляя их с рабочего поля по мере необходимости.

      Урок 20. Управление несколькими клипами

      Теперь, когда вы научились создавать клипы при помощи ActionScript, рассмотрим способы управления ими. Вы знаете, что можете управлять одним клипом с приписанным ему кодом, а если необходимо, управлять несколькими клипами? Что, если эти клипы ведут себя аналогичным образом?

      Поместив клипы на рабочее поле, вы можете копировать код одного клипа и вставлять его в другие. Этот метод имеет несколько недостатков. Во-первых, необходимость копировать и вставлять. Затем, если вы захотите изменить код, вам придется сделать это во всех копиях клипа.

      Создание клипа сценария

      Единственным способом управлять несколькими клипами будет поместить код в точку, контролирующую их все. Например, если у вас есть 10 клипов, вы можете поместить код в первый клип, который будет контролировать все остальные.

      Почему бы вместо того,