Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 05.08.2010, 18:25
РУС вне форума Посмотреть профиль Отправить личное сообщение для РУС Найти все сообщения от РУС
  № 1  
Ответить с цитированием
РУС

Регистрация: Nov 2004
Адрес: Saint-Petersburg
Сообщений: 7
Отправить сообщение для РУС с помощью ICQ
По умолчанию Слайдшоу + самовоспроизведение

День добрый,

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

Пишу:

Код AS1/AS2:
function findframe() {	
	photos.gotoAndPlay(_currentframe+17);	
}
 
setInterval (findframe(), 10000);
В результате - в функцию переходит на кадр соответственно тоже, но через 10 секунд еще на 17 кадров не плюсует и не играет.

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

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

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

Код AS1/AS2:
counter = getTimer();
setInterval (findframe(), 2000, counter);
Вложения
Тип файла: rar egypt.rar (605 байт, 35 просмотров)

Старый 05.08.2010, 18:27
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 2  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
1.
Код AS1/AS2:
setInterval (findframe, 10000);
Надо писать ссылку на функцию, а не ее вызов делать.

2. И вообще, для выполнения функции с задержкой нужно использовать setTimeout.
Код AS1/AS2:
function findframe() 
{	
	photos.gotoAndPlay(_currentframe + 17);	
}
 
setTimeout(findframe, 10000);
Потому что интервальная функция делает постоянный вызов функции с заданной периодичностью, а setTimeout - один раз.

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

Код AS1/AS2:
function findframe()  
{	
	photos.gotoAndPlay(photos._currentframe + 17);	
}


Последний раз редактировалось mooncar; 05.08.2010 в 18:35.
Старый 05.08.2010, 22:50
РУС вне форума Посмотреть профиль Отправить личное сообщение для РУС Найти все сообщения от РУС
  № 3  
Ответить с цитированием
РУС

Регистрация: Nov 2004
Адрес: Saint-Petersburg
Сообщений: 7
Отправить сообщение для РУС с помощью ICQ
Цитата:
Сообщение от mooncar Посмотреть сообщение
1.
Код AS1/AS2:
setInterval (findframe, 10000);
Надо писать ссылку на функцию, а не ее вызов делать.
Спасибо, понял.

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

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

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

Создать новую тему Ответ Часовой пояс GMT +4, время: 11:59.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 11:59.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.