Показать сообщение отдельно
Старый 29.03.2012, 21:08
MikroAcse вне форума Посмотреть профиль Отправить личное сообщение для MikroAcse Найти все сообщения от MikroAcse
  № 4  
Ответить с цитированием
MikroAcse
 
Аватар для MikroAcse

Регистрация: Feb 2012
Сообщений: 1,540

Код Main.as:
Код AS3:
package {
	import com.mikroacse.display.utils.*;
	import com.mikroacse.display.utils.log.*;
	import com.mikroacse.motion.*;
	import com.mikroacse.motion.easing.*;
	import flash.display.*;
	import flash.events.*;
	import flash.utils.*;
	import flash.filters.*;
	import flash.system.System;
	/**
	 * ...
	 * @author MikroAcse studio
	 */
 
	public class Main extends Sprite {
		public var obj1:DisplayObject;
		public var obj2:DisplayObject;
 
		public function Main():void {
			if (stage) init();
			else addEventListener(Event.ADDED_TO_STAGE, init);
		}
		private function init(e:Event = null):void {
			removeEventListener(Event.ADDED_TO_STAGE, init);
			// entry point
			this.loaderInfo.addEventListener(Event.COMPLETE, start);
		}
 
		private function start(e:Event):void {
			obj2 = addChild(DrawTool.newCircle([200, 200, 50], [0x0000FF]));
			obj1 = addChild(DrawTool.newBox([-25, -25, 50, 50], [0xFF0000]));
 
			obj1.scaleX = 0.5;
			obj2.scaleY = 2;
			obj1.rotation = 10;
			obj1.x = obj1.y = 100;
 
			DisplayTool.toBitmapData(obj1);
		}
	}
 
}
Код DisplayTool.as:
Код AS3:
package  com.mikroacse.display.utils {
	import com.mikroacse.utils.*;
	import flash.display.*;
	import flash.geom.*;
 
		public static function toBitmapData(target:DisplayObject):BitmapData {
			var rect:Rectangle = toRect(target);
			var bmd:BitmapData = new BitmapData(rect.width, rect.height, true, 0);
			var mtrx:Matrix = new Matrix(target.scaleX, 0, 0, target.scaleY, target.x, target.y);
 
 
			mtrx.translate( -rect.left, -rect.top);
			mtrx.rotate(target.rotation * Math.PI/180);
 
			bmd.draw(target, mtrx);
			target.root.stage.addChild(new Bitmap(bmd));
			return bmd;
		}
 
		public static function toRect(target:DisplayObject):Rectangle {
			var main:Stage=target.root.stage;
			var rect:Rectangle=target.getBounds(main);
			return rect;
		}
 
		public static function addChilds(container:DisplayObjectContainer, ...childs):void {
			for (var i:uint = 0; i < childs.length; i++) {
				container.addChild(childs[i] as DisplayObject);
			}
		}
	}
}
Миниатюры
Нажмите на изображение для увеличения
Название: 1.jpg
Просмотров: 67
Размер:	22.0 Кб
ID:	27767  


Последний раз редактировалось MikroAcse; 29.03.2012 в 21:39.