摘要:
说到界面系统,在windows平台上用c++编程的人多少都会知道MFC,我也曾仿照MFC的设计实现过一款单机游戏的界面系统。然而现在多数人认为MFC是一个设计不佳,复杂且难于使用的系统。使用MFC编程需要很长的学习过程,界面逻辑被分散到各个窗口类中,为了实现一个复杂界面,你不得不为界面中几乎每一个窗口创建派生类,并将界面逻辑嵌入到这些窗口类中。整个界面形成一个父窗口、子窗口、控件等对象组成的树状结构,许多消息在这个树状结构中通过广播的方式找到它的处理函数。要操纵子窗口或者控件完成一些事情不得不先找到包含它们的父窗口,再通过父窗口函数或者成员变量来访问子窗口或控件。这些特点迫使界面逻辑要了解界面的组织结构,甚至依赖于这个组织结构,难以实现逻辑和界面结构、布局的分离。
游戏界面有其自身的特点,比如游戏的界面往往比较简单,不需要太复杂的结构和布局,能够满足特定游戏的需求就行,不会象MFC那样被用来实现各种各样的应用程序,面对大量的不同需求,甚至要实现不可预期的需求,这就要求MFC这样的系统具有极大的灵活性,和可定制性。另外游戏界面系统往往用c++语言实现,而 阅读全文