文章列表
 
您正在查看 "ui编程" 分类下的文章

2011年04月08日 星期五 17:26

【前言】

其实一个好的GUI系统,架构设计很重要。其实一切的核心恐怕没有比控件基类的设计更重要的了。在我自己的这篇文章(http://hi.baidu.com/microgrape/blog/item/50ed5b123691ae165baf5379.html)中说到GUI的最重要的几个组成部分,控件基类全部都涉及。一个基类如果要担负这么多任务,但是如果设计不好,那势必造成功能紊乱。。。

【CEGUI】

 CEGUI的基类是Window。它从属性集和事件集继承而来,如下:

 
2011年04月02日 星期六 14:56

CEGUI的输入没什么好讲的。事件机制的话采用的是很清晰的Observer/Subscriber模式,将非成员函数、成员函数、静态函数等都统一在一个回调函数的体系下,所以很好剥离,也很好学习。下面就是我剥离了之后写的demo,虽然demo简单的无以复加。。。

115网盘下载:

http://u.115.com/file/f448230fe

 

微软Skydrive下载:

http://cid-c9ff8e03c74

 
2011年03月28日 星期一 18:21

一句话解释:虽然PyCEGUI是基于boost.python的。但是pyconfig.h文件是在你系统中装的Python环境的include文件夹下,是python自带的,不属于boost.python。

 
2011年03月25日 星期五 12:08

书接上回(http://hi.baidu.com/microgrape/blog/item/ac9bac96b327f17954fb96e3.html),说到了资源的读取,就不能不说一下资源的种类。这里的资源都是指的GUI的美术资源。

【CEGUI】

示意图:


注:这是我自己进行归类的结果,CEGUI的源代码中是没有归类的(稍微

 
2011年03月10日 星期四 17:28

 

【CEGUI】

首先要明白一点:CEGUI的图片资源在系统里最终是存储为Imageset的形式。所谓Imageset,就是一张纹理上并不是只存了一项内容,而是把N张小图片资源拼接在一整张纹理上。如下图所示:

另外还有一个前提:就是CEGUI的UI是基于Scheme系统的。所谓的Scheme就是主题或者叫做样式。主题大致的意思

 
2011年03月07日 星期一 13:53

最近发现了一个关于魔兽世界的一个很好的编程网站(不过应该是非官方的),其中给出了大量详尽的文档,主要包括以下内容:

1 API Functions

魔兽世界所有的API。

2 Widget API

所有界面控件的API,所有控件提供给脚本的接口,所有控件的类结构图。

3 Game Events

所有游戏中发生的事件。这里值得注意的是:魔兽世界并非只有GUI是用事件方式组织的,连客户端所有的都是以事件机制为基础的。比如进入一个房子,骑上坐骑之类的,玩家进入战斗状态等等。。。然后一个事件可以对应多个响应

 
2011年03月03日 星期四 0:16

【版权所有】

(c)MicroGrape

2011

jeffwangxz [#] gmail [#] com 

【链接】

http://www.freetype.org/freetype2/docs/tutorial/example2.cpp

【代码】

GR的百度空间,不让代码着色和高亮就算了,连这么400行代码都贴不上去。。。又不给空间放文件,垃圾啊。。。

【简单的代码分析】

整个代码做的工作除了FreeType初始化等固定工作以外,主要做了一件事:把一个Unicode的字符

 
2011年02月22日 星期二 23:31

1. 窗体管理

窗体管理是基础。主要处理窗口或者控件之间的层级关系。但是不是最难的部分,因为基本上每个Gui库这部分的基本思想几乎没什么区别。窗体管理较难处理的问题包括:拖拽,激活等等。

 

2. 消息/事件机制与用户输入。

事件机制主要在于架构要良好,底层可以复杂,但是提供给用户使用的接口一定要简单;而且整个UI系统的灵活性基本上被窗体管理和事件机制的灵活性所决定。CEGui使用的是Subscriber模式(GoF模式中的Observer模式),MyGUI使用的是模

 
2011年02月19日 星期六 1:51

MyGUI是一个开源的图形用户界面(graphic user interface)的实现,官网见:http://mygui.info/。俄国人写的(导致代码里面带的大部分注释都是俄文,在VS下打开可能是乱码,即使不是乱码,我想我也看不懂。。。)。可以考虑做网络游戏的UI。

这个UI库的底层可以基于DirectX/Orge/OpenGL三种渲染引擎,由于我只是想先简单测试一下效果,就基于DirectX编译了一把。除了依赖DirectX以外,还依赖以下库:

1. FreeType字体渲染库。如果没有这个

 
 
   
 
 
文章分类
 
   
 
文章存档
 
     
 
最新文章评论
  

thx !
 

g++不能编译通过。
 

赞python
 

def change2HW(s): if(len(s) <= 1): return s else: if(s[0] == s[-1]): e
   
帮助中心 | 空间客服 | 投诉中心 | 空间协议
©2012 Baidu