Symbian多平台游戏引擎开发日记 2006-5-29

原创 2006年05月29日 14:45:00

       上周完成了8位色位图的载入,并且完成了TG_Palette类。BMP位图还有4位、1位等,但我不准备支持那些格式,4位的TG_Texture我准备用做16位TG_Texture的alpha通道,1位的TG_Texture准备用于绘制阴影,这些格式的TG_Texture将在以后的自定义格式中来支持。在位图的读取操作中要注意图片宽度的位对齐问题。

     在TG_2DSurface中完成了12位色和16位色的BitBlt方法,支持绘制时的翻转和旋转(ROT_90DEG,ROT_180DEG,ROT_270DEG,ROT_HORIZONTAL,ROT_VERTICAL),同时支持关键色和透明度。12位和16位的Alpha的混合使用32位的无符号整数来计算,没有拆分为3个颜色的分量来计算,具体细节可以参考风云的《游戏之旅--我的编程感悟》的第六章190页,不过使用函数数组没有成功。16位色的混合算法如下:

unsigned short alpha_blender16(int x, int y, int alpha)

     {

         x = (x | (x<<16)) & 0x7e0f81f;

         y = (y | (y<<16)) & 0x7e0f81f;

         int result = ( ((x - y) * alpha) / 16 + y) & 0x7e0f81f;

         return (unsigned short)((result&0xffff)|(result>>16));

     }

Alpha混合支持16级透明度,可以用一个4位的数字表示。

接触了一下symbian第三版的开发,修改了4个部分:

1.   包含头文件<eikstart.h>

2.   修该原来mmp文件中的cpp为exe

3.   在mmp中添加

SYSTEMINCLUDE    /epoc32/include/mmf/plugin

第三版修改了程序图标的使用方式,是那种可以缩放的矢量图片SVG格式,具体使用方法还不太清楚

VENDORID        0     // must be 0 for self-signed applications

CAPABILITY      NONE

4.   添加了第三版的入口:

GLDEF_C TInt E32Main()

{

return EikStart::RunApplication(NewApplication);

}

5.   修改mmp文件中的资源定义语句

START RESOURCE <project>.rss

TARGETPATH /resource/apps

HEADER

END

6.   添加register资源文件<project>_reg.rss,mmp文件中添加相应的资源定义语句

START RESOURCE <project>.rss

TARGETPATH /private/10003a3f/apps

HEADER

END

当然,最好是重新定义一个专用于第三版的mmp文件,在carbid c++中导入第三版专用的mmp文件就可以了。

目前已经可以在第三版的模拟器上运行,但是还不能在第三版的UIQ模拟器上运行。

     以下是各版本模拟器的运行截图:

 1.2SDK

2.1 SDK

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

3D游戏引擎编程part29of31

  • 2008-07-17 19:16
  • 8.58MB
  • 下载

Symbian_OS_3D游戏引擎.zip

  • 2010-06-01 17:09
  • 177KB
  • 下载

跨平台游戏引擎开发

目前移动平台开发涉及Andoird,ios,windows-phone,blackberry等多个平台,每个平台的开发接口都不同,同一款游戏要想部署到不同平台需要大量的重复劳动,严重影响开发成本,跨平...

Symbian s60 3rd 2D游戏引擎

  • 2008-09-09 16:43
  • 349KB
  • 下载

千百万Java开发者的福音:跨平台Cocos2d-Java游戏引擎诞生

跨平台Cocos2d-Java游戏引擎以及配套的CocosEditor2.0游戏开发工具终于诞生了。使用Java语言来开发Cocos2d跨平台游戏, 和-lua,-js 的风格相近API,毋庸置疑,这...

3D游戏引擎StingRay:支持实时多平台研发

欢迎来到unity学习、unity培训、unity企业培训教育专区,这里有很多U3D资源、U3D培训视频、U3D教程、U3D常见问题、U3D项目源码,【狗刨学习网】unity极致学院,致力于打造业内u...

开发H5游戏引擎的选择:Egret或Laya?

一、H5游戏开发的引擎介绍开发H5游戏的引擎有很多,比如egret、laya、cocos-js等等。这里主要是分析的是egret和laya,因为我们团队是从as3转过来的。所以天然地在有as3基因的e...

Cocos2d-x游戏引擎开发[5]---- 坐标体系

在opengl坐标体系中有两个非常重要的参数,即锚点和位置。 锚点:作为位置的参考点,锚点在设置某一个物件(如CCSprite,CCLayer)的位置时,其参照位置,数据为(0.0-1.0)之间,默...

跨平台游戏引擎WEBOS ANDROID

  • 2011-05-29 11:01
  • 17.60MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)