1. 游戏编程分块:图像图像;AI部分;基本逻辑与UI部分。
2.代码优化:
使用二进制移位代替乘除法;
适当使用全局变量,可以避免调用函数时的参数传递,提高速度;
使用32位变量;
尽量避免类型转换,如果必须使用类型转换的话将其放到最后;
使用inline函数;
使用速查表。如果程序中用到一些数学函数,比如y=f(x),实时计算太耗费时间了,可以预先计算出相应的x,y数值放到一个大表里,在程序运行时只需要到表里查相应的x,y数据即可,这就是用空间换时间的做法;
齐次坐标可以将矩阵的各种变换统一表示成矩阵的乘法,二维坐标系的齐次坐标是三维,三维坐标系的齐次坐标则是四维;
窗口-视图变换:游戏中有2中坐标,世界坐标系和屏幕坐标系,内存中存在的是一个大的世界地图,而屏幕上显示的只是世界地图的一部分。屏幕上的一部分叫视图,用来显示世界地图的一部分,而其对应的世界地图的方形区域叫做窗口。一般来说,游戏中的人物,物品的当前位置数据、相互关系和移动操作等都是在世界坐标系下进行的,然后才转换到屏幕坐标系中输出到屏幕。对三维游戏来说窗口视图变换就是在三维世界内取一个平面,先把三维世界中的物体投影到这个平面上,然后再做二维的窗口视图变换,,,