|
Jun 03
|
连连看游戏开发实践(3) – 动画
网游客户端编程
Views: 6790 |
No Comments »
|
游戏中不可缺少动画. 在之前的图形界面实现中, 程序是基于用户输入事件驱动的, 除非使用单独的线程, 否则无法实现动画. 所以, 把程序改为基于时间驱动, 并使用精灵(Sprite)的概念. 精灵包含一个或者多个图像资源(帧), 以及其它状态信息. 这时, 使用C++来开发会更接近这种抽象.
主循环每隔一个时钟周期轮询所有的精灵, 获取它们的当前图像帧, 并blit到屏幕上页面. 也可以让它们自己blit到屏幕上面.
这就要求, 所有的逻辑处理都必须由开发者分解成流水线, 流水线的每一个片段都能在一个时钟周期内完成, 而且所有逻辑的流水线也必须能在一个时钟周期内完成.
while(1){
foreach(sprites as s){
s->tick();
}
others->tick();
sleep();
}



Recent Comments