现在有了点眉目了,但考虑到以后可以兼容更多的平台,把内存管理和文件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
本文介绍了作者在设计一款跨平台游戏引擎时的初步工作,包括内存管理、文件I/O的封装,以及图形图像处理模块的设计思路。计划支持多种BMP格式,并考虑未来支持DXT格式。展示了在不同Symbian平台上的模拟器屏幕截图。
3400





