游戏开发论坛

 找回密码
 立即注册
搜索
查看: 11209|回复: 27

求助游戏GUI设计的技巧和框架...

[复制链接]

17

主题

201

帖子

242

积分

中级会员

Rank: 3Rank: 3

积分
242
QQ
发表于 2004-6-17 12:02:00 | 显示全部楼层 |阅读模式
求助游戏GUI设计的技巧和框架...
有游戏GUI(窗口系统)的朋友,请抬抬贵手...
讲一下您设计GUI的过程和感受...

1万

主题

1万

帖子

2万

积分

管理员

中级会员

Rank: 9Rank: 9Rank: 9

积分
20527
发表于 2004-6-17 16:06:00 | 显示全部楼层

Re:求助游戏GUI设计的技巧和框架...

可以参考MFC的做法。

17

主题

201

帖子

242

积分

中级会员

Rank: 3Rank: 3

积分
242
QQ
 楼主| 发表于 2004-6-17 16:36:00 | 显示全部楼层

可是,我想把窗口系统独立出来

如果要独立他,那么就和每一次的显示有冲突.因为消息是不可预测的.可能在瞬间
就会有一堆子(当然要有取舍),那么有必要即时的处理用户的请求.这时候,有一个象
守护进程一样的窗口消息系统来处理.
等到要显示的时候,可能消息系统已经做了许多事情.可是,同时,我考虑到,显示的
不连贯性.(因为窗口系统已经处理过了).有人告诉我,即时的刷新画面,就象windows
本身的wm_paint一样.
不知道 大家还有什么高见.
期待您的每一句话!!!!

3

主题

35

帖子

35

积分

注册会员

Rank: 2

积分
35
发表于 2004-6-17 17:01:00 | 显示全部楼层

Re:求助游戏GUI设计的技巧和框架...

download.pchome.net/game/shooting/8422.html

这是我三四年前作的一个游戏,有一个比较完善的GUI,你可以参考一下。

这个系统发展到现在已经非常完善了,我称之为XFC,有独立的资源编译器和常量头文件生成,有自己的程序模版。并且独立于显示平台,可以任意扩充(目前主要为D3D)。我用它开发了几个游戏和多个应用程序,感觉还是比较方便的。最近为我的3D游戏做了一个编辑器,可以达到类似WC3 World Editor的效果。

等我考完试有空的话,我会上传一些最近写的东西的。欢迎多多交流。

3

主题

35

帖子

35

积分

注册会员

Rank: 2

积分
35
发表于 2004-6-17 17:05:00 | 显示全部楼层

Re:求助游戏GUI设计的技巧和框架...

总的来说,GUI系统还是很好做的,主要就是比较繁琐,工作量很大。

17

主题

201

帖子

242

积分

中级会员

Rank: 3Rank: 3

积分
242
QQ
 楼主| 发表于 2004-6-17 17:09:00 | 显示全部楼层

这是我在"中国游戏开发者"的讨论,望 站长 给点

叶风:
求助游戏GUI设计的技巧和框架...
求助游戏GUI设计的技巧和框架...
有游戏GUI(窗口系统)的朋友,请抬抬贵手...
讲一下您设计GUI的过程和感受...

King_jinjing 版主:
就类似于WINDOW编程。你去响应对应的消息就是了。

叶风:

我想得到更加细致的回复
我自己已经可以完成
按钮..
窗口...
的封装,我想知道你的办法,比如如何传递消息,得到消息后,
如何处理,如何更加易于调用.

King_jinjing 版主:
你可以去了解一下WINDOWS的消息机制。

准确的说,我还没有做过。

叶风:
了解?
我已经自己定义了消息机制.
只是不知道怎样才能够更好的发挥.
比如.
"消息"通过谁来传递.有没有必要放在一个钩子函数中,或者单独开一个线程.
对"消息的处理" 和 "游戏显示时的帧"的关系如何处理,
1.在处理消息时,不考虑游戏的显示问题,接到消息就在后台处理,
...


