function removeBricks {
for(var i=0;i bricks[i].removeMovieClip; }
Первый кадр ролика – «start» – присваивает переменной gameLevel значение 1 и останавливает ролик.
gameLevel=1; stop;
Чтобы перейти к следующему кадру, надо нажать кнопку. Вот ее код.
on (press) {
GotoAndStop("Play");
}Все функции, которые мы рассмотрели, находятся в кадре «Play». Еще там есть команда, вызывающая функцию initGame. Когда уровень пройден, игра переходит к кадру "level over". Так как клип "action" находится в другом кадре, то все шары автоматически останавливаются. При нажатии единственной в этом кадре кнопки все блоки удаляются, и функция initGame может расставить их заново при переходе на следующий уровень.
on (press) {
removeBricks;
gotoAndStop("Play");
}При нажатии кнопки в кадре «game over» блоки тоже удаляются, но игра переходит к кадру «start».
on (press) {
removeBricks;
gotoAndStop("Start");
}К сведению
Игра, в общем то, лишь приблизительно воспроизводит трехмерный мир. Например, когда мяч отлетает в угол, компонент скорости z меняется таким образом, что суммарный вектор скорости остается неизменным.
Вы можете попробовать спрятать курсор перед началом игры с помощью Mouse.hide, только не забудьте вернуть его на место по окончании игры с помощью Mouse.show.
Другие возможности
Очень простой способ внести дополнение в эту игру – поместить какой-либо рисунок за блоками. Это можно сделать вообще без использования ActionScript. Можно также сделать, чтобы в конце каждого уровня пользователь видел другую картинку.
Глава 12 Викторины и загадки со словами
• Викторина во Flash
• Викторина с учетом времени
• Игра "Виселица"
• Криптограмма
В этой главе мы рассмотрим игры, в которых используются слова, а не действия. Есть два различных типа игр со словами. В играх первого типа программа задает вопрос и проверяет, правильно ли ответил пользователь. В играх второго типа пользователю предлагается отгадать слово или фразу, открывая по одной букве.
Викторина во Flash
Исходный файл: Flashquiz.fla
Первые две игры, которые вы создадите в этой главе, построены по принципу вопросов и ответов. Первая игра – викторина с десятью вопросами, для каждого из которых дано четыре варианта ответа. Выбрав ответ, игрок видит, правильный он или нет.
На рис. 12.1 представлен основной кадр игры. Вопрос расположен вверху, а четыре варианта ответа – под ним. Пользователь должен щелкнуть по кнопке слева от ответа.
Рисунок 12.1.
Задача проекта
Цель проекта – создать программу, которая будет получать вопросы из внешнего текстового файла, затем один за другим предлагать их игроку. Правильность/неправильность ответа обозначается звуковым сигналом.
После того как будут заданы десять вопросов, игра закончится. На экране должно отобразиться набранное количество очков. Запустите ролик Flashquiz.fla, размещенный на Web-сайте поддержки книги, и сыграйте несколько раундов, чтобы получить представление о работе программы.
Подход
Сначала нужно получить вопросы и ответы из текстового файла. Для этого можно воспользоваться объектом loadVars, который позволяет загружать данные из внешнего файла.
К сожалению, объект loadVars не позволяет обрабатывать массивы или объекты, а такая возможность нужна для рационального хранения набора вопросов и ответов. Однако можно прочесть один фрагмент текста, с помощью команды split разбить его на части и сохранить полученное в массиве. Таким образом вы получите из одного текстового блока десять вопросов, четыре варианта ответа на каждый вопрос и номер правильного ответа.
Как только вопросы будут расположены в массиве, сделать все остальное не составит труда. Текст каждого вопроса и ответов помещаются в соответствующих текстовых полях. Номер правильного ответа присваивается переменной. Затем программа ждет, когда игрок щелкнет по кнопке.