首先本人从C转到C++的,所以很多如vector用的不熟练。
程序里创建了几个类,子弹类,爆炸类 为最小的子类,玩家飞机类和敌方飞机类(想合为一个类然后继承的。。。)是两个中等类,每一个都有自己的子弹类40个和爆炸类1个对象。然后一个admin类(这个叫法是参考一个D3D开发人叫的,也就是一个总管类)里面创建玩家飞机类的对象一个,敌方飞机类对象指针数组100个。
这里指定了数量,因为根据估算屏幕里最多只会有100个飞机,每个飞机最多有40个子弹,这40个动态增加删除就够了,这里有人推荐vector,但发现没这样用快:
int i = 0;
while (m_cBullet[i] != NULL)
{
i++;
}
// 发现一个空的就插入
//然后子弹出屏幕或者击中飞机就delete 然后制成NULL。
这样不用互相有关联关系,处理起来就方便的很。
飞机也是,飞出屏幕或者死亡就delete,然后有新飞机就在NULL的地方new一个,这样完全不浪费空间,100个就够了,可以无限的生成,消失。
每一个飞机都有自己的子弹管理类和爆炸效果类,然后子弹类里面会判断碰撞~~OK,今天说到这里了~~~~