现在有了点眉目了,但考虑到以后可以兼容更多的平台,把内存管理和文件I/O包装了一下。当然,有了这层包装,以后对程序的扩展也有帮助,比如进行更细致的动态内存管理等。
内存管理现在只是简单添加了Alloc、Free、Copy、Fill四个方法,这几个方法在现阶段也已经够用了。文件管理也只是添加了Open、Close、Read、Write等方法,能够把多个平台的文件操作独立起来,这也是基础操作的一部分。
考虑了一下图象部分的大致结构。显示模式可以直接使用symbian中的TDisplayMode,比较全面,就是用到其它平台也没问题。我觉得首先应支持的外部图片文件格式是BMP,简单通用。程序结构大致规划如下:
TG_Main创建一个TG_Display用于管理离屏缓存,虚拟鼠标,屏幕效果(淡入淡出等)并翻转缓存到屏幕。TG_2DSurface可以用于作为离屏缓存,并在这个对象里提供文字、图形、图象的绘制方法。TG_Texture用于游戏图象的载入、旋转、翻转、色深转换等,并能将其绘制到TG_2DSurface上,可能支持的格式预计有1位BMP,4位BMP,8位BMP,16位BMP,24为BMP,可能以后会支持DXT格式。
目前各平台的模拟器屏幕截图如下:
SYMBIAN SERIES60 1.2 SDK
SYMBIAN SERIES60 2.2 SDK
SYMBIAN SERIES60 2.3 SDK
SYMBIAN SERIES80 2.0 SDK
SYMBIAN UIQ 2.1 SDK