Shape を表示し、背景を透過させる : Starling , AIR for iOS

package
{
	import flash.display.BitmapData;
	import flash.display.Shape;

	import starling.display.Image;
	import starling.display.Sprite;
	import starling.textures.Texture;

	public class StarlingShape extends Sprite
	{
		public function StarlingShape()
		{
			super();

			//Shape作成
			var shape:Shape = new Shape();
			shape.graphics.beginFill(0xD0D0D0,1);
			shape.graphics.drawRoundRect(0,0,100,200,100,200);
			shape.graphics.endFill();

			//ShapeをBitmapDataに変換
			var bitmapData:BitmapData = new BitmapData(shape.width,shape.height,true,0xFFFFFF);
			bitmapData.draw(shape);

			//Starlingのテクスチャ、イメージ生成
			var texture:Texture = Texture.fromBitmapData(bitmapData);
			var image:Image = new Image(texture);

                        //StarlingのDisplaylistに追加
			addChild(image);
		}
	}
}

ADOBE AIRのAIR for iOSの2D向けGPU描画ライブラリのStarlingを使ってアプリを開発しています。StarlingにはShapeのクラスが無いので、ShapeをBitmapData経由でStarlingのTextureを生成する事で描画します。bitmapData生成時に第三引数をtrue,第四引数を0xFFFFFFにしないと、背景が透過されなかったので少しハマりましたのでメモ。

結果

Leave a Comment