很多人图形开发的开始阶段是TC的默认图形库,我同样走了那个道路,但是后来,很自然的,我的注意力到了ALLEGRO这个东西上,原因很简单,他的函数给的足够全,足够多,而且他的封装提供了控制台程序编程模式。这就是说,大家在C语言中的MAIN里,可以轻松的在图形模式下工作。当然还有很多其他的图形库值得使用,不过我还是很推荐ALLEGRO。
如果大家为了写一个BMP的读写函数浪费时间的话,我想还不如干脆浪费时间写一个语言或是OS。因为我们即使写出了BMP的图形函数,也恐怕没有别人的写的好,这个年代已经不是原创就一定好的时代,拿来主义显的是那么的主流。
既然如此,用就用最好的吧,在我选择图形库的时候,ALLEGRO,SDL,DIRECTX,OPENGL都进入了我的视野,但是我选择了ALLEGRO,因为TC写的代码会很容易的得到移植,这不仅仅是因为ALLEGRO可以和GCC合作,更是因为TC的代码更适合于控制台程序那样的结构。到了SDL,DX,OPENGL,消息模式显的那么的重要,你的TC中不会有这个主流概念的。所以移植程序就成为一个大难题了。如果你的程序开发无法一直进行,你的思路就会被打断。重新学习消息模式的图形开发是一个需要时间的过程。你为什么不缓冲一下呢,这只是我的建议。
在ALLEGRO用了一年多之后,我决定进入SDL的世界,不仅仅是因为SDL比ALLEGRO更强大和通用,更因为它使用的是消息模式,而它里面的很多概念在某种程度上比DX更容易,更接近ALLEGRO。但是他的很多思想也借鉴了DX。所以,作为一个从ALLEGRO到DX的过度,它是再好不过的了。如果你无法一下子搞定DX,那么我走的道路是推荐给你的。但似乎这个道路过于漫长。不过这样你在学习DX的过程中可以学到更多的东西,而且过度越来越容易,磨练你的图形开发技术的过程也同时进行了。一举两得。
DX是我们都向往的,但SDL,同样可以给我们带来很多的不同。你可以在LINUX和WIN里甚至是其他的系统里写一样的程序,只因为SDL到处都存在,即使是MENUET这样的小型OS,也是可以用SDL的。
不要过于着急进入3D是我的另外一个建议,没有很好的2D基础,你的3D世界将乱成一团。因为有太多的概念本该在2D学到的,你却让他们和3D混杂在一起。
如果你不是神仙,那么就学ALLEGRO吧。然后再是SDL,最后是DX。