Показать сообщение отдельно
Старый 10.07.2010, 14:51
djyamato вне форума Посмотреть профиль Отправить личное сообщение для djyamato Посетить домашнюю страницу djyamato Найти все сообщения от djyamato
  № 13  
Ответить с цитированием
djyamato
 
Аватар для djyamato

Регистрация: Feb 2006
Сообщений: 884
Записей в блоге: 2
Отправить сообщение для djyamato с помощью ICQ Отправить сообщение для djyamato с помощью Skype™
Цитата:
Сообщение от etc Посмотреть сообщение
Загрузить обычным Loader-ом, потом загрузить через loadBytes bytes от LoaderInfo.
Будьте добры, подскажите как переделать этот код чтобы " потом загрузить через loadBytes bytes от LoaderInfo"

Код AS3:
 
package div0.classes{
 
	import flash.display.*;
	import flash.events.*;
	import flash.net.*;
	import flash.system.Security;
	import flash.system.LoaderContext;
	import flash.utils.ByteArray;
 
 
 
	public class picLoader extends Sprite{
 
		private var This:*;
		private var picPath:String;
		private var pLoader:Loader;
		private var picTarget:MovieClip;
		private var loadedBitmap:*;
		private var BD:BitmapData;
 
		public function picLoader(path:String,targetMC:MovieClip){
			This=this;
			picPath=path;
			picTarget=targetMC;
 
			pLoader=new Loader();
			configureListeners(pLoader.contentLoaderInfo);
			var request:URLRequest = new URLRequest(picPath);
 
			var loaderContext:LoaderContext = new LoaderContext();
			loaderContext.checkPolicyFile = true;
 
			pLoader.load(request,loaderContext);
		}
		private function configureListeners(dispatcher:IEventDispatcher):void {
            dispatcher.addEventListener(Event.COMPLETE, completeHandler);
			dispatcher.addEventListener(Event.INIT, imageInited);
            dispatcher.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler);
            dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
           	dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler);
        }
 
		public function imageInited(event:Event):void {
			trace("pLoader.content.loaderInfo="+pLoader.content.loaderInfo);
			//tmpLoader.loadBytes(pLoader.content.loaderInfo)
			pLoader.content as Bitmap;
			loadedBitmap=pLoader.content;
 
			trace("picture from "+pLoader.contentLoaderInfo.url);
			resizePicture()
		}
 
		private function completeHandler(event:Event):void {
			//trace("PicLoader: completeHandler " + event);
        }
		private function httpStatusHandler(event:HTTPStatusEvent):void {
           //	trace("PicLoader: httpStatusHandler " + event);
        }
		private function ioErrorHandler(event:IOErrorEvent):void {
            //trace("PicLoader: ioErrorHandler " + event);
        }
		private function progressHandler(event:ProgressEvent):void {
			//trace("PicLoader:  bytesLoaded=" + Math.round(event.bytesLoaded/event.bytesTotal*100)+"%");
        }
 
 
		private function resizePicture() {
			var delitel=0;
			if (loadedBitmap.width>picTarget.width) {
				delitel=loadedBitmap.width/picTarget.width;
				loadedBitmap.width=loadedBitmap.width/delitel;
				loadedBitmap.height=loadedBitmap.height/delitel;
			}
 
			if (loadedBitmap.height>picTarget.height) {
				delitel=loadedBitmap.height/picTarget.height;
				loadedBitmap.height=loadedBitmap.height/delitel;
				loadedBitmap.width=loadedBitmap.width/delitel;
			}
			loadedBitmap.x=(picTarget.width-loadedBitmap.width)/2;
			loadedBitmap.y=(picTarget.height-loadedBitmap.height)/2;
			//loadedBitmap.alpha=0.3;
			picTarget.addChild(loadedBitmap);
			BD=new BitmapData(picTarget.width, picTarget.height, true,0x000000);
			BD.draw(picTarget);
			loadedBitmap.alpha=0;
			picTarget.parent.dispatchEvent(new CustomEvent("previewLoaded",BD,null,null));
		}
	}
}