标签:
既然我们做的是打飞机游戏,那需要有哪些游戏对象呢?观察一下下面这个游戏中的图片。首先,主角当然是飞机,有玩家飞机、两侧的僚机、敌机。飞机上装有各式各样的武器:普通子弹、导弹、激光等。如果只是一成不变的飞机打飞机,子弹没有变化,飞机也没有变化,那也太没意思了。所以我们还增加了道具,当敌机被击落时,会有一定的几率爆出宝石和其他各种奖励道具,比如武器升级、战机暴走、修复护甲、超级必杀、量子护盾。
我们来总结一下:
“超级必杀”的清屏效果是不是感觉很爽!!
右下角金黄色飞机的外围是不是有一圈半透明的蓝色圆环?这就是量子护盾。
好了,需求分析的差不多了,我们现在来抽象一下这些游戏对象,如下图:
这里需要重点关注一下BulletGroup和Bullet。我们可以把BulletGroup理解成包含弹匣的一把枪,把Bullet理解成单颗子弹。枪(BulletGroup)内包含了n发子弹(Bullet)。枪(BulletGroup)的不同,决定了子弹(Bullet)的外观、子弹的初始位置和飞行轨迹不同、子弹发射的频率和同时射出的数量不同。 所以,我们在BulletGroup中放了vector<Bullet>这个成员变量,这是一个简化的“子弹池”,当需要发射子弹时,从池中获取子弹,当子弹爆炸或者飞出屏幕时,子弹需要回收,放回池中。
下一篇,我们将结合代码讲述各种游戏对象。
标签:
原文地址:http://www.cnblogs.com/thorqq/p/5645170.html