我有一個等軸測圖,有可選擇的瓷磚。該地圖由一個矩陣形成,例如$('div').gameMap({map:[[{"tile":"tile_0","object":"anObjectOnTile"},{"tile":"tile_3","object":""}], [{...}]],mapsize:3});
如果瓦片在object:""
內有東西,那麼該瓦片在該瓦片的頂部具有該對象(在我的情況下是石油井架的圖像)。如何將此對象附加到等軸測圖上的特定圖塊?
有一個地方按鈕,當點擊時應該在當前選擇的瓷磚頂部放置一個石油井架物體。
不過,我遇到了兩個問題:
知道哪些瓷磚當前選擇
添加單個井架
起初我想圖個方法來修改地圖的矩陣,以將對象的名稱(oilDerrick
)插入到tile的對象參數中,但現在我認爲更好的解決方案是appen d oilDerrick
到瓦片。我無法弄清楚如何追加到特定的瓷磚,而不是每瓷磚。
我得設置來看待和玩代碼:http://jsfiddle.net/briz/jdhPW/13/
有一個在地圖上的矩陣設置爲您查看oilDerrick對象,它可以通過刪除字oilDerrick
被刪除矩陣
我玩$(".tile").append($('.oilDerrick'));
,雖然我知道這將附加到每個瓷磚。但是我根本不知道如何追加以確定如何將其限制爲單個實例。
每個瓷磚都有一個唯一的ID。我也試過這種爲了一個oilDerrick添加一定瓷磚:
$("#placeButton").click(function()
{
for (var y in config.map)
{
for (var x in config.map[y])
{
document.getElementById(obj.attr('id') + '_tile_' + x + '_' +y).appendChild(".oilDerrick");
}
}
}
但這來到無濟於事爲好。我想我正朝着正確的方向前進?誰能幫忙?
太棒了,你們都讓代碼更好,解決了問題!天才!現在唯一的問題是,爲什麼卸下井架後不能「重新附加」... – Briz
我認爲這是主意。有一個標誌var'drillPlaced = true',只是在'$(「#placeButton」)中註釋它。click(function()...' –
這裏是關於看似追加問題的後續問題,如果你想看看:-) http://stackoverflow.com/questions/8189579/why-cant-i-append-an-element-remove-它 - 則 - 追加最相同元件-A-第二 – Briz