Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Adobe Flash. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π°Ρ€ΠΊΠ°Π΄, Π³ΠΎΠ»ΠΎΠ²ΠΎΠ»ΠΎΠΌΠΎΠΊ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΈΠ³Ρ€ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ActionScriptΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 55

Автор Гэри Π ΠΎΠ·Π΅Π½Ρ†Π²Π΅ΠΉΠ³

Π’ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΌ ΠΊΠ°Π΄Ρ€Π΅ начинаСтся само дСйствиС, отобраТаСтся вопрос, Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ ΠΎΡ‚Π²Π΅Ρ‚Π°, ΠΊΠ½ΠΎΠΏΠΊΠ° рядом с ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠΌ, количСство Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ΠΎΡ‡ΠΊΠΎΠ² ΠΈ счСт, ΠΎΠ±Π° послСдних тСкстовых поля – динамичСскиС, ΠΏΠ΅Ρ€Π²ΠΎΠ΅ связано с ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ potentialPoints, Π° Π²Ρ‚ΠΎΡ€ΠΎΠ΅ – с ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ score.

ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π½Π° самом Π΄Π΅Π»Π΅ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ ΠΎΡ‚Π²Π΅Ρ‚Π° – это ΠΊΠ»ΠΈΠΏΡ‹, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… находятся тСкстовыС поля, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‰ΠΈΠ΅ содСрТимоС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ text. Однако ΠΈΠΌΠ΅Π½Π° Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… ΠΊΠ»ΠΈΠΏΠΎΠ² ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ Ρ†ΠΈΡ„Ρ€ΠΎΠΉ: ΠΎΡ‚ answer0 Π΄ΠΎ answer3.

И послСдний ΠΊΠ°Π΄Ρ€ ΠΈΠ³Ρ€Ρ‹ – "game over". Π’ Π½Π΅ΠΌ показываСтся ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ счСт, ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‰Π΅Π»ΠΊΠ½ΡƒΡ‚ΡŒ ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΡ‹Π³Ρ€Π°Ρ‚ΡŒ Π·Π°Π½ΠΎΠ²ΠΎ.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠ΄Π° находится Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΊΠ°Π΄Ρ€Π΅ Π³Π»Π°Π²Π½ΠΎΠΉ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡˆΠΊΠ°Π»Ρ‹. По сущСству это Ρ‚ΠΎΡ‚ ΠΆΠ΅ самый ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ примСнялся Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ ΠΈΠ³Ρ€Π΅ для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ вопросов ΠΈΠ· тСкстового Ρ„Π°ΠΉΠ»Π°. Когда вопросы Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Ρ‹, вызываСтся функция initQuestions, располоТСнная Π² основной Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ шкалС:

stop();

// Π—Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌ список вопросов.

loadQuestions = new LoadVars();

loadQuestions.load("flashtrivia.txt");

loadQuestions.onLoad = initQuestions;

Ѐункция initQuestions Ρ€Π°Π·Π±ΠΈΠ²Π°Π΅Ρ‚ строчку Π½Π° Π΄Π²Π΅ части, пСрвая Ρ‡Π°ΡΡ‚ΡŒ – вопрос, вторая – ΠΎΡ‚Π²Π΅Ρ‚Ρ‹. Π—Π°Ρ‚Π΅ΠΌ ΠΎΠ½Π° отдСляСт ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π°. Вся эта информация хранится Π² массивС qArray.

function initQuestions(quesions) {

// ВыдСляСм вопросы.

qarray = questions.split(String.fromCharCode(13));

// ΠžΡ‚Π΄Π΅Π»ΡΠ΅ΠΌ вопрос ΠΎΡ‚ ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ².

for (i=0;i<qArray.length,i++) {

qArray[i] = qArray[i].split(":");

// ΠžΡ‚Π΄Π΅Π»ΡΠ΅ΠΌ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π°.

qArray[i][1] = qArray[i][1].split(";");

}

}

Наибольшая Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠΎΠ΄Π° находится Π² ΠΊΠ°Π΄Ρ€Π΅ Β«playΒ», Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π² Ρ‚ΠΎΠΌ ΠΊΠ°Π΄Ρ€Π΅, Π³Π΄Π΅ Π·Π°Π΄Π°ΡŽΡ‚ΡΡ вопросы, ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π° Π½ΠΈΡ… ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ. Π‘Π½Π°Ρ‡Π°Π»Π° функция initGame обнуляСт счСт ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ вопрос.

