重点:
- 渲染驱动游戏
- 事件驱动游戏
渲染驱动游戏:
根据时间来绘制不同的效果,需要实时绘制。
drawMenu();
drawGame();
drawOver();
draw() // 不断的执行 (渲染循环)
{
while(isExit){
if(state == MENU) drawMenu(); break;
if(state == GAME) drawGame(); break;
if(state == OVER) drawOver(); break;
}
}
event() //不断的执行(事件循环)
{
state = MENU;
}
帧率(FPS,Frame Per Second)
- 每秒刷新的次数
在30帧以上可以接受流畅运行,60帧以上就没有必要,因为大于你的屏幕刷新率,会浪费CPU和GPU。
- 延时机制
若刷新太慢,则使用延时机制,使每固定时间内执行一次,这样就可以使帧率稳定不变。
事件驱动游戏
背景只绘制一次,以事件的改变来改变,事件改变时画面绘制一次,之后不会再绘制而一直保持其状态。
更适合去开发应用程序开发。
drawMenu();
drawGame();
drawOver();
event() //不断的执行(事件循环)
{
if(state == MENU) drawMenu(); break;
else if(state == GAME) drawGame(); break;
else if(state == OVER) drawOver(); break;
}