Показать сообщение отдельно
Старый 13.03.2013, 21:23
xrapa вне форума Посмотреть профиль Отправить личное сообщение для xrapa Найти все сообщения от xrapa
  № 1  
Ответить с цитированием
xrapa

Регистрация: Mar 2013
Сообщений: 41
По умолчанию Loader, BitmapData и атлас

Главный класс
Код AS3:
package
{
import flash.display.Sprite;
/**
	 * ...
	 * @author xrapa
	 */
public class HungryFrog extends Sprite
	{
 
 
 
		public var preloader:Preloader=new Preloader();
public var atlasClass:Atlas=new Atlas();
		public function HungryFrog ():void {
 
 
 
addChild(preloader);
addChild(atlasClass);
 
 
 
 
		}
 
	}}
Preloader
Код AS3:
package
{
 
	import flash.display.Loader;
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.events.ProgressEvent;
	import flash.net.URLRequest;
	import flash.display.Bitmap;
 
 
 
	public class Preloader extends Sprite
	{
 
 
		public var atlas:Loader;
 
 
 
 
		[Embed(source="assets/myx-z-yl1.png")]
		public static const MYX:Class;
		public var myx:Bitmap=Bitmap(new MYX());
 
 
 
 
		public function Preloader():void
		{
 
			atlas = new Loader();
	        atlas.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, patlas);
			atlas.contentLoaderInfo.addEventListener(Event.COMPLETE, catlas);
			atlas.load(new URLRequest("assets/atlas.png"));
 
 
 
 
			trace("Preloader");
 
		}
 
 
 
 
		public function patlas (e:ProgressEvent):void {addChild(myx);myx.x=((stage.stageHeight/2)-(myx.height/2));myx.y=((stage.stageWidth/2)-(myx.width/2)); myx.smoothing = true;trace(e.bytesLoaded/e.bytesTotal);myx.scaleX=(e.bytesLoaded/e.bytesTotal);myx.scaleY=(e.bytesLoaded/e.bytesTotal);} 
 
		public function catlas (e:Event):void {trace("catlas");
	atlas.removeEventListener(Event.COMPLETE, patlas); 
		atlas.removeEventListener(ProgressEvent.PROGRESS, catlas);
		removeChild(myx);myx=null;
 
 
		}
 
 
 
 
 
		}
	}
Атлас
Код AS3:
package
{
 
	import flash.display.Bitmap;
	import flash.display.BitmapData;
	import flash.display.Sprite;
 
	public class Atlas extends Sprite
	{
 
		[Embed(source="assets/atlas.xml", mimeType="application/octet-stream")]
		public static const AtlasXml:Class;	
 
 
		public var loaderBitmapData:BitmapData;
		public var preloader:Preloader=new Preloader();
 
		public var atlasXML:XML = XML(new AtlasXml());
 
		public var image1:Bitmap;
 
 
		public function Atlas():void
		{
			loaderBitmapData = new BitmapData(preloader.atlas.width, preloader.atlas.height);
			loaderBitmapData.draw(preloader.atlas);
			image1 = new Bitmap(loaderBitmapData);
		addChild(image1);
 
		}	
	}
}
В прелоадере подгружаю атлас, в классе атлас нужно разделить картинку по xml. Помогите это написать.