Помощь · Поиск · Пользователи · Календарь
Полная версия этой страницы: создание сценария выполнения флеша программано
Flash Zone Forum > Macromedia Flash > Общие вопросы
flasharik
 у меня есть такая флешка - таблица с текстом (по ин.язу). юзер водит по таблице и при этом подсвечиваются слова - ячейки таблицы + транскрипция. А если нажимает - слово звучит (запускается аудио файлик).

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

ячейки с иностранным словом, a11, a12, a13, .... a330
ячейки с транскрипциями  t11, t12, t13, .... t330
звуковой файл слова  s11, s12, s13, .... s330

можно ли в коде прописать чтобы с интервалом в 1-2 секунды происходили заданные события ?
chingachgoog
Можно, если события назначены не в стиле Flash-5.
flasharik
Цитата(chingachgoog @ 15.03.2010 - 13:55) *
Можно, если события назначены не в стиле Flash-5.

И как? и что такое стиль Flash-5 ?
chingachgoog
Цитата(flasharik @ 15.03.2010 - 19:11) *
И как? и что такое стиль Flash-5 ?


Flash-5 стиль - это навешивание обработчиков типа on(событие) {выполнить}
Я не знаю как вызвать извне такой обработчик.

Если же обработчик задан в стиле AS1: объект.обработчик=function(){выполнить}
то сделать такое просто, особенно если кнопки - это не Button, а MovieClip

объект - это будет таймлайн_с_кнопками["имя экземпляра кнопки"]
Код
_root["a11"]

обработчик - нужный обработчик нужного события
Код
onRollOver

И добавляем команду исполнить ():

Код
_root["a11"].onRollOver()


Понятно, что это надо делать в цикле и переводить клип-кнопку на нужный кадр.
flasharik
Цитата(chingachgoog @ 15.03.2010 - 20:03) *
Если же обработчик задан в стиле AS1: объект.обработчик=function(){выполнить}
то сделать такое просто, особенно если кнопки - это не Button, а MovieClip

Понятно, что это надо делать в цикле и переводить клип-кнопку на нужный кадр.


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

MustLive
Цитата
в стиле Flash-5.

Я бы это назвал классическим стилем назначение обработчиков. Т.к. данный стиль был ещё в Flash 4. Т.е. это стиль до-AS1 флеш разработки.

Цитата
как теперь мне расписать по времени, я не понял если честно.

flasharik

Для этого используй setInterval, о котором я не раз писал на форуме.

Алгоритм для решения твоей задачи следующий:

1. Прописать (в AS1 стиле) обработчики всех событий всех объектов.
2. С использованием setInterval задать последовательность нужных действий.
3. После выполнения тех действий, где не нужен повтор (т.е. нужно лишь одноразовое выполнение), использовать clearInterval (для отключения заданных интервалов).

Пример кода:
Код
_root.button1.onRollOver = function () {
    trace("Action 1");
}
_root.button2.onRollOver = function () {
    trace("Action 2");
}
function Action1() {
    _root.button1.onRollOver();
    clearInterval(act1);
}
function Action2() {
    _root.button2.onRollOver();
}
act1 = setInterval(Action1,2000); // один раз через 2 сек.
act2 = setInterval(Action2,3000); // с повтором каждые 3 сек.
Русская версия IP.Board © 2001-2014 IPS, Inc.