labelステートメント

September 13, 2007

ActionScript3.0のおさらいをしていて、labelステートメントを見逃していたことに気がついた。

『知っていると得をするActionScript3.0新文法(BeInteractive!)』にはforステートメントを使ったサンプルが掲載されています。labelステートメントを使うと多重ループを一気に抜けることができると。

switchステートメントでも利用可能ということなので、試してみました。

次のソースではキーボード操作に対してswitchステートメントで処理分岐しています。

testLabel:switch(e.keyCode)
{
	case 48://0
	case 49://1
	case 50://2
	case 51://3
	case 52://4
	case 53://5
		switch(e.keyCode)
		{
			case 48://0
			case 49://1
			case 50://2
			case 51://3
				trace("0〜3");
				break testLabel;
			case 52://4
			case 53://5
				trace("4〜5");
				break;
		}
		trace("外側のswitch通過");
		break;
	case 54://6
	case 55://7
	case 56://8
	case 57://9
		trace("6〜9");
		break;
	default:
		trace("etc");
		break;
}


0〜3が押された時
次のコードが実行され、『0〜3』が出力されます。ここではbreak時に外側のswitchステートメントにつけたlabelを指定しているので、外側のswitchも一気にbreakします。

trace("0〜3");
break testLabel;


4〜5が押された時
0〜3に対し、次のコードではlabelを指定しないbreakを行っているので、『4〜5』と出力されたあと、外側のswitchステートメントのコードも実行されるので、『外側のswitch通過』と続けて出力されます。

trace("4〜5");
break;


サンプルソース

カテゴリー: 


Posted by scratchbrain at September 13, 2007 12:12 AM ブックマークに追加する

Trackback

Trackback URL for this entry:

Post a Comment


検索

このブログを検索

サイトコンセプト

レディオヘッド、Flash・ActionScript 3.0、Processing、アートに関すること。日記・雑感、読書感想など。
[SCRATCHBRAIN.NET ホーム]
[SCRATCHBRAIN プロフィール]
[お問い合わせ]
[Twitter]

リンク

  • 嫁と更新。レシピ、子育て
  • バルセロナ観光ガイド
  • ポケット・アナリシス
  • 洋楽ブックマーク
  • こんなライヴに行きました

広告

おすすめ

最近のエントリー

カテゴリー

タグクラウド

全てのエントリー一覧

RSSフィード

月別アーカイブ

powered by Movable Type

hosted by

あわせて読みたいブログパーツ