PDA

Просмотр полной версии : Слайдшоу + самовоспроизведение


РУС
05.08.2010, 18:25
День добрый,

собственно пытаюсь для флешки (смотри вложенный файл) сделать чтобы после ожидания 10 секунд был переход на следующую картинку.

Пишу:

function findframe() {
photos.gotoAndPlay(_currentframe+17);
}

setInterval (findframe(), 10000);

В результате - в функцию переходит на кадр соответственно тоже, но через 10 секунд еще на 17 кадров не плюсует и не играет.

Вставляю в первый фрейм слоя controlAS у мувика master_clip.

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

Были еще мысли связаться с getTimer(), но я не понимаю что он мне выдает такое: то 15 то 16 то 17...18

counter = getTimer();
setInterval (findframe(), 2000, counter);

mooncar
05.08.2010, 18:27
1. setInterval (findframe, 10000);
Надо писать ссылку на функцию, а не ее вызов делать.

2. И вообще, для выполнения функции с задержкой нужно использовать setTimeout.
function findframe()
{
photos.gotoAndPlay(_currentframe + 17);
}

setTimeout(findframe, 10000);
Потому что интервальная функция делает постоянный вызов функции с заданной периодичностью, а setTimeout - один раз.

3. И еще. Сдается мне, что _currentframe вам нужно брать в photos, а не на текущем таймлайне:

function findframe()
{
photos.gotoAndPlay(photos._currentframe + 17);
}

РУС
05.08.2010, 22:50
1. setInterval (findframe, 10000);
Надо писать ссылку на функцию, а не ее вызов делать.

Спасибо, понял.

Потому что интервальная функция делает постоянный вызов функции с заданной периодичностью, а setTimeout - один раз.

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

3. И еще. Сдается мне, что _currentframe вам нужно брать в photos, а не на текущем таймлайне:

Да, это было супер упущение... попробую, спасибо.

Добавлено через 13 часов 12 минут
Замечательно, все заработало...