::金点时空::

MFC与游戏程序员

  在面对游戏程序是否应该使用MFC的时候,我认识的游戏程序员们立场泾渭分明:
  第一类痛恨MFC,视MFC为洪水猛兽、荼毒人间,坚决抵制任何和MFC有关的东西。
  第二类则异常崇敬MFC,甚至非MFC程序不写,非MFC类不用,恨不能把MFC像神一般供起来。
  奇怪的是很少有人站在中立的角度来看待这个问题!
  我们都知道MFC是一个非常庞大的系统,它封装了几乎所有常用的API函数,让VC++程序员减少了大量的重复工作,极大提高了开发应用程序的效率。
  但是游戏开发有一个特点,就是比较底层,经常会涉及到底层调用或系统级的访问,这些都是MFC所不能提供的。所以痛恨MFC的人就说我做游戏的时候根本不会用到MFC的任何东西,有了它反而让我的代码庞大臃肿,而且扰乱我本身的代码。在程序中插入大量看不懂的代码,这是很多人绝对无法容忍的!
  但是习惯了MFC的这部分程序员不这样认为,MFC帮我把很多烦琐的工作做了有什么不好呢?就拿建立窗口来说吧,如果用API,光参数就有十来个之多,窗口的风格更是多的让人头昏。而MFC只需要用向导就自动把这些工作都做了。而且它为我们提供很多封装好的类,比如CString,用起来和char*同样简单,但却不必担心指针越界的问题,诸如此类的好处还很多,为什么我们不把更多的时间用在游戏程序的本身呢!
  这两种说法都有道理,在刚开始学游戏编程的时候,我也不用MFC,不过后来在工作的过程中,慢慢接触了MFC,逐渐了解了它的功能和一些运行方式,直到现在我一直都在用MFC。
  我建议大家都能去看一下MFC,就算不使用,也可以了解一下它的结构和运做模式,它里面的一些方法和思想是值得我们借鉴的。但是没有必要一行行去看它的代码,因为封装API只是些体力活而已。
  初学者也不必急着去学MFC,毕竟它只是个类库,不用它同样可以开发出好的游戏。
  说这些只想告诉大家应该正确对待每一项技术,大胆灵活的运用你所掌握的东西。目的只有一个:“开发出更好的游戏!”

soft
2003-4-20
金点时空
http://www.gpgame.net