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