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

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

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

Регистрация: Mar 2009
Сообщений: 122
Question загрузка мувика, прелоэдер и переменные

есть игра. весит прилично.
поэтому отдельно сделал меню отдельно видео ролики отдельно каждый уровень.
все файлы находяться в формате swf, в одной папке.
вот вообщем что мне необходимо:

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

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

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Используйте MovieClipLoader, напишите функцию nextLoad, где вызываете loadClip, а в методе onLoadInit - обращение опять к этой функции nextLoad.
Экземпляр MovieClipLoader и слушатель можно один и тот же использовать.
Переменные для аккуратности забивайте в массив какой-нибудь в теле того же onLoadInit.


Последний раз редактировалось mooncar; 23.07.2009 в 21:04.
Старый 23.07.2009, 21:00
alex001 вне форума Посмотреть профиль Отправить личное сообщение для alex001 Найти все сообщения от alex001
  № 3  
Ответить с цитированием
alex001

Регистрация: Mar 2009
Сообщений: 122
а что за onInit? можно по подробнее, что это?


Последний раз редактировалось alex001; 23.07.2009 в 21:04.
Старый 23.07.2009, 21:06
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 4  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Если известно количество загружаемых swf-ок, то рекурсию прерываете по достижению счетчиком этого числа, если число неизвестно - прерываете рекурсию по срабатыванию onLoadError

Добавлено через 1 минуту
onLoadInit - я ошибся сперва - это метод класса MovieClipLoader, который вызывается при полной готовности загруженного клипа.

Старый 23.07.2009, 21:10
alex001 вне форума Посмотреть профиль Отправить личное сообщение для alex001 Найти все сообщения от alex001
  № 5  
Ответить с цитированием
alex001

Регистрация: Mar 2009
Сообщений: 122
мне нужно не совсем то,
в канце каждого мувика должна стоять команда типо load(lvl2.swf)
в следуещем load(lvl3.swf).
я вполне смогу в конце каждого клипа написать код заного.
еще нужен, как я говорил, прелоэдер.
P.S.а как MovieClipLoader работает?

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

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Тогда так: в методе onLoadInit при загрузке очередного ролика узнаете url следующего ролика, и передаете его этой функции.
Такой вот кусок:
Код AS1/AS2:
listener.onLoadInit= function (target_mc:MovieClip) {
DATARRAY[0] = target_mc.var1; //навсегда забирем данные в основной ролик
....
DATARRAY[N] = target_mc.varN;
 nextLoad(target_mc.url); //здесь забираем из загруженного ролика url следующего и передаем на рекурсию
};
Читайте про класс, вам без него не обойтись.

Старый 23.07.2009, 21:22
alex001 вне форума Посмотреть профиль Отправить личное сообщение для alex001 Найти все сообщения от alex001
  № 7  
Ответить с цитированием
alex001

Регистрация: Mar 2009
Сообщений: 122
но все мувики находяться в папке, не в странице интернета, тогда url...

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

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Вот в сыром виде:

Код AS1/AS2:
total = 20;
i = 1;
 
var mcLoader:MovieClipLoader = new MovieClipLoader();
var listener:Object = new Object();
mcLoader.addListener(listener);
 
listener.onLoadInit= function (target_mc:MovieClip) {
	DATARRAY[0] = target_mc.var1; //навсегда забирем данные в основной ролик
	....
	DATARRAY[N] = target_mc.varN;
	i++;
	//тут можно выгрузить загруженное, если не нужно больше с помощью unloadMovie
	nextLoad(target_mc.nexturl); //здесь забираем из загруженного ролика url следующего и передаем на рекурсию
};
 
function nextLoad (adres) {
	if (i <= total) {
	_root.createEmptyMovieClip("container" + i, i);	
	mcLoader.loadClip(adres, _root["container" + i]);	
	}
};
 
nextLoad ();
Добавлено через 2 минуты
Какая разница, где находятся?
Я говорил об url как о местонахождении загружаемого ролика, хоть http, хоть папку укажите.


Последний раз редактировалось mooncar; 23.07.2009 в 21:29.
Старый 23.07.2009, 21:28
alex001 вне форума Посмотреть профиль Отправить личное сообщение для alex001 Найти все сообщения от alex001
  № 9  
Ответить с цитированием
alex001

Регистрация: Mar 2009
Сообщений: 122
а что за url?
я имею в виду откуда он тут, и что делает?

Добавлено через 6 минут
он выдал ошибки.

Код:
Unexpected '}' encountered
Unexpected '.' encountered

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

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Цитата:
Сообщение от alex001 Посмотреть сообщение
мне нужно не совсем то,
в канце каждого мувика должна стоять команда типо load(lvl2.swf)
Вот это самое "lvl2.swf" - и есть url следующего ролика.
Может быть так:
"data/superswfki/1.swf"
Вам нужно прописать переменную в ролимках, которая бы называлась, если брать мой код, nexturl, и присваивать ей этот самый url, или, если вас это так термин тут смущает, путь.
То есть в каждом ролике пишите адрес следующего:
var nexturl:String = "lvl2.swf"
..
var nexturl:String = "lvl20.swf"
В общем, как хотите, так и управляйте адресацией загружаемых роликов...

Добавлено через 1 минуту
Что значит ошибки?
Вы переменную nexturl пропишите в роликах и синтаксис проверьте, я вам пример накидал, а не рабочий код дал.

Добавлено через 3 минуты
Это компилятор выругался на "....", означающие пропуск некоторого количества элементов, где я показывал как данные в массив загонять, а вы просто даже и не подумавши все запустили. Вы же там говорили, что вам данные нужно забирать из роликов.

Добавлено через 8 минут
А статус загрузки возьмете из
Код AS1/AS2:
listener.onLoadProgress = function(target_mc, loadedBytes, totalBytes) {
//тут выводите 
trace ("загружено " +  loadedBytes + " из " + totalBytes);
}
Учите матчасть про MovieClipLoader - сильно поможет.


Последний раз редактировалось mooncar; 23.07.2009 в 21:45.
Создать новую тему Ответ Часовой пояс GMT +4, время: 14:13.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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