Чтение онлайн

на главную

Жанры

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

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

Шрифт:

Преимущество использования одной функции для контроля всей навигации заключается не только в меньшем количестве нажатий на клавиши при программировании. Предположим, что к моменту завершения программы вы 100 раз обратились к функции gotoFrame. Затем вы решили удалить окно textFrameLabel или немного изменить его. Если бы вы не использовали функцию, то вам пришлось бы удалять или изменять код в 100 местах. Но так как все ваши навигационные кнопки используют функцию gotoFrame, то для изменения их поведения достаточно изменить только ее.

Урок 14.

Массивы

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

Массив является разновидностью переменной. Переменные, которые вы использовали до сих пор, могут содержать одно значение: число или строку. Массив может содержать ни одного, одно и больше значений. Вот как выглядит массив:

myArray = ["Apple", «Orange», «Peach», «Plum»];

Для обращения к элементу массива используется специальный синтаксис:

myItem = myArray[1];

Переменная myItem будет иметь значение «Orange», так как отсчет положений в массивах, так же как и в строках, начинается с 0. Несложно догадаться, что массивы применяются для хранения множества однотипных данных. Для выполнения операций над массивами предназначено несколько функций. Прежде всего, давайте рассмотрим, как создаются массивы. Это можно сделать несколькими способами. До сих пор мы рассматривали только способ, при котором все элементы массива задаются сразу. Вы также можете создать пустой массив и добавлять в него элементы:

myArray = new Array;

myArray.push("Apple");

myArray.push("Orange");

myArray.push("Peach");

myArray.push("Plum");

Первая строка данного кода создает пустой массив. Каждая из следующих четырех строк добавляет в массив один элемент при помощи команды push. По сравнению со способом «все сразу» данный способ кажется более сложным, однако он незаменим при построении массивов, все элементы которого не известны заранее. Например, вы можете позволить пользователю ввести данные, а затем добавить их в массив. Длину массива можно узнать так же, как и длину строки:

myLength = myArray.length;

Вы уже знаете, как получить доступ к отдельному элементу массива при помощи квадратных скобок. Используя команду pop, вы сможете взять из массива значение последнего размещенного там элемента. При этом из массива он удаляется. В нашем примере мы передаем его в окно Output. Следующий сегмент кода добавляет в массив четыре элемента, а затем, используя цикл while, удаляет конечные элементы массива и перемещает их в окно Output:

myArray = new Array;

myArray.push("Apple");

myArray.push("Orange");

myArray.push("Peach");

myArray.push("Plum");

while (myArray.length>0) {

trace(myArray.pop);

}

Первой строкой в окне Output является «Plum», последней – «Apple», так как команда pop берет элементы в порядке, обратном помещению элементов массива (стековая схема: последний вошел, первый вышел – First In Last Out). Массивы можно упорядочить. В случае, если элементами массива являются числа, Flash

упорядочит их в цифровой последовательности. Если это строки, они будут упорядочены по алфавиту:

myArray = new Array;

myArray.push("Peach");

myArray.push("Orange");

myArray.push("Apple");

myArray.push("Plum");

myArray.sort;

trace(myArray.toString);

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

myArray = [(«Apple», «Orange», «Peach» «Plum»]; myArray.splice(2,1);

Команда splice может выполнять несколько функций. В данном примере она содержит два параметра. Первый задает позицию, с которой начинается удаление элементов (считая от 0!), второй – количество удаляемых элементов. В нашем случае будет удален элемент «Peach», находящийся в позиции 2. Изменив второй параметр на 2, вы удалите и «Peach» и «Plum». Убрав второй параметр, вы удалите все элементы массива. Функция splice используется также для добавления элементов. Добавляемый элемент задается третьим параметром:

myArray = [(«Apple», «Orange», «Peach», «Plum»]; myArray.splice(2,1, "Pear");

В данном примере удаляется элемент «Peach», а его место занимает элемент «Pear». Четвертый и последующие параметры используются для добавления второго и более элементов. В случае, если значение второго параметра окажется равно 0, никакие элементы удалены не будут. Теперь, когда у вас есть представление об основах ActionScript, самое время применить эти знания для создания вполне профессиональных фрагментов Flash-роликов. В следующей главе мы создадим несколько подобных фрагментов, и затем, начиная с главы 5 "Создание визуальных эффектов", приступим к написанию целых программ.

Глава 3 Элементы ActionScript для создания игр

• Урок 15. Контроль воспроизведения клипа

• Урок 16. Управление свойствами клипа

• Урок 17. Применение метода "Перетащи и положи" к клипам

• Урок 18. Клипы и уровни

• Урок 19. Копирование клипов

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

• Урок 21. Пересечение объектов

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

• Урок 23. Ввод команд с клавиатуры

• Урок 24. Воспроизведение звука

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

Урок 15. Контроль воспроизведения клипа

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

Клипы представляют собой как бы небольшие ролики внутри основного Flash-ролика. Они включают полноценную временную шкалу со слоями, а также большинство элементов основного ролика. И основной Flash-ролик, и клипы можно контролировать при помощи команд play и stop.

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

Черный Маг Императора 13

Герда Александр
13. Черный маг императора
Фантастика:
попаданцы
аниме
сказочная фантастика
фэнтези
5.00
рейтинг книги
Черный Маг Императора 13

Последняя Арена 4

Греков Сергей
4. Последняя Арена
Фантастика:
рпг
постапокалипсис
5.00
рейтинг книги
Последняя Арена 4

Маяк надежды

Кас Маркус
5. Артефактор
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Маяк надежды

Великий перелом

Ланцов Михаил Алексеевич
2. Фрунзе
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Великий перелом

Сопротивляйся мне

Вечная Ольга
3. Порочная власть
Любовные романы:
современные любовные романы
эро литература
6.00
рейтинг книги
Сопротивляйся мне

Инквизитор Тьмы 2

Шмаков Алексей Семенович
2. Инквизитор Тьмы
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Инквизитор Тьмы 2

Мастер Разума V

Кронос Александр
5. Мастер Разума
Фантастика:
городское фэнтези
попаданцы
5.00
рейтинг книги
Мастер Разума V

Бандит 2

Щепетнов Евгений Владимирович
2. Петр Синельников
Фантастика:
боевая фантастика
5.73
рейтинг книги
Бандит 2

Истребители. Трилогия

Поселягин Владимир Геннадьевич
Фантастика:
альтернативная история
7.30
рейтинг книги
Истребители. Трилогия

Гардемарин Ее Величества. Инкарнация

Уленгов Юрий
1. Гардемарин ее величества
Фантастика:
городское фэнтези
попаданцы
альтернативная история
аниме
фантастика: прочее
5.00
рейтинг книги
Гардемарин Ее Величества. Инкарнация

Падение Твердыни

Распопов Дмитрий Викторович
6. Венецианский купец
Фантастика:
попаданцы
альтернативная история
5.33
рейтинг книги
Падение Твердыни

"Дальние горизонты. Дух". Компиляция. Книги 1-25

Усманов Хайдарали
Собрание сочинений
Фантастика:
фэнтези
боевая фантастика
попаданцы
5.00
рейтинг книги
Дальние горизонты. Дух. Компиляция. Книги 1-25

Ох уж этот Мин Джин Хо 2

Кронос Александр
2. Мин Джин Хо
Фантастика:
попаданцы
5.00
рейтинг книги
Ох уж этот Мин Джин Хо 2

Энфис 6

Кронос Александр
6. Эрра
Фантастика:
героическая фантастика
рпг
аниме
5.00
рейтинг книги
Энфис 6