Главный класс
Код 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. Помогите это написать.