【2D平台跳跃游戏 - 01】游戏架构概览
类结构图
全部组件分为8类:
- 场景:玩家看到的每一幕作为一个场景
- 玩家:每种可操控角色都继承自玩家基类,同时还设置有玩家ID,作为区分玩家的方式
- 子弹:所有投掷物统一为子弹类
- 粒子:粒子特效使用粒子实现,但是由于这次的项目较小,没有实现粒子发射器,而是使用定时器代替
- 动画:所有的绘图效果与资源
- 工具:游戏中用到的工具类,摄像机、定时器、二维向量,同时将一些如资源加载等的工具函数封装进util类中
- 平台:玩家可单向通过的平台
- 状态条:玩家的状态显示
其中一些组件内含有不止一个类
主程序
预处理部分
- 定义了全部的资源为全局变量
- 将需要的图片和图集资源全部加载至内存中
- 使用
mciSendString
加载所有的音乐,并取一个有意义的别名 - 加载并安装字体
- 翻转需要的图片与图集
- 初始化窗口
- 实例化所有的场景,并使用场景管理器管理
主循环
- 消息处理:将消息传递给场景管理器
- 数据计算:计算一帧的时间delta_time,并传递给场景管理器的on_update方法
- 画面绘制:调用场景管理器的on_draw方法
- 稳定帧率
评论区