Другие возможности
Значения параметров _xscale и _yscale не обязательно должны быть равны. Вы можете изменить только один из них, чтобы получить другой эффект. Вы также не обязаны придерживаться приводимых в книге значений. Кнопка может увеличиваться до большего или меньшего размера. Немного изменив код, вы можете заставить кнопки пульсировать. Для этого необходимо задать возвращение значения переменной newscaleк 100 сразу после того, как кнопка достигнет максимального размера. В результате при наведении курсора кнопка будет мгновенно увеличиваться и сразу же уменьшаться.
Вращающаяся и изменяющая цвета спираль
Исходные файлы: Colorchange.fla, Colortransform.fla, Gradualchange.fla, Spiral.fla
При помощи ActionScript можно менять не только масштаб клипа, но и почти любой другой его параметр. Изменение масштаба является довольно простым примером. Изменить цвет клипа немного сложнее. В данном разделе вы научитесь изменять цвет клипа и поворачивать его.
Задача проекта
Задача этого проекта – создать ролик, который будет изображать вращающуюся спираль с постепенно меняющимися цветами. При этом вы изучите, как функционируют объект Color и свойство клипа _rotation.
Подход
С помощью ActionScript можно изменить большинство свойств клипов, которые находятся на рабочем поле. В некоторых случаях свойство можно изменить напрямую, в других случаях, например при смене цветов, необходимо использовать функции.
Объект Color
Объект Color предназначен для изменения цветов клипа. Его можно представить как набор функций, позволяющих узнавать и управлять цветами клипа.
Сначала надо создать объект Color, связанный с клипом, который вы собираетесь изменять. Это можно сделать следующим образом:
myColorObject = new Color(«myMovieClipName»);
...
Совет
Объекты наподобие Color построены по образу телевизионного пульта управления. Клип можно представить как телевизор, а объект Color как особый пульт управления, предназначенный для настройки цветовых параметров изображения. Методы объекта Color используются аналогично кнопкам пульта управления.
Существует два способа определения и изменения цветового объекта. Первый – это непосредственно определить цвет при помощи двух строк кода. Сначала создайте новый flash-ролик и поместите на рабочее поле один клип. Назовите копию клипа «myMovieClip». Затем поместите следующий сценарий в главную временную шкалу:
myColorObject = new Color(«myMovieClip»); trace(myColorObject.getRGB()).toString());
...
Внимание!
Не забудьте о том, что существует различие между именем эталона клипа в библиотеке и именем конкретного экземпляра клипа на рабочем поле. ActionScript всегда ссылается на имя экземпляра клипа. Имя в библиотеке предназначено исключительно для организационных целей.
Во время тестирования ролика автоматически откроется окно Output, в котором будет содержаться значение "0". Это результат выполнения команды trace.
...
Примечание
Функция toString преобразует многие типы ActionScript, например числовые в строку текста. Она, например, удобна для преобразования цветов в числовые значения для вывода при помощи команды trace.
Более интересный результат можно получить, изменяя цвет ролика. Чтобы это сделать, выделите клип и на панели Properties выберите в выпадающем меню Color пункт Advanced, после чего нажмите кнопку Settings. В появившемся окне Advanced Effect введите значение 128 в поля R,G и B. Введите значение 128 в поля R, G и B (рис. 5.3) в правой колонке. В левой колонке выставьте значение 0.
Рисунок 5.3. Панель Advanced Effect предназначена для изменения цвета клипа
Теперь при тестировании ролика в итоговое окно будет помешено значение 8421504,что соответствует значениям 128 полей R, G и B. Немного изменив функцию toString, вы вместо десятичного значения получите шестнадцатеричное. Оно будет выглядеть как значение RGB, используемое дизайнерами для задания цветов.
myColorObject = new Color(«myMovieClip»); trace((myColorObject.getRGB()).toString(16));
...
Примечание
Описание new позволяет создавать новые копии объектов наподобие объекта Color. Оно также используется для создания новых массивов и ваших собственных объектных конструкций. Если на данном этапе оно не понятно, не беспокойтесь. Для того чтобы использовать описание new, полное понимание не требуется.
Результатом в данном случае является значение 808080,шестнадцатеричное число, представляюшее собой средний серый цвет (красная, зеленая и синяя составляюшие, которые имеют значение 128, среднее между 0 и 255). Значение 16 в качестве параметра функции toString() задает преобразование числовых значений в шестнадцатеричные.
Читать дальше
Конец ознакомительного отрывка
Купить книгу