2010年02月20日

VectorクラスとArrayクラス @ Flash

いつもArrayを使う時に型指定しなくて良いのかなと思っていたのですが、ありました。Vectorが。(^_^;)

Vectorって全然違うモノを想像していて、使ってなかったのですが、型指定したい配列の場合はこれを使うようです。

当然型指定した場合、パフォーマスも良くなるはずなので、内容や動かす環境によっては必須ですね。

ただ、多次元配列となるとちょっと面倒。例えば二次配列。

private static const table:Array = [[0,1,2,3],[0,1,3,2],[0,2,1,3],[0,2,3,1],[0,3,1,2],[0,3,2,1],
[1,0,2,3],[1,0,3,2],[1,2,0,3],[1,2,3,0],[1,3,0,2],[1,3,2,0],
[2,0,1,3],[2,0,3,1],[2,1,0,3],[2,1,3,0],[2,3,0,1],[2,3,1,0],
[3,0,1,2],[3,0,2,1],[3,1,0,2],[3,1,2,0],[3,2,0,1],[3,2,1,0]];

こんな感じで配列が有る場合、書き換えるとこんな感じです。

private static const table:Vector.<Vector.<uint > > = Vector.<Vector.<uint > > ([
Vector.<uint > ([0,1,2,3]),Vector.<uint > ([0,1,3,2]),Vector.<uint > ([0,2,1,3]),Vector.<uint > ([0,2,3,1]),Vector.<uint > ([0,3,1,2]),Vector.<uint > ([0,3,2,1]),
Vector.<uint > ([1,0,2,3]),Vector.<uint > ([1,0,3,2]),Vector.<uint > ([1,2,0,3]),Vector.<uint > ([1,2,3,0]),Vector.<uint > ([1,3,0,2]),Vector.<uint > ([1,3,2,0]),
Vector.<uint > ([2,0,1,3]),Vector.<uint > ([2,0,3,1]),Vector.<uint > ([2,1,0,3]),Vector.<uint > ([2,1,3,0]),Vector.<uint > ([2,3,0,1]),Vector.<uint > ([2,3,1,0]),
Vector.<uint > ([3,0,1,2]),Vector.<uint > ([3,0,2,1]),Vector.<uint > ([3,1,0,2]),Vector.<uint > ([3,1,2,0]),Vector.<uint > ([3,2,0,1]),Vector.<uint > ([3,2,1,0])]);

可成り面倒。しかも読み辛い。(笑)

場合によっては、最初に

private var map:Vector.<Vector.<Boolean>> = new Vector.<Vector.<Boolean>>(64);

としておいて、

for (i=0; i<=64; i++){
map[i] = new Vector.<Boolean>(64);
for (j=0; j<=64; j++){
map[i][j] = true;
}
}

こんな感じで初期化して使った方が楽かも。

二次配列でも面倒なのに、三次元となると更に面倒だな。と言うか視認性悪すぎ。パフォーマンス的にどのくらい改善されるのか確認してませんが、頻繁に呼び出す場合には多分効果があるのだと思います。時間がある時にでも確認してみようかな。視認性の良いArrayで最初に書いておいて、初期化時点でVectorにデータを入れて、以降はVectorで使うとか、どうなんだろう。などなど気になるので。

参考サイト

[Astro] Vector クラス(5) 〜多次元配列〜【閃光的網站・弛緩複合体 -Review Division-】
>>関連リンク

閲覧数: 1837 / はてなブックマークusers

blog comments powered by Disqus

関連日記

アマゾン広告

この日記ページは閲覧数などの条件に応じて、閲覧制限を行っています。他からリンクしていただいても、そのリンクから辿った閲覧者が当ページの内容をご覧頂けない場合があります。ご了承下さい。

▼日記検索

Mac

Shade

3D

Flash

ゲーム

ウェブ

音楽

映画

デジカメ

Windows

Linux

携帯電話

テレビ

広島

電子工作

iOS

▼ 最近のトラックバック

▼ランキング

▼関連サイト