2012-10-17 42 views
-2

可能重複:
How to create a square 10x10 table in Android?如何有效地實施方格板和件?

我想實現一個正方形方格板,就像一個棋盤。我通過使用TableLayout和ImageViews作爲表格單元來完成它。不過,當我把它放在船上時,我會陷入困境。我無法在表格單元上繪製/顯示一塊,也就是說我無法創建兩個重疊的ImageView。也許這種方式不是那麼聰明。

那麼,如果您要實現一個簡單的象棋棋盤棋類遊戲,哪種方式最好?哪種方法是最好的考慮選擇,高光和移動一塊?

+0

獲取花紋板的圖片,將其設置爲背景圖片,在頂部構建一張桌子,根據需要添加棋子圖片。 –

+0

我動態創建tablelayout和imageviews,使其適合整個屏幕。我沒有使用背景圖片,我認爲縮放看起來很糟糕。我下載DroidFish的src代碼,但目前還沒有關於他們的方法的線索...... – Mehmed

回答

1

您可以創建一個ImageView,其中包含每個作品的拼貼和拼塊以及空白拼貼,然後根據需要更換ImageView以顯示拼塊或空白拼貼。

當然,這種方法不允許任何類型的動畫,當件移動。爲此,您必須將背景設置爲遊戲板,然後在其上構建一個表格,在該表格中將這些部分作爲單獨的ImageView(不包含平鋪圖像)放置。

+0

我該如何設置一個imageview以使其中包含多個圖像?這是唯一的方法嗎? - > http://bit.ly/U5YzPw – Mehmed

+0

這可能不是唯一的方式,但它似乎對我來說是一個很好的方式。您不能直接讓ImageView顯示兩張圖像。 – Ralgha

1

我會創建兩個將他們的內容放在彼此頂部的TableLayouts。背景瓷磚(您放置「碎片」的地方)當然是背後的碎片。

移動一塊時,只需將一個單元格的內容移動到另一個單元格中,但這並不需要說明。

使用這種方法的好方法是,您可以根據上下文輕鬆對背景圖塊進行不同的着色(無需擺弄該圖片的ImageView本身),例如,您可以更改圖塊可以移動到的位置非常簡單地。

同時增加電路板尺寸不會成爲問題,因爲沒有什麼是靜態的。只要確保背景圖塊TableLayout和TableLayout的大小大小相同,並且它們直接放在彼此的頂部。

當它歸結爲效率時,如果你現在真的需要專注於此,總是需要記住。

作爲一個經驗法則; 使事情工作,配置文件,使其更快。不要試圖在任何其他方向做,這隻會讓你頭疼。

+0

只要確保作爲件使用的圖像的背景是透明的,以便您可以實際看到下面的背景圖塊。 –