Home > Event | Progression > 福岡てら子 6 「再挑戦!やるぞProgression!」に、お邪魔してきました。

福岡てら子 6 「再挑戦!やるぞProgression!」に、お邪魔してきました。


3月19日(土)に開催された、福岡てら子 6 「再挑戦!やるぞProgression!」に、小旅行を兼ねてお邪魔してきました。

テーマがProgressionだったので、『ハマるポイント&使うと便利なクラス』というお題で、少しお話させて頂きました。

ハマるポイント

Progressionを始めると、「あれっ…」って思うことが出てきます。

addChildの違い

Flash(AS3)で表示オブジェクトに追加したい場合は、以下のように書きます。

addChild(hoge);

この感覚のままProgressionに行ってしまうと、ページ遷移した際に、オブジェクトを表示したり非表示にする際に、ちょっと困ったことになります。

Progressionでは、ページ遷移の際の表示オブジェクトの管理は主にコマンド内で行うのですが、Progression3とProgression4で書式が異なるので注意が必要です。

//Progression3の場合
new AddChild(progression.container,hoge) 

//Progression4の場合
new AddChild(container,hoge) 

stageへの参照

Flashでstageの幅とか高さを取得したい場合は、以下のようなコードを書きます。

trace("幅 : " + stage.stageWidth);
trace("高さ : " + (stage.stageHeight);

Progressionでは、こんな感じです。

//CastSpriteの場合
trace("幅 : " + CastDocument.stage.stageWidth);
trace("高さ : " + CastDocument.stage.stageHeight);

//SceneObjectの場合
trace("幅 : " + container.stage.stageWidth);
trace("高さ : " + container.stage.stageHeight);

ステージの情報を取得する場合の詳しいことは、カヤックさんのブログでも紹介されています。

使うと便利なクラス

使うと便利なクラスを幾つか紹介させて頂きました。

Loggerクラス

separate

コマンド内でちょっとtraceしたいなって場合、このクラスの存在を知るまでは以下のように記述していました。

//コマンド内でちょっとtrace
addCommand(
    function():void{
        trace("------------------------");
        trace("hoge");
        trace("------------------------");
    }
);

こんな感じにして、出力パネルでtrace結果を見やすくしていました。

しかし、Loggerクラスを使うと、こんなことしなくてOKなんです。

//Loggerクラスを使ってコマンド内でちょっとtrace
addCommand(
    function():void{
        Logger.separate();
        trace("hoge");
        Logger.separate();
    }
);

このように記述しても同じ結果を得ることが出来ます。

br

separateを使うと、出力パネルに改行+区切り線を自動的に入れることが出来るんですが、brを使うと改行のみ入れることが出来ます。

//Loggerクラスを使ってコマンド内でちょっとtrace(改行のみ)
addCommand(
    function():void{
        Logger.br();
        trace("hoge");
        Logger.br();
    }
);

jp.nium.utilsクラス

このパッケージにも便利なクラスがいろいろあります。

今回はその中のArrayUtilクラスについて掘り下げてみます。

intersect

これを使うと、二つの配列を比較し、共通しているものを返してくれます。

var a:Array = ["東京てら子","大阪てら子","福岡てら子"];
var b:Array = ["東京てら子","大阪てら子","福岡てら子"];

trace(ArrayUtil.intersect(a,b));

これを実行すると、東京てら子、大阪てら子、福岡てら子がtraceされます。(共通したものがない場合は、何もtraceされません)

subtract

これを使うと、二つの配列を比較し、要素が同じなら何もしない。異なっている場合は、(二つの配列内で共通している要素を除き)第一引数で指定した配列内の要素が返ってきます。

var a:Array = ["東京てら子","大阪てら子","福岡てら子"];
var b:Array = ["東京てら子","あああああ","いいいいい"];

trace(ArrayUtil.subtract(a,b));

これを実行すると、大阪てら子,福岡てら子がtraceされます。

compress

これを使うと、対象の配列内のnullやundefinedを配列内から破棄し、圧縮した配列を返してくれます。

var a:Array = ["東京てら子",null,undefined,"","大阪てら子","福岡てら子"];

trace(ArrayUtil.compress(a));

これを実行すると、東京てら子、大阪てら子、福岡てら子がtraceされます。

getItemIndex

これを使うと、対象の配列内で、検索したい対象のインデックス値を返してくれます。

var a:Array = ["東京てら子","大阪てら子","福岡てら子"];

trace(ArrayUtil.getItemIndex(a,"東京てら子"));

これを実行すると、0がtraceされます。

validateItems

これを使うと、対象の配列内の要素全てが、指定したクラスとデータ型が一致するかどうかを判断してくれます。

var a:Array = ["東京てら子","大阪てら子","福岡てら子"];

trace(ArrayUtil.validateItems(a,String));

これを実行すると、trueがtraceされます。

equals

これを使うと、比較対象の配列の要素が全て一致するかどうかを判断してくれます。

var a:Array = ["東京てら子","大阪てら子","福岡てら子"];
var b:Array = ["東京てら子","あああああ","いいいいい"];

trace(ArrayUtil.equals(a,b));

これを実行すると、falseがtraceされます。

toArray

これを使うと、対象の配列を新しい配列に再配置してくれます。

var a:Array = ["東京てら子","大阪てら子","福岡てら子"];

trace(ArrayUtil.toArray(a));

これを実行すると、東京てら子、大阪てら子、福岡てら子がtraceされます。

toString

これを使うと、対象の配列のString表現を返してくれます。

var a:Array = ["東京てら子",null,undefined,"",0x00FF00,"大阪てら子","福岡てら子"];

trace(ArrayUtil.toString(a));

これを実行すると、[“東京てら子”, {}, {}, “”, 65280, “大阪てら子”, “福岡てら子”]がtraceされます。

StringUtilのignoreBreak

これは勉強会の最中で「改行タグを全部削除したい場合、何かいい方法はありますか?」という質問があったので、紹介させてもらったヤツです。

ignoreBreakを使うと、文字列内の改行タグを全部削除してくれます。

var s:String = "東京てら子\n大阪てら子\n福岡てら子";

trace(StringUtil.ignoreBreak(s));

これを実行すると、東京てら子、大阪てら子、福岡てら子と改行タグが削除された状態でtraceされます。

他にもいろいろ便利なクラスがあるんですが、また別の機会にでも…

Comments:0

Comment Form
Remember personal info

Trackbacks:1

Trackback URL for this entry
http://flabaka.com/blog/wp-trackback.php?p=3108
Listed below are links to weblogs that reference
福岡てら子 6 「再挑戦!やるぞProgression!」に、お邪魔してきました。 from flabaka
pingback from teraco - 福岡てら子 6 「再挑戦!やるぞProgression!」 11-03-29 (火) 13:48

[…] ■参加者レポート ・福岡てら子 6 「再挑戦!やるぞProgression!」に、お邪魔してきました。 ・福岡てら子 6 「再挑戦!やるぞProgression!」に行ってきた […]

Home > Event | Progression > 福岡てら子 6 「再挑戦!やるぞProgression!」に、お邪魔してきました。

Search
Feeds
Meta

flashDevelopスポンサー

Return to page top