プログラミングとイラストレーション » Flash Pro CC, Starling, Event.TRIGGEREDの伝搬はバブル(遡上)する
プログラミングとイラストレーション > Flash > Flash Pro CC, Starling, Event.TRIGGEREDの伝搬はバブル(遡上)する

Flash Pro CC, Starling, Event.TRIGGEREDの伝搬はバブル(遡上)する

Flash Pro CC, Starling, Event.TRIGGEREDの伝搬はバブル(遡上)する

Flash Pro CC, Starling, Event.TRIGGEREDの伝搬はバブル(遡上)する : デモ(Flash Pluginが必要です)

Flash Pro CC, Starling, Event.TRIGGEREDの伝搬はバブル(遡上)する : ZIPファイル(74kb)

それぞれのボタンを押すと出力エリアに、トリガーした情報が表示されます。

1.Main.fla

1. Flashコンテンツのパフォーマンスをグラフ化するstatsをダウンロードします。

statsサイト(外部サイト):http://github.com/mrdoob/Hi-ReS-Stats

2. Flash Professional CC にダウンロードしたstatsファイルを以下のように、Flashメニューから設定します。

Flash – 環境設定 – コンパイラー – ソースパス で、Hi-ReS-Stats-master/src を設定します。

3. Starlingファイルをダウンロードします。

Starlingサイト(外部サイト):http://gamua.com/starling/

4. Flash Professional CC にダウンロードしたstarlingファイルを以下のように、Flashメニューから設定します。

Flash – 環境設定 – コンパイラー – ソースパス で、starling/src を設定します。

Flash – 環境設定 – コンパイラー – ライブラリパス で、starling/bin を設定します。

5. プロパティのクラスに「StartUp」を記述します。

6. ライブラリに画像を読み込む。

上部メニューから「ファイル – 読み込み – ライブラリに読み込み」で、ライブラリに表示する画像を読み込みます。

読み込んだライブラリの画像をクリックし、「ビットマッププロパティ」を表示します。

「ビットマッププロパティ」の「ActionScript」のタブをクリックし、「ActionScript用書き出し」をチェック。

クラス名は、最初の一文字目は大文字にし、任意に決めます。

ビットマッププロパティの設定

2.StartUp.as

プログラム言語は、ActionScript3.0です。

package
{
	import flash.display.Sprite;
	import flash.display.StageAlign;
	import flash.display.StageScaleMode;
	import starling.core.Starling;
	import net.hires.debug.Stats;
	
	public class StartUp extends Sprite
	{
		private var mStarling:Starling;
		
		public function StartUp()
		{
			//fps計測用クラス
			addChild(new Stats());
			
			stage.align = StageAlign.TOP_LEFT;
			stage.scaleMode = StageScaleMode.NO_SCALE;
			
			//starlingインスタンスの作成
			mStarling = new Starling(Triggered, stage); //Event.TRIGGEREDの捕捉
			
			//アンチエイリアスの設定 0:アンチなし、2:最小限のアンチエイリアス、4:高品質、6:最高品質
			mStarling.antiAliasing = 2;
			
			//スタート
			mStarling.start();
		}
	}
}

3.Triggered.as

package
{
	import flash.display.Bitmap;
	import starling.display.Button;
	import starling.display.Sprite;
	import starling.events.Event;
	import starling.textures.Texture;
	import flash.display.BitmapData;
	
	public class Triggered extends Sprite
	{
		//[Embed(source = "button-normal.png")]
		//private static const ButtonTexture: Class;
		
		//Flash IDEのライブラリ画像を使う場合
		private var buttonBitmapData:BitmapData = new ButtonNormal(0, 0);
		
		// セクション
		private var _sections: Vector.<String> = Vector.<String>(["Play", "Options", "Rules", "Sign in"]);
		public function Triggered()
		{
			addEventListener(Event.ADDED_TO_STAGE, onAdded);
		}
		private function onAdded(e: Event): void
		{
			var buttonBitmap:Bitmap = new Bitmap(buttonBitmapData);
			var texture: Texture = Texture.fromBitmap(buttonBitmap);
			
			// 埋め込んだイメージからBitmap オブジェクトを作成
			//var buttonSkin: Bitmap = new ButtonTexture();
			// Button オブジェクトに与えるTexture オブジェクトを作成
			//var texture: Texture = Texture.fromBitmap(buttonSkin);
			// メニュー(複数のボタン)用コンテナを作成
			var menuContainer: Sprite = new Sprite();
			var numSections: uint = _sections.length;
			for (var i: uint = 0; i < 4; i++)
			{
				// このスキンをアップ状態として使用するボタンを作成
				var myButton: Button = new Button(texture, _sections[i]);
				// ラベルを太字に
				myButton.fontBold = true;
				// ボタンの位置取り
				myButton.y = myButton.height * i;
				// ボタンをコンテナに追加
				menuContainer.addChild(myButton);
			}
			// Event.TRIGGERED イベントの捕捉
			menuContainer.addEventListener(Event.TRIGGERED, onTriggered);
			// メニューをセンターに
			menuContainer.x = stage.stageWidth - menuContainer.width >> 1;
			menuContainer.y = stage.stageHeight - menuContainer.height >> 1;
			// ボタンを表示
			addChild(menuContainer);
		}
		private function onTriggered(e: Event): void
		{
			// 出力 : [object Sprite] [object Button]
			trace(e.currentTarget, e.target);
			// 出力 : triggered!
			trace("triggered!");
		}
	}
}

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

コメントフィード

トラックバック URL : http://www.htmlcode.jp/flash-pro-cc-starling-event-triggered%e3%81%ae%e4%bc%9d%e6%90%ac%e3%81%af%e3%83%90%e3%83%96%e3%83%ab%ef%bc%88%e9%81%a1%e4%b8%8a%ef%bc%89%e3%81%99%e3%82%8b/trackback/