至此,飞行射击游戏已经基本实现该有的功能,已经比较接近早期的商业游戏了。
如果采用脚本,可以完成关卡游戏,如果不用,也可以做成无限挑战游戏。
我们汇总一下制作的过程:
1、建模UML
2、主循环处理过程
//清屏
ws2812_pixel_all(0, 0, 0);
//背景行动
backGroundStar.tick(t);
//玩家1行动
player1->tick(t, b1);
//玩家2行动
player2->tick(t, b2);
//子弹行动
bulletManager.tick(t);
//敌人行动
enemyManager.tick(t);
//掉落物行动
propManager.tick(t);
// 检查玩家1道具使用特效的碰撞
checkEffectCollision(t, player1);
// 检查玩家2道具使用特效的碰撞
checkEffectCollision(t, player2);
// 检查敌机的碰撞
checkEnemyCollision();
// 检查玩家的碰撞
checkPlayerCollision();
// 检查掉落物的碰撞,捡拾道具
checkPropCollision();
// 绘制背景到缓冲区
backGroundStar.show();
//