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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 11.11.2008, 21:58
fortman вне форума Посмотреть профиль Найти все сообщения от fortman
  № 1  
Ответить с цитированием
fortman
Banned
[+4 18.04.08]
[+5 20.04.08]
[+1 10.05.09]

Регистрация: Jan 2007
Сообщений: 40
По умолчанию MovieClipLoader - загрузка swf вместо фото

Добрый вечер. Глюк, который сейчас опишу, встречаю 3 раз, но раньше он как-то пропадал сам собой, сейчас же такой халявы не получается. Итак.
Код AS1/AS2:
function fotoLoad(num:Number){
	var loader:MovieClipLoader = new MovieClipLoader();
	thisFoto = fotos_mc.createEmptyMovieClip("foto" + num, num);
	loader.loadClip(thisFotoNode_array[num], thisFoto);
 
	thisFoto.onEnterFrame = function(){
		var loadObj:Object = loader.getProgress(thisFoto);
		time = Math.floor(loadObj.bytesLoaded/loadObj.bytesTotal*100);
		trace(time);
		if(time >= 100){
			delete thisFoto.onEnterFrame;
			trace(loadObj.bytesTotal);
		}
	}
}
Это функция загрузки фоток. Однако они не грузятся, хотя путь их читает верно. При полной же загрузки фотки, чтобы удостовериться она ли грузится, вывожу ее размер, однако показывает не размер фото, а вес моего swf!! Это ни в какие ворота... В чём дело, подскажите!

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

Регистрация: Jun 2008
Адрес: курский вокзал
Сообщений: 1,114
Не правильно пользуетесь MovieClipLoaderом.
Для отслеживания загрузки сделайте его слушателем объекта.
Все это есть в хелпе.
__________________
Я просто добрый шутник.

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

Регистрация: Sep 2002
Сообщений: 30,787
scarbo, кого слушателем? Кого будет слушать MovieClipLoader и зачем?

Ошибка, скорее всего, в том, что в getProgress надо передавать this, а не thisFoto, равно как и delete this.onEnterFrame.

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
О! Код в стиле стимпанк! )))
Не, так не надо, для того MovieClipLoader и был создан на замену loadMovie, чтобы так никогда не извращаться. У класса MovieClipLoader есть отличные способности - onLoadStart чтобы активировать всякие прелоадеры для показа загрузки, onLoadProgress для отслеживания прогресса загрузки, onLoadComplete и onLoadInit для отслеживания ее окончания. Столько вкусностей, а Вы не пользуетесь))
__________________
Reality.getBounds(this);

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

Регистрация: Jun 2008
Адрес: курский вокзал
Сообщений: 1,114
to _etc:
Код:
var loader:MovieClipLoader = new MovieClipLoader();
var myObj:Object = new Object();
loader.addListener(myObj)
myObj.onLoadStart = function(target){
...
}
loader слушает myObj.
__________________
Я просто добрый шутник.

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

Регистрация: Sep 2002
Сообщений: 30,787
scarbo, ну, во первых, всё наоборот, а во вторых, тру флешеры не создают трешевый-объект типа «слушатель».

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

Регистрация: Jun 2008
Адрес: курский вокзал
Сообщений: 1,114
Ради Бога...
__________________
Я просто добрый шутник.

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

блогер
Регистрация: Feb 2007
Адрес: Москва
Сообщений: 538
Записей в блоге: 2
Отправить сообщение для Art_133 с помощью Skype™
__etc обьясните пожалуйста, почему не создаётся слушатель в этом случае? Я как раз читал что слушатель желателен в этом случае и аргументируется это тем что некоторая часть возможностей класса MovieClipLoader не доступна на прямую. Для доступа к которым создаётся слушатель.
Обьясните что не так?

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

Регистрация: Sep 2002
Сообщений: 30,787
Art_133, потому что он не нужен. Этот самый «слушатель» есть некий непонятный обыкновенный объект, с объявленными свойствами-функциями, которые запускаются бог знает в какой области видимости, висят в памяти и являются ничем иным, как паразитами.
А всё потому, что начинающие разработчики пишут методы типа fotoLoad, с абстрактным индексом фотографии, который никакой смысловой нагрузки не несет, кроме индекса создаваемого клипа, вместо того, чтобы написать класс-наследник MovieClip, который сам загружает фото по url (больше ему ничего знать не нужно), подписывается на события (а не подписывает какой-то левый «слушатель»), крутит прелоадер и рапортует об окончании загрузки, если это необходимо.


Последний раз редактировалось etc; 12.11.2008 в 00:34.
Старый 12.11.2008, 02:48
fortman вне форума Посмотреть профиль Найти все сообщения от fortman
  № 10  
Ответить с цитированием
fortman
Banned
[+4 18.04.08]
[+5 20.04.08]
[+1 10.05.09]

Регистрация: Jan 2007
Сообщений: 40
Ух, как вас много...
Про слушатель объекта вообще не думал.
Не помню как я избавлялся в прошлые разы от этого глюка, но сейчас так
Код AS1/AS2:
...
loader.loadClip(thisFotoNode_array[num].toString(), thisFoto);
...
И заработало... А в массиве хранилось значение считанное с xml. Наверное мой тупизм...

Wolsh, что значит код в стиле стимпанк?


Нда, добавилась новая непонятная проблема. Получается, что фото грузится неведомо куда. По-идее в thisFoto, но и ширина и высота равны нулю, и перемещать не получается... В чем теперь то дело может быть?


Последний раз редактировалось fortman; 12.11.2008 в 03:14.
Создать новую тему Ответ Часовой пояс GMT +4, время: 18:30.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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