還記得《偷天換日》中精靈般穿梭在好萊塢車流中的Minicooper嗎?馬克·沃爾伯格和莎莉·賽隆就是駕駛著它在仇人的鼻子底下運走了價值千萬的黃金。可是,如果現在將一輛無法奔馳的Minicooper軀殼放在你的面前,你會如何看待它?它還是那個游走自如的精靈嗎?今天,就讓我們一點一點地為這輛Minicooper組裝上零件,讓它跑起來。 前言 從本期開始,我們為大家提供完整的游戲源代碼(點擊下載)。Java咖啡館倡導大家理論與實踐并重,我們在連載中將給大家介紹關鍵技術以及實現思路,朋友們自行結合文章閱讀源代碼,好比一邊讀報一邊喝咖啡,這才是滴滴香濃意猶未盡。 游戲布局 “連連看”屬于一款二維戰棋類游戲,要設計棋盤類的游戲,GridLayout應該是不二之選。現在讓我們一起來看看GridLayout的構造函數: ·GridLayout():默認的情況下,將布局區域劃分為1*1的大小 千萬別讓這三個構造函數把你給嚇住了,其實只要你喜歡,完全可以放心大膽地使用其中的任何一個,就算不小心用“錯”了,以后也有辦法進行調整。惟一需要注意的是,GridLayout在添加控件時,默認順序是從左上方向右下方依次添加的。 現在讓我們來確定游戲的格子數目。究竟多少格子比較合適呢?太少會降低游戲的難度,太多又會造成視覺影響。所以,我們應該通過一對常量來表示,將來即使要修改,也是舉手之勞。 在Java中,常量的定義需要寫成public final static的形式,假如我們規定游戲的棋盤在橫向有8個格子,縱向也有8個格子,那么,我們應該這樣定義: public final static int ROW = 8; 然后,我們使用GridLayout的第二種構造函數來創建布局: GridLayout gridLayout = new GridLayout(ROW, COLUMN); 最后,我們還需要將游戲區(contentPanel)的布局改為上述布局: contentPanel.setLayout(gridLayout); 如果你此時編譯并運行程序的話,你可能會奇怪:界面怎么沒有發生任何改變,是不是哪出錯了?雖然我們指定了布局,可是什么控件也沒有添加,當然就看不出變化。現在讓我們一起在布局上添加按鈕吧: for (int i = 0; i < ROW * COLUMN; i++) { 再運行程序試試,是不是和我的一樣(見圖1)?
|
正在閱讀:跟我學Java Swing之游戲設計(2)跟我學Java Swing之游戲設計(2)
2005-10-14 10:46
出處:
作者:張劍
責任編輯:xietaoming
鍵盤也能翻頁,試試“← →”鍵
302 Found
Powered by Tengine