1

これが問題です。2D配列(または概念的に類似したもの)にさまざまな値を格納する必要があります。アイデアは、タイルを使用して2Dマップを作成することであり、配列はマップ内のすべてのタイルのIDを保存します。特に、後で使用するためにメモリ使用量を節約する必要があり(AIに関係している)、ローエンドPCで実行する必要があるため、やや効率的なものを作成しようとしていますが、アレイを作成するだけでは無駄に思えますどのマップでも約50の異なるIDしかないため、スペースが不足します。

8ビット文字の2次元配列を作成することで十分だと思いましたが、それはactionscript 3の問題外であり、8ビット文字のデータ型はありません。文字列などでベクトルを使用できますか?だから私はあなたに尋ねています、最も効率的な方法は何でしょうか?

4

1 に答える 1

0

おそらく、ByteArrayを使用する方法です-http ://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/utils/ByteArray.html。一度に1つ以上のバイトを読み書きできます。compress関数を使用してサイズを縮小することもできます(実際には「zip」します)

マップをバイト配列に「フラット化」する必要があります。つまり、map[i][j]はbyteArray[i* nr_columns+j]に格納されます。

于 2012-04-16T11:51:31.590 に答える