JSONオブジェクトを使用するのがかなり新しいです。私はちょっと固まっています。半複合JSONオブジェクトに値を追加するにはどうすればよいですか?
Array
(
[status] => success
[id] => 1
[name] => Zone 1
[description] => Awesome zone deze..
[tiles] => Array
(
// Column for the tile grid
[0] => Array
(
// Row for the tile grid
[0] => Array
(
[tileID] => 1
[rotation] => 0
)
[1] => Array
(
[tileID] => 1
[rotation] => 0
)
// Etc..
)
[1] => Array // etc.. etc..
)
)
私はHTML5のCanvasゲームのアイソメグリッドをレンダリングするためにこのオブジェクトを使用します。
私はこの配列から変換されたJSONオブジェクトを持っています。私はマップエディタを構築しており、マップにタイルを追加するために、このjsonオブジェクトに値を追加する必要があります。
これは、私はPHPでそれを行うだろうかです:
mapData[column][row] = array(
'tileID' => 1,
'rotation' => 0
);
だから私の質問は、どのように私はJavaScriptでJSONオブジェクトでこれを実現するか、でしょうか?
ありがとうございます!
ニック
私はエラーに遭遇しました
更新:
can't convert undefined to object
mapDataTiles[mouseY][mouseX] = { tileID: editorSelectedTile, rotation: 0 };
これは、私は、JSONオブジェクトに新しいタイルを保存&をクリックするために使用するコードです。最初は私の私のパラメータの1つは、「未定義」だったのに、私はコンソールにそれらを記録したが、彼らは完全に出てきた。..
// If there is already a tile placed on these coordinates
if(mapDataTiles[mouseX] && mapDataTiles[mouseX][mouseY])
{
mapDataTiles[mouseX][mouseY]['tileID'] = editorSelectedTile;
}
// If there is no tile placed on these coordinates
else
{
mapDataTiles[mouseX][mouseY] = { tileID: editorSelectedTile, rotation: 0 };
}
私の変数は次の値があります。
またMouseX: 5
MouseY: 17
tileID: 2
をそれは実際には動作し、新しいデータを配列に保存するといういくつかの座標について、奇妙な事実です。
UPDATE裁判やコーディングエラーの数時間後に2
私は解決策を作ってみました!
とにかく誰も助けてくれてありがとう!
好奇心が強い人は、自分のコードを表示しても大丈夫です。これまでのところ、無制限のタイルのために世界地図をどんな方向にも拡張する能力があります。 :D
cya
私はそれを試みましたが、私は奇妙なエラーを取得しています、上記を参照してください。とても早く回答してくれてありがとう! –
列または行の配列が実際に存在することを確認する必要があります。これらは動的に作成されません。配列の存在を確認するために "else"節を変更し、配列が存在しない場合は、与えられた列/行に配列を作成する必要があります。 – Saebekassebil