UI编程经验

我很懒,在想不明白所有的问题前我总是懒得动手,当我想明白的时候又会遇到新的问题。这也是为什么这么长时间了,我一个游戏也写不出来的原因。

还记得几个月前写过一个很垃圾的UI,垃圾的不行了。这几天又看了几篇讲解UI编程的文章,收获不小,特来总结一番。

首先,我原先的部分思路还是不错的。(先肯定自己一下)比如,UI都是画出来的(废话,所有的图形界面都是画出来的),我们要把从系统接收到的消息传递给UI系统,渲染的时候UI是最后渲染的等等。

今天要总结一下UI是怎么跟主程序交互的。

在我上次那个程序中是直接PostMessage到系统消息队列里的,如果是想实现一个资源编辑器来取代VC6里面那个的话,思路也算正确。但是在看过大家的方法之后,我不得不承认这个方法对于游戏来说是不合适的。

要让UI跟主程序交互的方法还是不少的,但是对UI使用者来说简单方便的却不多,比较常见的方法有MFC使用的消息映射+消息循环,还有就是 delphi等RAD中使用的事件回调。HoHo5的UI部分采用类似MFC的方法,而CEGUI则使用类似delphi的事件回调。

无论是哪种方法,只要是使用的方便,那么对于设计者来说就一定不会轻松。

《DirectX9 User Interfaces Design and Implementation》一书中采用的是类似MFC的函数重载,总共出现的事件也不过 OnRender();OnMouseDown();OnMouseMove();OnMouseUp();OnSetFocus();OnLostFocus();OnKeyDown();OnKeyUp();8 种,但对付一般的应用足够了。

到底该用什么方法来实现我的UI呢?唉。。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值