Symbian多平台游戏引擎开发日记 2006-4-24
2006-04-25 15:51
387 查看
今天开始了引擎的开发工作,边学习,边设计,边开发,哎,经验不够就是这样了。
在VS里建立了一个新项目,以S60 Simple Hello World Application为模板。向导自动生成了一些基本文件,可以在S60的SDK下编译运行了。唯一的一个.h文件里声明了Application、Document、AppUi、Container四个类,这也是symbian推荐的结构我没有修改这个结构,.cpp文件里是对这四个类的实现,另一个在group里的.cpp文件里包含了程序所需要的3个UID。
为了能适应多个版本的SYMBIAN系统,我通过在mmp文件里添加MACRO项来让编译器选择不同的代码,当然也可以在VS中操作,在“项目”-》“属性”-》“C/C++”-》“预处理器”-》“预处理器定义”里添加需要在编译时使用的宏定义,你可以为不同的SDK设置不同的宏,比如我可以使用SERIES60、SERIES80、SERIES90、UIQ来区分不同的SDK版本。
把这个项目用S80的SDK编译,出错了。S60用的是AVCON,S80用的是EICON(好象是),所以不能通用,现在预定义的宏作用来了,通过不同的预定义宏来使用不同的UI类保证了源代码的通用性。S60的Application继承自CAknApplication,Document继承自CAknDocument,AppUi继承自CAknAppUi;S80、S90、UIQ的Application继承自CEikApplication,Document继承自CEikDocument,AppUi继承自CEikAppUi。S60使用了aknappui.h,aknapp.h,akndoc.h,avkon.lib,而S80要包含eikappui.h,eikapp.h,eikdoc.h而且不需要avkon.lib。用预定义的宏让编译器在选择不同的SDK时包含不同的头文件继承不同的基类,现在终于能够在S60,S80,UIQ(S90还没测试)上编译通过并运行。
在Container的构造器里添加SetExtentToWholeScreen();让窗口全屏。在UIQ中好象要把***.uid.cpp文件中的内容注释掉才能编译通过,不然会报UID重定义,要用#ifndef|#endif包起来。
简单的跨版本代码出来了,以后往里面添砖加瓦基本就采用这种方式了。
在VS里建立了一个新项目,以S60 Simple Hello World Application为模板。向导自动生成了一些基本文件,可以在S60的SDK下编译运行了。唯一的一个.h文件里声明了Application、Document、AppUi、Container四个类,这也是symbian推荐的结构我没有修改这个结构,.cpp文件里是对这四个类的实现,另一个在group里的.cpp文件里包含了程序所需要的3个UID。
为了能适应多个版本的SYMBIAN系统,我通过在mmp文件里添加MACRO项来让编译器选择不同的代码,当然也可以在VS中操作,在“项目”-》“属性”-》“C/C++”-》“预处理器”-》“预处理器定义”里添加需要在编译时使用的宏定义,你可以为不同的SDK设置不同的宏,比如我可以使用SERIES60、SERIES80、SERIES90、UIQ来区分不同的SDK版本。
把这个项目用S80的SDK编译,出错了。S60用的是AVCON,S80用的是EICON(好象是),所以不能通用,现在预定义的宏作用来了,通过不同的预定义宏来使用不同的UI类保证了源代码的通用性。S60的Application继承自CAknApplication,Document继承自CAknDocument,AppUi继承自CAknAppUi;S80、S90、UIQ的Application继承自CEikApplication,Document继承自CEikDocument,AppUi继承自CEikAppUi。S60使用了aknappui.h,aknapp.h,akndoc.h,avkon.lib,而S80要包含eikappui.h,eikapp.h,eikdoc.h而且不需要avkon.lib。用预定义的宏让编译器在选择不同的SDK时包含不同的头文件继承不同的基类,现在终于能够在S60,S80,UIQ(S90还没测试)上编译通过并运行。
在Container的构造器里添加SetExtentToWholeScreen();让窗口全屏。在UIQ中好象要把***.uid.cpp文件中的内容注释掉才能编译通过,不然会报UID重定义,要用#ifndef|#endif包起来。
简单的跨版本代码出来了,以后往里面添砖加瓦基本就采用这种方式了。
相关文章推荐
- Symbian多平台游戏引擎开发日记 2006-5-22
- Symbian多平台游戏引擎开发日记 2006-6-12
- Symbian多平台游戏引擎开发日记 2006-5-29
- Symbian多平台游戏引擎开发日记 2006-6-5
- Symbian多平台游戏引擎开发日记 2006-5-15
- Symbian多平台游戏引擎开发日记 2006-6-26
- Symbian多平台游戏引擎开发日记 2006-4-23
- Symbian多平台游戏引擎开发日记 2006-7-24
- Symbian多平台游戏引擎开发日记 2006-5-8
- Symbian多平台游戏引擎VS开发入門
- Nokia发布Symbian平台上C++语言的2D游戏引擎(含源代码)
- 《大富翁手机游戏开发实战--基于Cocos2d-x 3.2引擎》现已登陆各大网络销售平台发售
- cocos2d-x(quick--cocos2d-x)引擎开发的游戏在android平台上,锁屏,按HOME键,重反游戏后黑屏问题
- 七巧板平台html5游戏开发之初识物理引擎
- Android平台游戏开发引擎使用指引
- Python游戏引擎开发(六):动画的小小研究
- DoJa平台手机游戏的开发与移植
- 【转】游戏开发工具引擎/模拟器收集
- 用C++实现跨平台游戏开发之Irrlicht引擎