function initGame() {

// ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅.

questionNum = 0;

score = 0;

// Π’Ρ‹Π²ΠΎΠ΄ΠΈΠΌ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ вопрос.

displayQuestion();

}

Ѐункция displayQuestion Π±Π΅Ρ€Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ вопрос ΠΈ ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅Ρ‚ вопрос ΠΈ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ тСкстовыС поля. Она Ρ‚Π°ΠΊΠΆΠ΅ устанавливаСт количСство Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ΠΎΡ‡ΠΊΠΎΠ² Π·Π° ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ вопрос Ρ€Π°Π²Π½Ρ‹ΠΌ 1000.

function displayQuestion() {

// ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ, всС Π»ΠΈ вопросы Π·Π°Π΄Π°Π½Ρ‹.

if (questionNum >= qArray.length) {

// ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌ ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ счСт, Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅ΠΌ ΠΈΠ³Ρ€Ρƒ.

gotoAndPlay("game over");

} else {

// ΠŸΠ΅Ρ€Π΅ΠΌΠ΅ΡˆΠΈΠ²Π°Π΅ΠΌ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹.

answers = shuffleArray(qArray[questionNum][1].slice(0));

// Π’Ρ‹Π²ΠΎΠ΄ΠΈΠΌ вопрос ΠΈ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ Π½Π° экран.

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

answer0.text = answers[0];

answer1.text = answers[1];

answer2.text = answers[2];

answer3.text = answers[3];

// ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌ Π½ΠΎΠΌΠ΅Ρ€ вопроса.

questionNumDisplay = questionNum+1;

// Π—Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅ΠΌ, ΠΊΠ°ΠΊΠΎΠΉ ΠΎΡ‚Π²Π΅Ρ‚ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ.

correctAnswer = qArray[questionNum][1][0];

// Воспроизводим Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ тСкста.

animateIn();

// ΠŸΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΠΌ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ количСство Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ΠΎΡ‡ΠΊΠΎΠ² – 1000.

potentialPoints = 1000;

}

}

ΠŸΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ ΠΊΠ°Π΄Ρ€Ρƒ Β«playΒ» ΠΊΠ»ΠΈΠΏΠΎΠΌ Β«actionsΒ» вызываСтся функция scoreCount. Она Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ ΠΈΠ· максимального Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ³ΠΎ числа ΠΎΡ‡ΠΊΠΎΠ², провСряя, Ρ‡Ρ‚ΠΎΠ±Ρ‹ это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅ оказалось ΠΌΠ΅Π½Π΅Π΅ 0.

// Π’ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΊΠ°Π΄Ρ€Π΅ ΠΈΠ· максимального Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ³ΠΎ числа ΠΎΡ‡ΠΊΠΎΠ²

// Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π΅ΠΌ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ.

function scoreCount() {

// ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ, Π½Π° мСстС Π»ΠΈ послСдний ΠΎΡ‚Π²Π΅Ρ‚.

if (answers3._x == 400) {

// Π’Ρ‹Ρ‡ΠΈΡ‚Π°Π΅ΠΌ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ.

potenrialPoints -= 1;

if (potentialPoints < 0) potentialPoints = 0;

}

}

Ѐункция shuffleArray ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ displayQuestion, Ρ‡Ρ‚ΠΎΠ±Ρ‹ случайным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡˆΠ°Ρ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹. Π‘Π½Π°Ρ‡Π°Π»Π° создаСтся Π½ΠΎΠ²Ρ‹ΠΉ массив, Π° Π·Π°Ρ‚Π΅ΠΌ поэлСмСнтно ΠΈΠ· старого массива Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ значСния Π² Π½ΠΎΠ²Ρ‹ΠΉ массив.

// Π‘Π΅Ρ€Π΅ΠΌ массив array1 ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡˆΠΈΠ²Π°Π΅ΠΌ Π΅Π³ΠΎ элСмСнты

// для массива array2.

function shuffleArray(array1) {

// Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π½ΠΎΠ²Ρ‹ΠΉ, пустой массив.

array2 = new Array();

// ΠŸΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Π΅ΠΌ массив с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ†ΠΈΠΊΠ»Π°.

do {

// Π’Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ ΡΠ»ΡƒΡ‡Π°ΠΉΠ½ΡƒΡŽ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρƒ.

r = int(Math.random()*array1.length);

// ДобавляСм элСмСнт Π² Π½ΠΎΠ²Ρ‹ΠΉ массив.

array2.push(array1[r]);

// УдаляСм элСмСнт ΠΈΠ· старого массива.

array1.splice(r, 1);

} while (array1.length > 0);

// Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌ Π½ΠΎΠ²Ρ‹ΠΉ массив.

return(array2);

}

