你知道什么是暂停刷新吗 ?
由于不同的帧复杂程度不同,在运算时间上有很大差别,导致有的帧一闪而过, 有的帧卡了半天, 为了让所有的帧的
处理时间在理论上趋于平衡,就有了 暂停刷新 这个概念。
所以 每一帧 实际的处理时间 = 逻辑运算 + 绘制 + 延迟, 假设帧率是 10,那就是每隔100ms 回调一次,
反推一下, 延迟 = 100 - (逻辑运算 + 绘制)。
updata() 就是做 逻辑运算的,
repaint() 就是做 绘制的。
另外,咱的代码都是按照状态机模式写的。从 当前状态 进入 下一个状态,要做两件事: 退出当前状态,一般是释放资源 exit() ; 初始化下一个状态 init(). 从 当前状态 怎么样进入 下一个状态? 那就需要条件控制 do(), 所有这些做完之后就该绘制了 draw().
是不是很高深 ?