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

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

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

Регистрация: Apr 2002
Адрес: СПб
Сообщений: 288
По умолчанию упорядочивание выполнения кода по времени

Продолжение темы.
http://flasher.ru/forum/showthread.php?t=179347
Вопрос слился с предыдущим постом и туда уже, к сожалению, никто не заходит.
А очень нужен совет.

С помощью вот этого получаю три массива с именами файлов.
Код AS1/AS2:
for (i = 0; i < 3; i++) {
	var lv = new LoadVars();
	lv.load(file[i]);
	lv.id = i;
	lv.onLoad = function() {
		_root["pics" + this.id] = this.pic.split(",");
		img1.loadMovie(pics2[1]);//НЕ РАБОТАЕТ (это для пробы)
	};
}
Как мне отследить когда массив наполнился, чтобы грузить картинки с именами из этих массивов?
Cписок то файлов я получаю с задержкой.(((
__________________
Хватит клавиши топтать... :mad:

Старый 15.05.2012, 07:49
Hauts вне форума Посмотреть профиль Отправить личное сообщение для Hauts Посетить домашнюю страницу Hauts Найти все сообщения от Hauts
  № 2  
Ответить с цитированием
Hauts
 
Аватар для Hauts

блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
Отправить сообщение для Hauts с помощью ICQ Отправить сообщение для Hauts с помощью Skype™
Код AS1/AS2:
for (i = 0; i < 3; i++) {
	var lv = new LoadVars();
	lv.load(file[i]);
	lv.id = i;
	lv.onLoad = function() {
		_root["pics" + this.id] = this.pic.split(",");
		testStartLoadImages();
	};
}
 
var totalArraysOfImages = 0;
function testStartLoadImages() {
	totalArraysOfImages++;
	if (totalArraysOfImages == 3) {
		// start loading images
	}
}
И используйте MovieClipLoader для загрузки изображений.
__________________
hauts.ru

Старый 15.05.2012, 12:31
as_68 вне форума Посмотреть профиль Отправить личное сообщение для as_68 Найти все сообщения от as_68
  № 3  
Ответить с цитированием
as_68
 
Аватар для as_68

Регистрация: Apr 2002
Адрес: СПб
Сообщений: 288
Hauts, не понимаю как это работает
написал в личку
__________________
Хватит клавиши топтать... :mad:

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

блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
Отправить сообщение для Hauts с помощью ICQ Отправить сообщение для Hauts с помощью Skype™
Код AS1/AS2:
var picArrays = [];
 
for (i = 0; i < 3; i++) {
	var lv = new LoadVars();
	lv.load(file[i]);
	lv.id = i;
	lv.onLoad = function() {
		picArrays[this.id] = this.pic.split(",");
		testStartLoadImages();
	};
}
 
var totalArraysOfImages = 0;
function testStartLoadImages() {
	totalArraysOfImages++;
	if (totalArraysOfImages == 3) {
		// start loading images
		trace(picArrays[0])
		trace(picArrays[1])
		trace(picArrays[2])
	}
}
Вот так должно работать, думаю.
__________________
hauts.ru

Старый 15.05.2012, 12:42
as_68 вне форума Посмотреть профиль Отправить личное сообщение для as_68 Найти все сообщения от as_68
  № 5  
Ответить с цитированием
as_68
 
Аватар для as_68

Регистрация: Apr 2002
Адрес: СПб
Сообщений: 288
В личке написан код аналогичный
выдает
undefined
undefined
undefined

PS: сорри не аналогичный

Добавлено через 4 минуты
Но тоже самое выдает
__________________
Хватит клавиши топтать... :mad:

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

блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
Отправить сообщение для Hauts с помощью ICQ Отправить сообщение для Hauts с помощью Skype™
example.rar

Смотрите пример
__________________
hauts.ru

Старый 15.05.2012, 14:18
as_68 вне форума Посмотреть профиль Отправить личное сообщение для as_68 Найти все сообщения от as_68
  № 7  
Ответить с цитированием
as_68
 
Аватар для as_68

Регистрация: Apr 2002
Адрес: СПб
Сообщений: 288
Hauts, ваша часть заработала )))
Если можно с остальным - там похоже тоже код выполняется быстрее чем приходят данные.
Вложения
Тип файла: rar as.rar (812.3 Кб, 20 просмотров)
__________________
Хватит клавиши топтать... :mad:

Старый 15.05.2012, 15:12
Hauts вне форума Посмотреть профиль Отправить личное сообщение для Hauts Посетить домашнюю страницу Hauts Найти все сообщения от Hauts
  № 8  
Ответить с цитированием
Hauts
 
Аватар для Hauts

блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
Отправить сообщение для Hauts с помощью ICQ Отправить сообщение для Hauts с помощью Skype™
Код AS1/AS2:
//=================получаем массивы названий картинок========
var picsArray = [];
function preparePic() {
	for (i = 0; i < kolvo; i++) {
		var lv = new LoadVars();
		lv.id = i;
		lv.onLoad = function() {
			picsArray[this.id] = this.pic.split(",");
			testStartLoadImages();
		};
		lv.sendAndLoad("dbase" + (i + 1) + ".txt",lv,"POST");
	}
}
 
//=======================
var totalArraysOfImages = 0;
function testStartLoadImages() {
	totalArraysOfImages++;
	if (totalArraysOfImages == 3) {
		trace(picsArray[0]);
		trace(picsArray[1]);
		trace(picsArray[2]);
		random_pic();
		// start loading images
	}
}
//=================получаем 2 случайных имени файла========
function random_pic() {
	_root.onEnterFrame = function() {
		if (_root.r_arr_old == _root.r_arr) {
			_root.r_arr = Math.round(Math.random() * _root.kolvo);
		} else {
			_root.r_arr_old = _root.r_arr;
			_root.r_it = -1;
			// _root.r_it = Math.round(Math.random() * _root["pics" + _root.r_arr].length);
			_root.r_it = Math.round(Math.random() * picsArray[_root.r_arr].length);
			delete _root.onEnterFrame;
		}
 
	};
	showImage(dir[r_arr] + _root["pics" + r_arr][r_it],img1);
}
Я так понял, вам нужно загрузить пути до картинок и в произвольном порядке их показывать, верно?
__________________
hauts.ru

Старый 15.05.2012, 15:21
as_68 вне форума Посмотреть профиль Отправить личное сообщение для as_68 Найти все сообщения от as_68
  № 9  
Ответить с цитированием
as_68
 
Аватар для as_68

Регистрация: Apr 2002
Адрес: СПб
Сообщений: 288
да, верно
__________________
Хватит клавиши топтать... :mad:

Старый 16.05.2012, 13:30
as_68 вне форума Посмотреть профиль Отправить личное сообщение для as_68 Найти все сообщения от as_68
  № 10  
Ответить с цитированием
as_68
 
Аватар для as_68

Регистрация: Apr 2002
Адрес: СПб
Сообщений: 288
Hauts, ваш последний код у меня не работает.(((
Функция загрузки картинок вызывается раньше чем появлятся переменная r_it.
Вложения
Тип файла: rar as.rar (818.9 Кб, 11 просмотров)
__________________
Хватит клавиши топтать... :mad:

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

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

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


 


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


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