既然我們做的是打飛機游戲,那需要有哪些游戲對象呢?觀察一下下面這個游戲中的圖片。首先,主角當然是飛機,有玩家飛機、兩側的僚機、敵機。飛機上裝有各式各樣的武器:普通子彈、導彈、激光等。如果只是一成不變的飛機打飛機,子彈沒有變化,飛機也沒有變化,那也太沒意思了。所以我們還增加了道具,當敵機被擊落時,會有一定的幾率爆出寶石和其他各種獎勵道具,比如武器升級、戰機暴走、修復護甲、超級必殺、量子護盾。
“超級必殺”的清屏效果是不是感覺很爽!!
右下角金黃色飛機的外圍是不是有一圈半透明的藍色圓環?這就是量子護盾。
好了,需求分析的差不多了,我們現在來抽象一下這些游戲對象,如下圖:
所以,我們在BulletGroup中放了vector<Bullet>這個成員變量,這是一個簡化的“子彈池”,當需要發射子彈時,從池中獲取子彈,當子彈爆炸或者飛出屏幕時,子彈需要回收,放回池中。
下一篇,我們將結合代碼講述各種游戲對象。