Иллюстрированный самоучитель по созданию Flash-игр

Изменения содержимого экрана с помощью клипов

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

Таким способом является создание клипа, который содержал бы все возможные состояния объекта. Например, если объектом является космический корабль, в ролик необходимо включить кадры, изображающие: космический корабль с выключенным двигателем, с включенным главным двигателем, включенным левым двигателем, с включенным правым двигателем, а также ряд кадров, представляющих взрывающийся космический корабль.

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

Данный пример демонстрируется в файле Changingimages.fla. Кнопки,расположенные слева от клипа, помогают выбрать отображаемую часть клипа. На рис. 3.7 изображен фрагмент ролика.

Иллюстрированный самоучитель по созданию Flash-игр › Элементы ActionScript для создания игр › Изменения содержимого экрана с помощью клипов
Рис. 3.7. Ролик Changingimages.fla позволяет отображать различные вилы одного и того же объекта

Каждая кнопка ролика Changingimages.fla задает перемещение клипа в определенный кадр. Приведем пример кода кнопки Up:

on(press) {
    ship.gotoAndStop("up");
}

Код кнопки Explode отличается от остальных, он использует команду gotoAndPlay, задающую перемещение клипа к кадру "explode" и продолжение воспроизведения:

on(press) {
    ship.gotoAndPlay("explode");
}

Клип включает последовательность из восьми кадров, которая начинается с кадра "explode" и изображает взрыв. Последний кадр последовательности содержит команду stop, задающую остановку воспроизведения клипа после взрыва.

Просматривая ролик Changingimages.fla, обратите особое внимание на временную шкалу клипа "ship". Здесь кадры маркированы таким образом, что код использует не номера, а имена кадров.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.