Иллюстрированный самоучитель по Flash-games


Создание кода - часть 4


function displayQuestion() {

// Проверяем, все ли вопросы уже заданы,
if (questionNum >= qArray.length) {

// Отображаем окончательное число очков и завершаем игру

finalScore = numRight + "out of" + qArray.length;

gotoAndPlay("game over");

} else {

// Отображаем вопрос и ответы на экране.

question.text = qArray[questionNum][0];

answer0.text = qArray[questionNum][1][0];

answer1.text = qArray[questionNum][1][1];

answer2.text = qArray[questionNum][1][2];

answer3.text =qArray[questionNum][1][3];

// Выводим номер ответа.

questionNumDisplay = questionNum+1;

// Запоминаем, какой ответ верный.

correctAnswer = int(qArray[questionNum][2]

// Делаем так, чтобы текст "въезжал" на экран

animatein();

}
}

Когда у вас массив содержится в другом массиве (двумерный массив), к элементу вложенного массива можно обратиться с помощью нескольких скобок. Например, выражение myArray[3] [8] обращается в восьмому значению третьего элемента массива myArray. Массив ту Array СОСТОИТ ИЗ четырех или более элементов, в третьем элементе содержится, в свою очередь, массив по меньшей мере из девяти элементов.

Функция animatein позволяет создать эффект появляющегося из-за экрана текста. Она устанавливает положение каждого текстового клипа за рабочим полем справа. Затем для каждого из этих клипов с помощью переменной xstop присваивается нужное горизонтальное положение. Код, прикрепленный к каждому из этих клипов, перемешает его влево до тех пор, пока он не дойдет до положения xstop.

function animatein() {

// Определяем положение каждого элемента текста,

//а также указываем место, где клип должен остановиться.

question.xstop = 300;

question._x = 800;

answerO.xstop = 400;

answer0._x = 1000;

answerl.xstop = 400;

answerl._x = 1200;

answer2.xstop = 400;

answer2._x = 1400;

answer3.xstop = 400;

answer3._x = 1600;
}

Когда пользователь щелкает по одной из четырех кнопок, вызывается функция selectAnswer, которой передается номер выбранного ответа (от 0 до 3). Если эта величина равна correctAnswer, звучит сигнал правильного ответа и увеличивается значение numRight. В противном случае воспроизводится сигнал неверного ответа. В любом случае увеличивается значение переменной guestionNum и отображается следующий вопрос.




Начало  Назад  Вперед