Волшебный хрустальный шар
Ниже приведен полный код кнопки. После того как текст будет задан, ролик переходит к кадру 2 и запускает анимацию. Текстовая область не видна до кадра 23.
on
(release) {
// Создаем список возможных ответов.
responses
=
new
Array();
responses.push(
"Yes"
);
responses.push(
"No"
);
responses.push(
"Ask again later"
);
responses.push(
"It is certain"
);
responses.push(
"Doubtful"
);
responses.push(
"Probably"
);
responses.push(
"The answer is unclear"
);
responses.push(
"Of course not!"
);
responses.push(
"Certainly!"
);
responses.push(
"It looks positive"
);
responses.push(
"It looks negative"
);
// Узнаем число ответов,
n
=
responses.length;
// Выбираем случайный ответ.
r
=
Int(Math.random()
*
n);
// Помещаем ответ в текстовую область,
fortune
=
responses[r];
// Запускаем дальнейшую анимацию.
gotoAndPlay(
2
);
}
Для перемещения по flash-ролику будут использоваться две команды: gotoAndPlay и gotoAndstop. Разница между ними состоит в том,что вторая команда задает переход ролика или клипа к определенному кадру или метке, но не запускает выполнения какого-либо кода или воспроизведения какой-либо анимации. В отличие от нее команда gotoAndPlay задает выполнение кода и продолжение анимации. Если вы хотите запустить выполнение кода какого-либо кадра, но не желаете переходить к следующему после него, используйте команду gotoAndPlay и включите в кадр команду stop.
В конце анимации в центре хрустального шара появляется текст (рис. 6.6)
Рис. 6.6. В конце анимации на несколько секунд появляется ответ, затем ролик вновь возвращается в начало
К сведению
В конце анимации вы можете поместить команду stop (), чтобы воспроизведение ролика не повторялось, а также другую кнопку, которая осуществит возврат ролика к кадру 1 в случае, если пользователь захочет задать еще один вопрос.
Другие возможности
Вы можете внести изменения в код списка ответов. Совсем необязательно придерживаться используемой в нашем примере модели "да/ нет/не знаю". Ваши вопросы и ответы могут касаться определенной темы, например, выиграет ли сегодня местная спортивная команда или какой будет погода.