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

Вернуться   Форум Flasher.ru > Flash > Общие вопросы о Flash (не затрагивающие ActionScript)

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

Регистрация: Dec 2005
Сообщений: 316
По умолчанию загрузка картинок с отображением хода загрузки

нужно в клип загрузить картинку, с показом хода загрузки. во флешовых примерах выделил следующий код:
Код:
stop();
System.security.allowDomain("http://www.keyline.ru");
import mx.transitions.Tween;
var leftX:Number = 378;
var topY:Number = 125;
var image1Clip:MovieClip = makeNewImageClip(leftX, topY);
// задаем переменные хранения изменений изображения
var widthMin:Number;
var widthMax:Number;
var heightMin:Number;
var heightMax:Number;
var loaderListener:Object = new Object();
loaderListener.onLoadProgress = function(holderClip:MovieClip, loadedBytes:Number, totalBytes:Number) {
	var progressClip:MovieClip = holderClip._parent.progressClip;
	var percent:Number = Math.round((loadedBytes/totalBytes)*100);
	progressClip.indicatorClip._xscale = percent;
	progressClip.progressText.text = " "+percent+"% загружено";
};
loaderListener.onLoadInit = function(holderClip:MovieClip) {
	holderClip._parent.progressClip._visible = false;
	holderClip._x = 0;
	holderClip._y = 0;
	holderClip._parent._x = 0;
	holderClip._parent._y = 0;
	duplicateMovieClip(holderClip._parent, "dubl", 10);
	trace(holderClip._parent);
	trace(dubl);
};
var baseUrl:String = "http://www.keyline.ru/";
// определяем MovieClipLoader object для загрузки картинок.
var imageLoader:MovieClipLoader = new MovieClipLoader();
imageLoader.addListener(loaderListener);
imageLoader.loadClip(baseUrl+"intro.jpg?id="+Math.random(), image1Clip.holderClip);
function makeNewImageClip(x:Number, y:Number) {
	var depth:Number = this.getNextHighestDepth();
	var imageClip:MovieClip = this.createEmptyMovieClip("imageClip"+depth, depth);
	imageClip.createEmptyMovieClip("holderClip", 1);
	var progressClip:MovieClip = imageClip.createEmptyMovieClip("progressClip", 2);
	progressClip.createEmptyMovieClip("indicatorClip", 1);
	progressClip.createTextField("progressText", 2, 0, -25, 100, 25);
	progressClip.progressText.border = true;
	progressClip.progressText.text = " идет загрузка";
	progressClip.indicatorClip.lineStyle(0, 0, 0);
	progressClip.indicatorClip.beginFill(0xFF0000, 100);
	progressClip.indicatorClip.lineTo(100, 0);
	progressClip.indicatorClip.lineTo(100, 5);
	progressClip.indicatorClip.lineTo(0, 5);
	progressClip.indicatorClip.lineTo(0, 0);
	progressClip.indicatorClip.endFill();
	progressClip._x = -50;
	imageClip._x = x;
	imageClip._y = y;
	return imageClip;
}
проблема следующая: клип ресуется превосходно, но гогда он сделан, мне нужен еще один такой же клип. возникает вопрос:как сделать дупликат клипа???? простое duplicateMovieClip клип дублирует, НО! картинка в новом не отображается...

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

Регистрация: Jun 2005
Адрес: Очень странное место
Сообщений: 329
Отправить сообщение для Bорон с помощью ICQ
Насколько я помню из похожего обсуждения - загруженый контент не дублируется.
Нужно грузить еще раз.
__________________
Студия "Ночной народ" | http://nightfolk.net/

Старый 26.04.2006, 14:25
AlexSol вне форума Посмотреть профиль Отправить личное сообщение для AlexSol Найти все сообщения от AlexSol
  № 3  
Ответить с цитированием
AlexSol

Регистрация: Dec 2005
Сообщений: 316
ага... тогда опишу общую задачу: в клип нужно загрузить несколько картинок - как сделать общий индикатор загрузки (клип своей графики не имеет и по-этому нужен прелоадер только на загружаемую графику)?

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

Регистрация: Jun 2005
Адрес: Очень странное место
Сообщений: 329
Отправить сообщение для Bорон с помощью ICQ
Гы.
percent=((IMG1.getBytesLoaded()+IMG2.getBytesLoaded())/(IMG1.getBytesTotal()+IMG2.getBytesTotal()))*100;
__________________
Студия "Ночной народ" | http://nightfolk.net/

Старый 26.04.2006, 17:26
Samodelkin вне форума Посмотреть профиль Отправить личное сообщение для Samodelkin Найти все сообщения от Samodelkin
  № 5  
Ответить с цитированием
Samodelkin

Регистрация: Jul 2005
Адрес: Москва
Сообщений: 452
Отправить сообщение для Samodelkin с помощью ICQ
Юзая BitMapData
Код:
loaderListener.onLoadInit = function(holderClip:MovieClip) {
	holderClip._parent.progressClip._visible = false;
	holderClip._x = 0;
	holderClip._y = 0;
	holderClip._parent._x = 0;
	holderClip._parent._y = 0;
	holderClip._parent._alpha = 10;
	//duplicateMovieClip(holderClip._parent, "dubl", 10);
	var MyBitmapData:BitmapData = new BitmapData(holderClip._parent._width, holderClip._parent._height);
	MyBitmapData.draw(holderClip._parent);
	_root.createEmptyMovieClip("dubl", 10);
	_root.dubl._x = 300;
	_root.dubl.attachBitmap(MyBitmapData,100);
	trace(holderClip._parent);
	trace(dubl);
};
__________________
Давайте отбросим факты, чтобы увидеть суть

Старый 26.04.2006, 17:43
AlexSol вне форума Посмотреть профиль Отправить личное сообщение для AlexSol Найти все сообщения от AlexSol
  № 6  
Ответить с цитированием
AlexSol

Регистрация: Dec 2005
Сообщений: 316
спасибо! до этого класса еще не добрался. отмечу только о необходимости указать в самом начале
Код:
import flash.display.BitmapData;

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

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

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


 


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


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