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

Регистрация: Mar 2013
Сообщений: 41
СПАСИБО, с этим разобрался. А как мне теперь спрайт mySprite из класса Atlas добавить на экран после загрузки лоадера.
Главный класс
Код AS3:
package
{
import flash.display.Sprite;
/**
	 * ...
	 * @author xrapa
	 */
public class HungryFrog extends Sprite
	{
 
 
 
	public  var preloader:Preloader=new Preloader();
 
		public function HungryFrog ():void {
 
 
 
addChild(preloader);
 
 
 
 
 
		}
 
	}}
Preloader
Код AS3:
package
{
 
	import flash.display.Bitmap;
	import flash.display.Loader;
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.events.ProgressEvent;
	import flash.net.URLRequest;
 
 
 
	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=new MYX();
 
		public var atlasClass:Atlas=new Atlas();
 
 
		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"));
 
 
		/*	ATLAS =event.target.content.bitmapData;
		//image1 = new Bitmap(ATLAS);
		logoxrapa = new Bitmap();
		logoxrapa.bitmapData = new BitmapData(669, 267);
		logoxrapa.bitmapData.copyPixels(ATLAS,
			new Rectangle(130, 571, 669, 267),
			new Point(0, 0));
		logoxrapa.scaleX=0.7;
		logoxrapa.scaleY=0.7;
		addChild(logoxrapa);*/
 
			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 (event:Event):void {trace("catlas");
	atlas.removeEventListener(Event.COMPLETE, patlas); 
		atlas.removeEventListener(ProgressEvent.PROGRESS, catlas);
		removeChild(myx);myx=null;
		addChild(atlasClass.mySprite);
 
 
		}
 
 
 
 
 
		}
 
 
 
	}
Атлас
Код AS3:
package
{
 
 
	import flash.display.BitmapData;
	import flash.display.Sprite;
	import flash.geom.Matrix;
 
 
	public class Atlas extends Sprite
	{
 
		[Embed(source="assets/atlas.xml", mimeType="application/octet-stream")]
		public static const AtlasXml:Class;	
 
		public var mySprite:Sprite;
		public var myBitmap:BitmapData;
		public var matrix:Matrix;
 
 
		public var preloader:Preloader=new Preloader();
	//	public var atlasXML:XML = XML(new AtlasXml());
 
 
 
 
		public function Atlas():void
		{
 
			myBitmap= new BitmapData(preloader.atlas.width, preloader.atlas.height, false);
 
			myBitmap.draw(preloader.atlas);
 
			matrix= new Matrix();
 
 
			mySprite.graphics.beginBitmapFill(myBitmap, matrix, true);
			mySprite.graphics.drawRect(100, 50, 200, 90);
			mySprite.graphics.endFill();
 
		}	
	}
}