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

Розенцвейг Гэри

Шрифт:

Подготовка ролика

В данном ролике будет использоваться один элемент – спиральная фигура. Поместите его в центр рабочего поля. Начальный цвет спирали должен быть белым, а фоновый – черным.

Смена цветов и вращение

Ролик будет состоять из одного сценария, назначенного клипу с изображением спирали.

Переменная n, участвуюшая в сценарии, содержит способ изменения цвета. Значение цвета будет соответствовать числу из предыдушего списка. Так, например, если n будет равно 3, значение красной составляюшей увеличится.

Значение переменной n сначала равно 1, затем увеличивается до 6 и далее цикл повторяется. Ниже приведена часть кода c последовательностью if…then, которая использует значение переменной n и изменяет объект преобразования цвета.

if (n == 1) {

colorTransform.rb -= 5;

if (colorTransform.rb ==0) n = 2;

} else if (n == 2) {

colorTransform.bb -= 5;

if (colorTransform.bb ==0) n = 3;

} else if (n == 3) {

colorTransform.rb += 5;

if (colorTransform.rb == 255) n = 4;

} else if (n == 4) {

colorTransform.gb -= 5;

if (colorTransform.gb == 0) n = 5;

} else if (n == 5) {

colorTransform.bb += 5;

if (colorTransform.bb == 255) n = 6;

} else if (n == 6) {

colorTransform.gb += 5;

if (colorTransform.gb == 255) n = 1;

}

...

Примечание

Оператор += используется для прибавления к переменной определенного числа. Например, код n += 5 прибавляет 5 к значению n. Этот код аналогичен коду n = n + 5. Оператор =- используется для вычитания определенного числа из переменной.

Значение переменной n проверяется в каждой части выражения if.then. В случае совпадения одна из трех цветовых составляюших объекта colorTransform изменяется. После окончания изменений, сама переменная n меняет свое значение на следующие.

Полная программа представляет собой обычный клип ActionScript с функциями onClipEvent(load) и onClipEvent(enterFrame). Первая вводит объекты цвета и преобразования, вторая выполняет постепенное изменение цветов.

Кроме того, мы сделаем так, чтобы клип врашался. Врашение достигается постепенным увеличением значения параметра _rotation.

onClipEvent(load) {

// Создаем объект цвета и цветовой трансформации.

spiralColor = new Color(this);

colorTransform = {rb:255, bb:255, gb:255};

// Вначале n равно единице.

n = 1;

}

onClipEvent(enterFrame) {

// Определяем, какую составляющую необходимо изменить.

if (n == 1) {

colorTransform.rb -= 5;

if (colorTransform.rb == 0) n = 2;

} else if (n == 2) {

colorTransform.bb -= 5;

if (colorTransform. bb == 0) n = 3;

} else if (n == 3) {

colorTransform.rb += 5;

if (colorTransform. rb == 255) n = 4;

} else if (n == 4) {

colorTransform.gb -= 5;

if (colorTransform. gb == 0) n = 5;

} else if (n == 5) {

colorTransform.bb += 5;

if (colorTransform.bb == 255) n = 6;

} else if (n == 6) {

colorTransform.gb += 5;

if (colorTransform. gb == 255) n = 1;

}

// Задаем новый цвет.

spiralColor.setTransform(colorTransform);

// Вращаем спираль.

this._rotation += 5;

}

...

Примечание

Объект this обозначает обращение клипа к самому себе. Так как сценарий назначен клипу, использование this будет обозначать, что команда, следующая после this, относится к самому клипу, а не к другому клипу или ролику.

...

Примечание

Параметр клипа _rotation используется для поворота клипа на определенное количество градусов. Он может иметь как положительные, так и отрицательные значения. Если вы укажете значение больше 360°, Flash автоматически преобразует его. К примеру, при вводе значения 370° клип будет повернут на 10°.

На рис. 5.4 изображен фрагмент ролика Spiral.fla.

Рисунок 5.4. Спираль изменяет цвет и вращается

Хотя этот же эффект можно получить и средствами классической анимации, ActionScript позволяет сделать это намного быстрее.

К сведению

Частота смены кадров ролика определяет скорость врашения спирали и смены цветов. Максимальная частота во Flash 8 – 120 кадр/с. Однако следует иметь в виду, что частота смены кадров напрямую зависит от быстродействия компьютера.

Другие возможности

Изменив оператор += на —= в последней строке кода, вы заставите спираль врашаться в обратном направлении. Вы можете также изменить способ смены цветов, изменив значения красной, зеленой и синей составляюших.

Случайность и эффект старого кино

Исходные файлы: Randomlocation.fla, Randommovement.fla, Oldfilm.fla

Используя Flash исключительно в качестве инструмента анимации, можно добиться поразительных эффектов, но каждый раз анимация будет воспроизводиться одинаково. ActionScript имеет алгоритм выбора случайных чисел, благодаря чему в содержание ролика можно вносить элемент некой непредсказуемости.

Задача проекта

Задача данного раздела – научиться использовать случайные числа для создания визуальных эффектов. Возможно, вы захотите создать «эффект старого кино», когда на изображении кое-где появляются царапины и точки.

Подход

Во Flash MX сушествует два способа генерирования случайных чисел. Первый – включить в код функцию Random, которая была в четвертой версии программы. Эта функция выдает значение в диапазоне от 0 до значения, на единицу меньшего, чем аргумент. К примеру, функция Random(5) выдаст значение от 0 до 4.

Во Flash MX появилась функция Math.random. Возможно, что в следующих версиях Flash функции Random уже не будет. Функция Math.random выдает число с плаваюшей запятой от 0,0 до 1,0.

  • Читать дальше
  • 1
  • ...
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: