Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript. Гэри Розенцвейг
16. Управление свойствами клипа
Исходный файл: Mcproperties.fla
Вы можете не только контролировать содержание клипа, но и задавать его внешние свойства. Например, управлять его положением, вращением и масштабом.
В примере Mcproperties.fla в центре экрана находится клип с изображением лисы. И рисунок в библиотеке, и копия клипа имеют имя "fox".
Кроме этого, вокруг изображения лисы расположено восемь кнопок. Каждая из них задает свойство клипа. Внешний вид экрана показан на рис. 3.3. Первые три кнопки имеют названия Left (Левая), Middle (Средняя) и Right(Правая).
Рисунок 3.3. При помощи кнопок, расположенных вокруг клипа «fox», можно изменить его положение, масштаб и повернуть его
В уроке 6 «Анимация при помощи ActionScript» мы узнали, что переменная _x используется для описания горизонтального положения клипа на рабочем поле. Эта переменная и будет использоваться кнопками Left, Middle и Right. Они могут использовать и переменную _у для описания вертикального положения клипа, однако в данном примере это не требуется. Приведем код кнопки Left. Он задает горизонтальное положение рисунка равным 200, то есть размещает его немного слева от центра при условии, что ширина ролика составляет 550 пикселов. Кнопки Middle и Right отличаются только значением переменной _x.
on (press) {
fox._x = 200;
}
Для изменения масштаба клипа используются переменные _xscale и _yscale. В случае, если переменные имеют одинаковые значения, масштаб клипа будет изменяться пропорционально. Значение 100 соответствует масштабу 100 %.
Совет
Значения переменных _xscale и _yscale можно задавать отдельно друг от друга. Они могут быть разными, при этом клип станет более тонким или более плоским.
Ниже приведен сценарий кнопки «50 %». Две другие кнопки масштабирования используют аналогичный код, но с другими значениями.
on (press) {
fox._xscale = 50;
fox._yscale = 50;
}
Для вращения клипа используется переменная _rotation. Значение переменной задается в градусах, при этом 0 равен 360. Вы можете задать значение больше 360 или меньше 0, однако Flash преобразует их в показания между 0 и 360.
Далее приводится сценарий кнопки Tilt (Наклон). Она поворачивает клип на 30° по часовой стрелке. Кнопка Straight (Прямо) возвращает клип в положение 0°.
on (press) {
fox._rotation = 30;
}
Используя эти переменные в более сложных сценариях, рассматриваемых далее, вы сможете перемещать клип по рабочему полю, что необходимо для создания игр различных типов.
Урок 17. Применение метода «Перетащи и положи» к клипам
Исходный файл: Dragsimple.fla
Важным свойством интерфейса, будь то игра или приложение, является возможность перетаскивать элементы по экрану. Во Flash это можно сделать несколькими способами. Мы рассмотрим три из них.
Команда startDrag задает автоматическое следование клипа за курсором. Пример Dragsimple.fla демонстрирует самый простой способ применения данной команды.
Клип под названием "circle" с изображением круга был помещен на рабочее поле. Как только ролик запускается, нижеприведенная команда задает его движение следом за курсором. Она также задает остановку анимации главной временной шкалы, чтобы ролик не продолжал воспроизведение следующих кадров.
startDrag(«circle»,