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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 25.03.2007, 17:06
Yukagir вне форума Посмотреть профиль Отправить личное сообщение для Yukagir Посетить домашнюю страницу Yukagir Найти все сообщения от Yukagir
  № 1  
Ответить с цитированием
Yukagir
 
Аватар для Yukagir

Регистрация: Jan 2003
Адрес: Москва
Сообщений: 64
Отправить сообщение для Yukagir с помощью ICQ
По умолчанию немного усложненный setTimeout в цикле

Добрый день

Сегодня - немного усложненный вариант вчерашнего топика -))
То, что посоветовал уважаемый iNils работает на ура,
Код:
function current_sbm_open () {
	for (var i:Number = 1; i < but_nums + 1; i++) {
		var temp_sbm = this["sbm" + i];
		setTimeout (temp_sbm, "play", 1000 * (i - 1));
	}
}
но возникла необходимость усложнить воспроизводимую функцию. Это - функция начала проигрывания четырех клипов с задержкой
Код:
function current_sbm_open() {
	for(var i:Number=1; i < but_nums+1; i++){
		var temp_sbm = "sbm"+i;
		setTimeout (for_timeout(temp_sbm), _parent.sbm_pause * (i - 1));
	};
};
а это функция непосредственно того, что должны делать клипы
Код:
function for_timeout(n) {
	trace(this[n]);
	delete this[n].onEnterFrame;
	this[n]._alpha = 100;
	this[n].gotoAndPlay(1);
	this[n].sbm_text.char_play();
}
к сожалению, у меня не хватило знаний, чтобы привести эту функцию к такому виду, чтобы она работала с тремя параметрами, как было с вариантом play(). В таком виде открыаются все четыре клипа, все работает правильно, но задержки нет, хотя в trace все отображается верно:
Код:
_level0.sbm4.sbm1
0
_level0.sbm4.sbm2
100
_level0.sbm4.sbm3
200
_level0.sbm4.sbm4
300
Если не трудно, подскажите, пожалуйста, нужное направление

Спасибо.
__________________
Yukagir

Старый 25.03.2007, 17:09
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 2  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Параметры в функцию передаются третим (и далее) аргументом в setTimeout. А вы сразу запускаете функцию for_timeout, а не передаете ссылку на неё.

Старый 25.03.2007, 17:10
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 3  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
Код:
setTimeout (for_timeout, _parent.sbm_pause * (i - 1), temp_sbm);
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 25.03.2007, 17:18
Yukagir вне форума Посмотреть профиль Отправить личное сообщение для Yukagir Посетить домашнюю страницу Yukagir Найти все сообщения от Yukagir
  № 4  
Ответить с цитированием
Yukagir
 
Аватар для Yukagir

Регистрация: Jan 2003
Адрес: Москва
Сообщений: 64
Отправить сообщение для Yukagir с помощью ICQ
понял. спасибо большое.
а как же с вариантом

Код:
setTimeout (temp_sbm, "play", 1000 * (i - 1));
в ней аргумент стоит на первом месте, а функция на втором
__________________
Yukagir

Старый 25.03.2007, 17:21
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 5  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
Для setInterval и setTimeout есть два синтаксиса

setInterval(functionReference:Function, interval:Number, [param1:Object, param2, ..., paramN]) : Number

setInterval(objectReference:Object, methodName:String, interval:Number, [param1:Object, param2, ..., paramN]) : Number
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 25.03.2007, 17:23
Yukagir вне форума Посмотреть профиль Отправить личное сообщение для Yukagir Посетить домашнюю страницу Yukagir Найти все сообщения от Yukagir
  № 6  
Ответить с цитированием
Yukagir
 
Аватар для Yukagir

Регистрация: Jan 2003
Адрес: Москва
Сообщений: 64
Отправить сообщение для Yukagir с помощью ICQ
понял. спасибо большое за помощь
__________________
Yukagir

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

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

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


 


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


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