首先創(chuàng)建四個類,敵機(jī)和英雄機(jī)子彈類,敵機(jī)類,英雄機(jī)類,類中定義各自的橫豎x y坐標(biāo)屬性,值得注意的是,在寫構(gòu)造的時候,子彈的構(gòu)造需要傳入?yún)?shù),因?yàn)樽訌椨⑿蹤C(jī)和敵機(jī)發(fā)出來的嘛。再定義兩種子彈移動方法。移動方法很好寫,子彈垂直方向發(fā),x——就行了。再在main中調(diào)用就行了
成都創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括青川網(wǎng)站建設(shè)、青川網(wǎng)站制作、青川網(wǎng)頁制作以及青川網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,青川網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到青川省份的部分城市,未來相信會繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
這種是傳統(tǒng)的Sprite圖塊技術(shù),不用JLabel這樣的已經(jīng)固定用途的“標(biāo)簽”控件...
你需要設(shè)計一個基本的功能:
比如有6張子彈的各種形態(tài)-激發(fā),爆炸等狀態(tài)的圖,編號0-6,要能按順序播放這個形態(tài)
這種圖塊叫sprite
你可以起名一個子彈束類class Bullet ,每次激發(fā)為一束子彈即一個bullet對象。
記錄下子彈的飛行坐標(biāo),作用范圍,運(yùn)動狀態(tài)和狀態(tài)對應(yīng)的圖片,是否碰撞,是誰發(fā)的子彈
最后還要讓圖形界面能繪制出來,比如Canvas,JPanel的Graphics能根據(jù)bullet的數(shù)據(jù)繪制出圖片,而邏輯處理能判斷出子彈的狀態(tài)是否擊中。
圖形方面最好需要用兩個大的int[]像素塊作為顯示的屏幕,一個int[]在內(nèi)存繪制,一個int[]交給graphic顯示,實(shí)現(xiàn)流暢的雙緩沖。(現(xiàn)在AWT/swing,javafx等的基礎(chǔ)功能已經(jīng)超過一代二代的PS有余...)
總之,知識點(diǎn)很多,有過去40年左右的各種技巧...
告訴你一個 神器 類 (集合類) 這個集合中的東西只能讀取一次,第二次查的時候就沒有了 類名實(shí)在是想不起來了 你可以去找找
我覺得你這個問題用這個集合太合適
(個人建議)
代碼有點(diǎn)多, 實(shí)現(xiàn)思路, 實(shí)現(xiàn)鍵盤事件監(jiān)聽機(jī)制, 在監(jiān)聽函數(shù)中判斷 按了什么鍵,比如按J就發(fā)送子彈. 然后啟動子彈線程. 定義一個子彈類線程, 定義出子彈的所在屬性和方法.
寫個方法,判斷子彈是否擊中目標(biāo),以XY坐標(biāo)相交來判斷