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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 28.07.2008, 14:21
van4es вне форума Посмотреть профиль Отправить личное сообщение для van4es Посетить домашнюю страницу van4es Найти все сообщения от van4es
  № 1  
Ответить с цитированием
van4es
[+1.3 20.11.08]

Регистрация: Jan 2006
Сообщений: 39
Отправить сообщение для van4es с помощью Skype™
По умолчанию получить переменные и их значения из файла и использовать их (setInterval)

Задача: получить переменные и их значения из файла(например vars.txt) и использовать их в скрипте.

Просмотрел хелп, и переделал указанный пример loadsVars:

Код:
this.createEmptyMovieClip("varsHolder", this.getNextHighestDepth());
loadVariables("vars.txt", varsHolder);

var loadVars:Array = new Array(); 

function checkParamsLoaded() {
 if (varsHolder.done == undefined) {
 trace("not yet.");
 } else {
 trace("finished loading. killing interval.");
 trace("-------------");
 for (i in varsHolder) {
 	trace(i+": "+varsHolder[i]);
 	loadVars[i] = varsHolder[i];
 }
 trace("-------------");
 clearInterval(param_interval);
 }
}
var param_interval:Number = setInterval(checkParamsLoaded, 100);
trace('my var: ' + loadVars['var1']);
файл vars.txt содержит: dir="video"&file="video"&done="done"

Но вот проблема в том что не происходит паузы до строки var param_interval:Number = setInterval(checkParamsLoaded, 100);
и соответственно выдаётся 'undefined' на trace('my var: ' + loadVars['dir']);

В чём дело? Как сделать чтобы только после загрузки всех переменных работал скрипт дальше?


Последний раз редактировалось van4es; 28.07.2008 в 14:37.
Старый 28.07.2008, 14:38
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 2  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
А чем вам так насолил LoadVars, что вы предпочитаете использовать древнейший метод loadVariables мезозойской эпохи?

Старый 28.07.2008, 14:53
van4es вне форума Посмотреть профиль Отправить личное сообщение для van4es Посетить домашнюю страницу van4es Найти все сообщения от van4es
  № 3  
Ответить с цитированием
van4es
[+1.3 20.11.08]

Регистрация: Jan 2006
Сообщений: 39
Отправить сообщение для van4es с помощью Skype™
потому что готовый пример был и вроде это именно то, что нужно было.

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

Регистрация: Sep 2002
Сообщений: 30,784
Ну а вы не копайтесь в помойке, пишите сами.

Старый 28.07.2008, 16:32
van4es вне форума Посмотреть профиль Отправить личное сообщение для van4es Посетить домашнюю страницу van4es Найти все сообщения от van4es
  № 5  
Ответить с цитированием
van4es
[+1.3 20.11.08]

Регистрация: Jan 2006
Сообщений: 39
Отправить сообщение для van4es с помощью Skype™
Цитата:
Сообщение от __etc Посмотреть сообщение
Ну а вы не копайтесь в помойке, пишите сами.
НУ вот не получается, пытался заменить на loadVars, проблемма остаётся - скрипт работает пока переменные догружаются.

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

Регистрация: Sep 2002
Сообщений: 30,784
Цитата:
Сообщение от van4es Посмотреть сообщение
НУ вот не получается, пытался заменить на loadVars, проблемма остаётся - скрипт работает пока переменные догружаются.
Ну само собой, в ActionScript так и есть. А в чем проблема дождаться события onLoad и работать дальше? Переменные мгновенно получить извне невозможно.

Старый 28.07.2008, 16:59
van4es вне форума Посмотреть профиль Отправить личное сообщение для van4es Посетить домашнюю страницу van4es Найти все сообщения от van4es
  № 7  
Ответить с цитированием
van4es
[+1.3 20.11.08]

Регистрация: Jan 2006
Сообщений: 39
Отправить сообщение для van4es с помощью Skype™
Цитата:
Сообщение от __etc Посмотреть сообщение
А чем вам так насолил LoadVars, что вы предпочитаете использовать древнейший метод loadVariables мезозойской эпохи?
Код:
myVars = new LoadVars(); 
myVars.load('vars.txt');

function loading(){
	myVars.onLoad = function( success:Boolean ){
		if(success){
			trace("variables loaded");
			trace( 'onLoad: ' + myVars.var1 );
			clearInterval(loading_interval);
		}
		else{
			//trace( 'could not lad variables' );
			loading();
		}
	}
}

var loading_interval:Number = setInterval(loading, 100);
//loading();
trace( 'loading(): ' + myVars.var1 );
проблемма как была, так и осталось(myVars.var1 = 'undefined'). Похоже я чего то важного не понимаю....

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

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,879
Записей в блоге: 7
Код:
myVars = new LoadVars ();
myVars.onLoad = function (success:Boolean) {
	if (success) {
		trace ("variables loaded");
		trace ('onLoad: ' + this.var1);
	} else {
		//trace( 'could not lad variables' );
		loading ();
	}
};
myVars.load ('vars.txt');
__________________
(и)Нильс.ru | Плагины для FlashDevelop

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

Регистрация: Sep 2002
Сообщений: 30,784
Код:
myVars = new LoadVars(); 
myVars.onLoad = function (success) {
	if (success){
		trace("variables loaded");
		trace( 'onLoad: ' + myVars.var1 );
		// дальше пишем здесь
	} else {
		trace('error');
	}

}
myVars.load('vars.txt');

Старый 28.07.2008, 17:14
van4es вне форума Посмотреть профиль Отправить личное сообщение для van4es Посетить домашнюю страницу van4es Найти все сообщения от van4es
  № 10  
Ответить с цитированием
van4es
[+1.3 20.11.08]

Регистрация: Jan 2006
Сообщений: 39
Отправить сообщение для van4es с помощью Skype™
Всё понял. Спасибо.

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

Теги
loadvariables , setinterval , пауза

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

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


 


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


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