游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3421|回复: 1

消息/渲染循环框架的选择

[复制链接]

2

主题

10

帖子

70

积分

注册会员

Rank: 2

积分
70
发表于 2014-8-5 17:57:49 | 显示全部楼层 |阅读模式
本帖最后由 lliihhaaoo 于 2014-8-5 23:28 编辑

最近浏览了一下国外经典战棋韦诺之战Wesnoth的源码,发现其并未采用常见的满帧率的渲染方式:
while(true){
    if(get_msg()){
        process_msg();
    }
    else{
        update();
        render();
    }
}

而是按程序需要进行渲染,如:
move_unit();
draw_unit();
atk_unit();
draw_units();

消息的处理方式也不同,基本都是过程式处理,而非典型的跳来跳去的Windows消息的处理方式。

我初步的看法是Wesnoth的这种方式能很自然的按程序逻辑进行过程式编码,该进入循环就进入循环,嵌套几层也很自然,因为程序逻辑本就如此,也不用疲于在各种消息间跳转而把程序逻辑搞的支离破碎。

这种朴实的方式感觉很直观,想深入研究一下,但水平有限,不知其具体有啥优劣?还望大侠们不吝赐教。先谢了。

0

主题

125

帖子

1445

积分

金牌会员

Rank: 6Rank: 6

积分
1445
发表于 2014-8-6 10:40:21 | 显示全部楼层
本帖最后由 VHwy 于 2014-8-6 11:08 编辑

这个是早期还没有3d技术时期的代码设计习惯吧,算是见到古董了~动作游戏肯定不会这样处理循环的,这种循环应该是回合制游戏特有的。

PS:不过动作游戏也只是把1回合发生的事情放到1帧里去了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-8-18 03:07

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表