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

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

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

блогер
Регистрация: Feb 2008
Сообщений: 1,453
Записей в блоге: 4
По умолчанию прелоад себя и не только

Есть прелоадер, который загружает всю графику на сайт и все работает. Но поставлена задача: грузить в прелоадер, не только графику, но самого себя, т.е. рабочую флешку. Было добавлено 2 строки кода (обозначено красным), в результате чего все грузится как и раньше, но помимо этого еще по одной копии каждой картинки грузится в начало координат и никак не реагирует на навигацию. Версия плеера - 9. Баг проявляется на мозиле и на эксплорере, в новом эксплорере и в опере не юзал, та же проблема собственно в плеере и в самом флеше. Вот код:
Код:
stop();
import mx.transitions.Tween;
import mx.transitions.easing.*;
Stage.scaleMode="noScale";
//создание загрузчика и слушателя
var my_mcl:MovieClipLoader = new MovieClipLoader();
var my_lst:Object = new Object();
my_mcl.addListener(my_lst);
_root.preloader._visible = false;
//mass - создание массива для хранения загружаемых файлов
var mass = new Array();
//okload - контейнер, в который загружаются все файлы
var okload = false;

//пока выполняется загрузка считаем проценты
my_lst.onLoadProgress = function(target_mc:MovieClip, loaded:Number, total:Number) {
	l = Math.round(loaded/total*100);
	mass[target_mc] = [loaded, total];
};

//определение количества загруженой информации
this.onEnterFrame = function() {
	if (!okload) {
		return true;
	}
	//tbl и tbt - определяют общее количество загружаемой информации(total) и количество загруженой информации(loaded)
	tbl = 0;
	tbt = 0;
	for (cl in mass) {
		tbl += mass[cl][0];
		tbt += mass[cl][1];
	}
	//добавляем размер самой флэхи
	tbl += _root.getBytesLoaded();
	tbt += _root.getBytesTotal();
	//определение объема флэшки
	//perc- проценты
	perc = Math.round(tbl/tbt*100);
	preloader.gotoAndStop(perc);

	_root.preloader.preload_txt.text = perc+"%";

	if (perc == 100) {
		//код, выполняемый при окончании загрузки контента
		_root.preloader._visible = false;
		okload = false;
		for (i=0; i<massimages.length; i++) {
			_root["cont_mc"+i]._visible = false;
		}
		gotoAndStop(2);
	}
};

//код, выполняемый при старте загрузки
my_lst.onLoadStart = function(target_mc:MovieClip) {
	_root.preloader._visible = true;
};

//код, выполняемый при инициализации
my_lst.onLoadInit = function(target_mc:MovieClip) {
	target_mc._height = 0;
	target_mc._width = 0;
};

//создание массива из загружаемых изображений и их обработка
var massimages = new Array('img/main.jpg', 'img/izd1.jpg');

okload = true;
for (i=0; i<massimages.length; i++) {
	clip = _root.createEmptyMovieClip("cont_mc"+i, i);
	_root["cont_mc"+i]._visible = false;
	_root.my_mcl.loadClip(massimages[i],clip);
}
__________________
Ну все, теперь Забава м-о-я.
Гы-гы, а корабль мой!


Последний раз редактировалось TanaTiX; 19.03.2008 в 23:40.
Старый 20.03.2008, 02:34
Molecula вне форума Посмотреть профиль Отправить личное сообщение для Molecula Найти все сообщения от Molecula
  № 2  
Ответить с цитированием
Molecula
 
Аватар для Molecula

Регистрация: Apr 2007
Сообщений: 1,369
Цитата:
Есть прелоадер, который загружает всю графику на сайт и все работает. Но поставлена задача: грузить в прелоадер, не только графику, но самого себя, т.е. рабочую флешку.
Странная задача. Зачем грузить самого себя?
Логика странная.
Обычно:
1) один СВФ, который весит до 2-3 кБ (прелоадер), подгружает другой СВФ, или
2) В самом СВФ делается два кадра - первый для отображения самозагруженности, а во втором, основной управляющий код.

У Вас как организовано?

Цитата:
Баг проявляется на мозиле и на эксплорере, в новом эксплорере и в опере не юзал, та же проблема собственно в плеере и в самом флеше.
А где она НЕ проявляется?

Код:
//okload - контейнер, в который загружаются все файлы
var okload = false;
Очень интересно.
__________________
john

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

блогер
Регистрация: Feb 2008
Сообщений: 1,453
Записей в блоге: 4
Как оказалось проблема была не в тех 2х строчках. Просто все нормально отображалось в самом флеше, а тесты непосредственно в сети были отложены. Вот теперь и повылезали странные баги...
Molecula, вот я как раз про 2й вариант, у меня прелоадер в 1м кадре.
Просил глянуть знакомого - у него все работает нормально (эксплорер+виста), но меня это как-то не особо радует
Тот код убрал, но это проблему не решает.

ЗЫ. Кстати, как лучше создавать прелоадер, в отдельном файле или отдельном кадре? (имеется в виду для больших проектов)
__________________
Ну все, теперь Забава м-о-я.
Гы-гы, а корабль мой!


Последний раз редактировалось TanaTiX; 20.03.2008 в 13:11.
Старый 20.03.2008, 13:28
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 4  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
Я практикую в отдельном файле. Причины две:
1. Писать код прилоадера во фрейме мне не удобно, хочу класс. А все классы грузяться одновременно.
2. Используя в прелоадере такой же шрифт как и в основном проекте, приходится импортировать весь шрифт в кадр прелоадера. Так как нельзя грузить часть символов шрифта в одном кадре, а часть в другом.

В итоге, обе причины приводят к увеличению размера кадра с прелоадером, и в результате загрузка начинается не с 0%, а с гораздо больших значений.
__________________
(и)Нильс.ru | Плагины для FlashDevelop


Последний раз редактировалось iNils; 20.03.2008 в 14:08.
Старый 20.03.2008, 14:01
TanaTiX вне форума Посмотреть профиль Отправить личное сообщение для TanaTiX Найти все сообщения от TanaTiX
  № 5  
Ответить с цитированием
TanaTiX
 
Аватар для TanaTiX

блогер
Регистрация: Feb 2008
Сообщений: 1,453
Записей в блоге: 4
iNils, учту на будущее.
Может кого наведет на умные мысли... Вот ссылка на мою рабочую версию.
http://rrs.ho.com.ua/ (не сочтите за рекламу, там рекламировать нечего)
__________________
Ну все, теперь Забава м-о-я.
Гы-гы, а корабль мой!

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

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

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


 


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


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