私は<canvas>
、をサポートする高速ブラウザ用の等角ゲームに取り組んでいます。これはとても楽しいことです。各タイルの情報を保存するために、次のようなタイルIDを表す番号を含む2次元配列を使用します。
var level = [[1, 1, 1, 2, 1, 0],
[0, 1, 1, 2, 0, 1],
[0, 1, 1, 2, 1, 1]];
var tiles = [
{name: 'grass', color: 'green'},
{name: 'water', color: 'blue'},
{name: 'forest', color: 'ForestGreen'}
];
これまでのところうまく機能していますが、今はこの写真のように高さと傾斜を操作したいと思います: alt text http://harmen.no-ip.org/isometrictiles.png
タイルごとに、タイルID、高さ、およびどのコーナーが上向きになっているのかに関する情報を保存する必要があります。
次のように、四隅すべてのビット単位の表現について簡単なアイデアを思いつきました。
1011 // top, bottom and left corner turned up
私の質問は、各セルのこれら3つの値を保存する最も効率的な方法は何ですか?これらの3つの値を1つの整数として保存することは可能ですか?