1.Polygon SWC파일을 만들어 Flex로 Export한 후 Documant Class인 BitmapTest2를 작성한다.
2.Documant Class인 BitmapTest2를 작성한다.
1.SuperClass Sprite (Polygon version)
package
{
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.Sprite;
import flash.events.Event;
import flash.filters.BlurFilter;
import flash.geom.ColorTransform;
import flash.geom.Matrix;
import flash.geom.Point;
import flash.text.TextField;
[SWF (width="550", height="400", frameRate="36", backgroundColor="0xEEEEEE")]
public class BitmapTest2 extends Sprite
{
private var clip:PolygomClip= new PolygomClip();
private var bitmapData:BitmapData= new BitmapData(550,400,false,0);
private var bitmap:Bitmap= new Bitmap(bitmapData);
public function BitmapTest2()
{
super();
this.addChild(bitmap);
this.addEventListener(Event.ENTER_FRAME, onEnter);
}
private function onEnter(e:Event):void
{
//행렬
//a:가로확대, d:세로확대, b, c ==>기울임//tx:x위치, ty:y위치
var matrix:Matrix= new Matrix();
matrix.a=matrix.d=2*Math.random();
matrix.tx=550*Math.random();
matrix.ty=400*Math.random();
//색상을 랜덤으로...
var colorTransform:ColorTransform= new ColorTransform();
colorTransform.color=0xFFFFFF*Math.random();
this.bitmapData.draw(this.clip,matrix,colorTransform);
var blur:BlurFilter=new BlurFilter(4,4,1);
bitmapData.applyFilter(bitmapData, bitmapData.rect, new Point(1,0), blur);
//this.bitmapData.draw(this.clip, matrix, colorTransform);
//메트릭스: 위치나 크기를 조절하는,컬러트렌스폼 색을 바꾸는 것 ㄴ
}
}
}
2.SuperClass Sprite (Text version)
package
{
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.Sprite;
import flash.events.Event;
import flash.filters.BlurFilter;
import flash.geom.ColorTransform;
import flash.geom.Matrix;
import flash.geom.Point;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
[ SWF( width="550", height="400", frameRate="36", backgroundColor="0xEEEEEE")]
public class BitmapTest2 extends Sprite
{
// private var clip: PolygonClip = new PolygonClip();
private var tf: TextField = new TextField();
private var bitmapData: BitmapData = new BitmapData( 550, 400, false, 0 );
private var bitmap: Bitmap = new Bitmap( bitmapData );
public function BitmapTest2()
{
this.tf.autoSize = TextFieldAutoSize.LEFT;
this.addChild( bitmap );
this.addEventListener( Event.ENTER_FRAME, onEnter );
}
private function onEnter( e: Event ): void
{
tf.text = Math.random().toString();
// 행렬
// a: 가로확대, d: 세로확대, b, c ==> 기울임// tx: x 위치, ty: y 위치
var matrix: Matrix = new Matrix();
matrix.a = matrix.d = 2*Math.random();
matrix.tx = 550 * Math.random();
matrix.ty = 400 * Math.random();
// 색상을 랜덤으로..
var colorTransform: ColorTransform = new ColorTransform();
colorTransform.color = 0xFFFFFF * Math.random();
// 객체 새롭게 그리기
this.bitmapData.draw( this.tf, matrix, colorTransform );
// 필터 적용
var blur: BlurFilter = new BlurFilter( 2, 2, 1 );
bitmapData.applyFilter( bitmapData, bitmapData.rect, new Point( 1, 0 ), blur );
}
}
}
//this.bitmapData.draw(this.clip, matrix, colorTransform);
// 객체 색상은 ColorTransform으로 변경한다..
//matrix: 위치나 크기를 조절하는 것