King_jinjing 版主:
基本上,没有必要另外开线程。这个消息处理瞬间就能完成的。游戏显示只是反应消息处理的结果。


叶风:
我的意思是...
消息到来的时候,游戏还没有再次的显示,比如 "1/30 " 秒刷新一次显示屏幕,但是,在游戏还没有进入下一次刷新的时候,也就是说在两次刷新期间,来了几个消息,那么,是等到下一次刷新是处理呢,还是,接到消息之后就处理??


King_jinjing 版主:
你应该有一个时间段的划分吧?比如,1/30到2/30之间的时间差,这个时间差是属于2/30的处理范围。


叶风:
是否分开处理...
我是这样想的,将游戏的消息处理和游戏的显示分开.
也就是说:游戏的显示并不管窗口系统中的消息,他只是
到了该显示的时候直接调用窗口系统的显示模块,
至于用户做了什么,由消息系统处理,当然处理的同时
调用各个窗口的回掉函数来处理用户的操作.

我做这个窗口系统的目标就是,能够即时的响应用户操作.
因为游戏的显示,并不象windows GUI 一样,能在接到绘图的消息
时直接操作画面.



King_jinjing 版主:
..........

WINDOWS也是得到消息后再绘制的。

你也可以跟WINDOWS一样,只更新某个区域。

固定每秒三十帧的理想情况,只是在2D游戏里出现。而3D游戏,是不停的刷新的,可能每秒几百帧都有。

你只需要用平常心去实现就行了。

叶风:
不知道该说什么了
我希望能够得到你们的实践性的见解.
谢谢帮助.


King_jinjing 版主:
这样说吧。

你可以学WINDOWS的,得到消息后,要求更新时,追加刷新一次。

叶风:
不错的主意..
这样一来,就可以即时更新,更新时在用上"只更新某一片"的方法,
就可以了.也就是说使用类似 wm_paint 的机制,但是,有可能遇到
"窗口是半透明"的情况,这时候 wm_paint 一样的做,是否还可行呢?

17

主题

201

帖子

242

积分

中级会员

Rank: 3Rank: 3

积分
242
QQ
 楼主| 发表于 2004-6-17 17:17:00 | 显示全部楼层

Re: Re:求助游戏GUI设计的技巧和框架...

CodeX: Re:求助游戏GUI设计的技巧和框架...

总的来说,GUI系统还是很好做的,主要就是比较繁琐,工作量很大。


你,能不能写点这方面的文章.
从窗口的布局,窗口的编辑器,窗口的消息响应,快捷键的定义.使用....
期待最近就能够看到你的大做.

139

主题

2005

帖子

2057

积分

金牌会员

Rank: 6Rank: 6

积分
2057
QQ
发表于 2004-6-17 20:55:00 | 显示全部楼层

Re:求助游戏GUI设计的技巧和框架...

我尽量写。。

3

主题

35

帖子

35

积分

注册会员

Rank: 2

积分
35
发表于 2004-6-18 23:29:00 | 显示全部楼层

Re: Re: Re:求助游戏GUI设计的技巧和框架...

WindLucid: Re: Re:求助游戏GUI设计的技巧和框架...



你,能不能写点这方面的文章.
从窗口的布局,窗口的编辑器,窗口的消息响应,快捷键的定义.使用....
期待最近就能够看到你的大做.


一定一定,我暑假如果不去微软研究院一定帮这个忙。

29

主题

421

帖子

436

积分

中级会员

Rank: 3Rank: 3

积分
436
发表于 2004-6-21 03:26:00 | 显示全部楼层

Re: 求助游戏GUI设计的技巧和框架...

同意CodeX
GUI系统还是很好做的,主要就是比较繁琐,工作量很大
的说法。

介绍一个游戏《warcraft III》,看看他的游戏GUI设计,思路非常灵活。代码量应该非常少了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-7-2 12:14

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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