Ѐункция animateIn опрСдСляСт ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ² с ΠΏΡ€Π°Π²ΠΎΠΉ стороны Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ поля. Она ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· этих Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… ΠΊΠ»ΠΈΠΏΠΎΠ² Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΡΡ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΈ Π²Π»Π΅Π²ΠΎ, ΠΊΠΎΠ³Π΄Π° достигнСт Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ полоТСния (400 пиксСлов ΠΎΡ‚ ΠΏΡ€Π°Π²ΠΎΠΉ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ³ΠΎ поля). Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΉ, ΠΏΡ€ΠΈΠΊΡ€Π΅ΠΏΠ»Π΅Π½Π½Ρ‹ΠΉ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΠΊΠ»ΠΈΠΏΡƒ, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ ΠΊΠ»ΠΈΠΏ Π²Π»Π΅Π²ΠΎ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ Π²Ρ‹ΡˆΠ΅ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ условиС.

function animateIn() {

// ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅ΠΌ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΡ‚Π²Π΅Ρ‚Π°

// ΠΈ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ мСсто, Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠ»ΠΈΠΏ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΡΡ.

answer0.xstop = 400;

answer0._x = 800;

answer1.xstop = 400;

answer1._x = 1000;

answer2.xstop = 400;

answer2._x = 1200;

answer3.xstop = 400;

answer3._x = 1400;

}

Когда ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Ρ‰Π΅Π»ΠΊΠ°Π΅Ρ‚ ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅, Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚ сравниваСтся со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ correctAnswer, которая Π±Ρ‹Π»Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ displayQuestion. Если ΠΎΡ‚Π²Π΅Ρ‚ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ, ΠΎΠ½ Π½Π°Π±ΠΈΡ€Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ΅ количСство ΠΎΡ‡ΠΊΠΎΠ², ΠΈ выводится ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ вопрос. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС, ΠΈΠ· количСства Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ΠΎΡ‡ΠΊΠΎΠ² вычитаСтся 200, ΠΈ ΠΎΡ‚Π²Π΅Ρ‚ удаляСтся с экрана.

function selectAnswer(n) {

// ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚.

if (answer[n] == correctAnswer) {

triggerSound("right");

// Π£Π²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅ΠΌ счСт.

score += potentialPoints;

// Π’Ρ‹Π²ΠΎΠ΄ΠΈΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ вопрос.

questionNum++;

displayQuestion();

} else {

// ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚.

triggerSound("wrong");

// УмСньшаСм количСство Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ΠΎΡ‡ΠΊΠΎΠ².

potentialPoints -= 200;

if (potentialPoints < 0) potentialPoints = 0;

// УдаляСм ΠΎΡ‚Π²Π΅Ρ‚.

_root["answer"+n].text = "";

}

}

Ѐункция triggerSound Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ ΠΈΠ³Ρ€Π΅. Она просто воспроизводит ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΉ Π·Π²ΡƒΠΊΠΎΠ²ΠΎΠΉ сигнал.

function triggerSound(soundName) {

// Воспроизводим Π·Π²ΡƒΠΊ.

// Aini.iecaiaei caoe.

soundfx.stop();

soundfx = new Sound();

soundfx.attachSound(soundName);

soundfx.start();

}

Π”Ρ€ΡƒΠ³ΠΈΠ΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΊΠΎΠ΄Π° ΠΊΠ°Π΄Ρ€Π° Β«playΒ» Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π½Π΅Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ для ΠΊΠ»ΠΈΠΏΠ° Β«actionsΒ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ scoreCount.

onClipEvent(enterFrame) {

_root.scoreCount();

}

Код для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… ΠΊΠ»ΠΈΠΏΠΎΠ² ΠΎΡ‚Π²Π΅Ρ‚Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ (здСсь прСдставлСн ΠΊΠΎΠ΄ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠΏΠ°). ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΊΠ»ΠΈΠΏ двиТСтся Π² Π΄Π²Π° Ρ€Π°Π·Π° быстрСС, Ρ‡Π΅ΠΌ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ ΠΈΠ³Ρ€Π΅.

onClipEvent(enterFrame) {

if (_x != xstop) _x -= 40;

}

