본문 바로가기

AS3/ActionScript

setPixel32 도트 생성

var bitmap:BitmapData = new BitmapData( 550, 400, true, 0xffffffff );
var image:Bitmap = new Bitmap( bitmap );
addChild( image );
var _bool:Boolean = true;

stage.addEventListener (MouseEvent.CLICK, onMouseDownHandler );


function onMouseDownHandler( event:MouseEvent ):void{
	if( _bool == false ){
		_bool = true;
		removeEventListener(Event.ENTER_FRAME, onEnter );
	}else{
		addEventListener(Event.ENTER_FRAME, onEnter );
	}
}


function onEnter( event:Event ):void{
	_bool = false;
	for( var i:int = 0; i < 500; i++ ){
		var color:Number = Math.floor(Math.random()* 0x00ffffff);  
		bitmap.setPixel32(Math.random()*550, Math.random()*100, color);
	}
}



setPixel32는 32비트로 투명값을 지원한다. 기존에 setPixel이 24비트로 투명 채널을 지원 하지 않지만
0x00FFFFFF 앞에 00이 추가되면서 빨강 녹색 파랑 채널이 각각 8비트씩 이루어져있고 여기에 투명도를
나타내는 8비트 채널이 추가되어 모두 32비트로 이루어진다.

BitmapData의 생성자에서 투명을 지원할지 안할지 결정할 수 있다.