全文6.6k字, 预计需要22分钟.
1 游戏编程概述
游戏主循环
游戏循环: 整个游戏程序的核心流程控制, 不断执行直到退出
帧: 循环的一次迭代....游戏对象可以大体分为三种: 需要更新状态也需要绘制的动态对象(如人物), 需绘制但是不需要更新状态的静态对象(如场景), 需要更新状态但无须绘制的工具对象(如摄像机和触发器)
三大游戏对象的程序实现可以通过抽象出...其中q_v中的a是旋转轴, theta是旋转角
四元数在使用前要记得将向量分量q_v归一化后才能正常使用, 否则旋转会表现出奇怪的缩放效果
四元数也可连续使用, 但需要以下式进行相乘, 且顺序相反,..., 将游戏中的一个事件映射到一个或多个声音文件上进行播放
声音文件的播放一般会经由场景预加载节省时间, 并为了节省内存采用流式加载(只按需加载一部分)
声音事件常常由较复杂的场景设计, 最常见的就是脚步事件在角色不同状态...因此实现声音系统关键是提供足够的信息去判断所需播放什么声音
3D声音
2D游戏一般声音与方向无关, 一部分会考虑音源距离
3D游戏考虑得很多, 需要设置虚拟监听者和虚拟发射者.