Π’ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… ΠΊΠ½ΠΎΠΏΠΎΠΊ содСрТится сцСнарий, ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈ Π΅Π΅ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ selectAnswer. Кнопки Ρ€Π΅Π°Π³ΠΈΡ€ΡƒΡŽΡ‚ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° Ρ‰Π΅Π»Ρ‡ΠΎΠΊ ΠΌΡ‹ΡˆΠΈ, для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° клавиша Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π΅. НапримСр, пСрвая ΠΊΠ½ΠΎΠΏΠΊΠ°, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅, ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Π° "A" (рис. 12.4), ΠΎΠ½Π° Ρ€Π΅Π°Π³ΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π° Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ клавиши "A".

on (release, keyPress "A") {

selectAnswer(0);

}

К свСдСнию

Π’Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ просмотритС ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт Ρ€ΠΎΠ»ΠΈΠΊΠ° Flashtrivia.fla, Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Π½ΠΎΠ³ΠΎ Π½Π° Web-сайтС. Π’ Π½Π΅ΠΌ находятся тСкстовыС поля: для вопроса, Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ², количСства Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ΠΎΡ‡ΠΊΠΎΠ² ΠΈ счСта. КаТдая ΠΊΠ½ΠΎΠΏΠΊΠ° прСдставляСт собой копию ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ ΠΊΠ»ΠΈΠΏΠ°, Π²Π²Π΅Ρ€Ρ…Ρƒ Π½Π΅Π΅ располоТСн статичСский символ. Π­Ρ‚ΠΈ символы лишь Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°ΠΆΠ°Ρ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π΅ вмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‰Π΅Π»ΠΊΠ½ΡƒΡ‚ΡŒ ΠΏΠΎ самой ΠΊΠ½ΠΎΠΏΠΊΠ΅.

Π”Ρ€ΡƒΠ³ΠΈΠ΅ возмоТности

Как ΠΈ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ ΠΈΠ³Ρ€Π΅, Π² тСкстовый Ρ„Π°ΠΉΠ» ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ вопросов, сколько Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅. Если Π²Ρ‹ Π·Π½Π°ΠΊΠΎΠΌΡ‹ с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ CGI, Π²Ρ‹ Π΄Π°ΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ для сСрвСра, которая Π±ΡƒΠ΄Π΅Ρ‚ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» Flashtrivia.txt Π½Π° основС Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… вопросов.

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ количСство ΠΎΡ‡ΠΊΠΎΠ² для вопросов, Π° Ρ‚Π°ΠΊΠΆΠ΅ число ΠΎΡ‡ΠΊΠΎΠ², Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹Ρ… Π·Π° Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚.

Π˜Π³Ρ€Π° «ВисСлица»

Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ»: Hangman.fla

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΈΠ³Ρ€Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Π·Π½Π°ΠΊΠΎΠΌΠ° всСм. Π’ классичСской ΠΈΠ³Ρ€Π΅ с Ρ€ΡƒΡ‡ΠΊΠΎΠΉ ΠΈ Π±ΡƒΠΌΠ°Π³ΠΎΠΉ, "ВисСлицС", ΠΈΠ³Ρ€ΠΎΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡƒΠ³Π°Π΄Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ символы ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² Ρ„Ρ€Π°Π·Π΅. Если ΠΎΠ½ ΡƒΠ³Π°Π΄Ρ‹Π²Π°Π΅Ρ‚ Π±ΡƒΠΊΠ²Ρƒ, становятся Π²ΠΈΠ΄Π½Ρ‹ всС мСста Π΅Π΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π²ΠΎ Ρ„Ρ€Π°Π·Ρƒ. Если Π²ΠΎ всСй Ρ„Ρ€Π°Π·Π΅ Π½Π΅Ρ‚ Ρ‚Π°ΠΊΠΎΠΉ Π±ΡƒΠΊΠ²Ρ‹, добавляСтся Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ рисунка с ΠΏΠΎΠ²Π΅ΡˆΠ΅Π½Π½Ρ‹ΠΌ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ. Если рисунок Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½ ΠΏΡ€Π΅ΠΆΠ΄Π΅, Ρ‡Π΅ΠΌ Ρ„Ρ€Π°Π·Π° ΡƒΠ³Π°Π΄Π°Π½Π°, ΠΈΠ³Ρ€ΠΎΠΊ ΠΏΡ€ΠΎΠΈΠ³Ρ€Ρ‹Π²Π°Π΅Ρ‚.

Π—Π°Π΄Π°Ρ‡Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

ЦСль ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° – Π²ΠΎΡΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠ»Π°ΡΡΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΈΠ³Ρ€Ρƒ «ВисСлица» Π² срСдС Flash. Π˜Π³Ρ€ΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ ΡƒΠ³Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒ Π±ΡƒΠΊΠ²Ρ‹. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π±ΡƒΠΊΠ²Ρ‹ ΠΈ рисуСт повСшСнного Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ° ΠΈΠ»ΠΈ, ΠΊΠ°ΠΊ Π² расматриваСмом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, лису.

На рис. 12.5 ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ основной ΠΊΠ°Π΄Ρ€ ΠΈΠ³Ρ€Ρ‹, Π³Π΄Π΅ рисунок с повСшСнной лисой Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½ ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠΊΠ²Ρ‹. Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΈΠ³Ρ€Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»Π° ΠΏΡ€ΠΎΠΈΠ³Ρ€Π°Π½Π°.

Рисунок 12.5. Π˜Π³Ρ€Π° «ВисСлица» ΠΏΡ€ΠΎΠΈΠ³Ρ€Π°Π½Π°

ΠŸΠΎΠ΄Ρ…ΠΎΠ΄

Π’ ΠΈΠ³Ρ€Π΅ производится мноТСство дСйствий с символами. Π€Ρ€Π°Π·Π°, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠ³Π°Π΄Π°Ρ‚ΡŒ, прСдставляСт собой строку символов. Из Π½Π΅Π΅ Π²Ρ‹ создаСтС строку, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ вмСсто Π±ΡƒΠΊΠ² находятся Π·Π½Π°ΠΊΠΈ подчСркивания. Π­Ρ‚ΠΎ ΠΊΠ°ΠΊ Ρ€Π°Π· Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ.

Когда ΠΈΠ³Ρ€ΠΎΠΊ ΡƒΠ³Π°Π΄Ρ‹Π²Π°Π΅Ρ‚ Π±ΡƒΠΊΠ²Ρƒ, ΠΎΠ½Π° сравниваСтся с ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π±ΡƒΠΊΠ²ΠΎΠΉ исходной Ρ„Ρ€Π°Π·Ρ‹. Если Π±ΡƒΠΊΠ²Π° совпадаСт с ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ Π±ΡƒΠΊΠ²ΠΎΠΉ Ρ„Ρ€Π°Π·Ρ‹, ΠΎΠ½Π° отобраТаСтся Π½Π° экранС Π½Π° своСм мСстС (ΠΈΠ»ΠΈ мСстах).

Если ΠΈΠ³Ρ€ΠΎΠΊ Π½Π΅ ΡƒΠ³Π°Π΄Ρ‹Π²Π°Π΅Ρ‚, ΠΊΠ»ΠΈΠΏ с лисой ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ ΠΊΠ°Π΄Ρ€Ρƒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ добавляСтся Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ изобраТСния лисы. Если это послСдний ΠΊΠ°Π΄Ρ€ ΠΊΠ»ΠΈΠΏΠ° с лисой, ΠΈΠ³Ρ€Π° заканчиваСтся.

ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° Ρ€ΠΎΠ»ΠΈΠΊΠ°

Основной элСмСнт – тСкстовоС ΠΏΠΎΠ»Π΅ Π½Π° экранС. Π‘Π½Π°Ρ‡Π°Π»Π° Π² Π½Π΅ΠΌ находятся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ ΠΈ Π·Π½Π°ΠΊΠΈ подчСркивания, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ постСпСнно ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Π½Π° Π±ΡƒΠΊΠ²Ρ‹, ΡƒΠ³Π°Π΄Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ ΠΈΠ³Ρ€ΠΎΠΊΠΎΠΌ.

ВСкстовоС ΠΏΠΎΠ»Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ динамичСским ΠΈ связано с ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ display. Π’ ΠΏΠ°Π½Π΅Π»ΠΈ Properties Π½Π΅ΠΎΡŽΡ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ‚Π°ΠΊΠΆΠ΅ Π²Ρ‹ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ свойство Multiline для тСкстового поля.

ВСкст отобраТаСтся ΠΌΠΎΠ½ΠΎΡˆΠΈΡ€ΠΈΠ½Π½Ρ‹ΠΌ ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠΌ Monaco, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ имССтся Π² стандартной поставкС систСмы Macintosh. Если Π²Ρ‹ создаСтС Ρ€ΠΎΠ»ΠΈΠΊ Π² Windows, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Π°ΠΌ придСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΌΠΎΠ½ΠΎΡˆΠΈΡ€ΠΈΠ½Π½Ρ‹ΠΉ ΡˆΡ€ΠΈΡ„Ρ‚, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Courier New.