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

 

javascript 一次开发,多平台运行

0x00. 前言 早上起床惯例刷刷微博,突然看到 React Native 宣布支持 Android 的消息,一时感觉 Facebook 太给力了,不仅没有推迟发布 React Native...
  • ejinxian
  • ejinxian
  • 2015年09月20日 13:46
  • 996

Unity3D手游开发日记(1) - 移动平台实时阴影方案

http://m.blog.csdn.net/article/details?id=50357973 阴影这个东西,说来就话长了,很多年前人们就开始研究出各种阴影技术,但都存在各种瑕疵和问题...
  • OnafioO
  • OnafioO
  • 2017年01月01日 15:25
  • 719

网易java开发实习日记

2014.05.14 第一天入职,感觉很棒!呗
  • u014054428
  • u014054428
  • 2014年05月15日 22:03
  • 1780

08年用Python写的一个塞班S60V3上免费发短信的小程序

#-*-coding:utf-8-*- import appuifw2 as appuifw import e32 import urllib import key_codes import uitr...
  • cumtzly
  • cumtzly
  • 2014年11月20日 09:53
  • 2350

java实习日记三

今天,我完成了对于图片的显示功能。我通过上网查找如何让图片在java上显示出来。写入一段代码在原代码上实现了图片的显示。今天也只能做到这里。明天继续去完成猜猜看的名字配对部分  import ...
  • u013993272
  • u013993272
  • 2015年07月01日 11:39
  • 966

【蓝桥杯】【高斯日记】

高斯日记  大数学家高斯有个好习惯:无论如何都要记日记。 他的日记有个与众不同的地方,他从不注明年月日,而是用一个整数代替,比如:4210 后来人们知道,那个整数就是日期,它表示那一天是高斯出生后的第...
  • bear_huangzhen
  • bear_huangzhen
  • 2015年12月29日 10:32
  • 1057

前端开发体系建设日记

前端开发体系建设日记 · Issue #2 · fouber/blog https://github.com/fouber/blog/issues/2
  • ulalau
  • ulalau
  • 2014年06月12日 11:24
  • 810

大三前端实习日志

大三暑期选择实习:工作内容:前端web实习 实习地点:武汉光谷 公司规模:创业型公司,前端开发人数为9人,实习生5名1.实习内容总结:1.前端html+css页面结构培训实习内容:为完成UI设计稿...
  • qq1301709072
  • qq1301709072
  • 2016年08月17日 11:46
  • 2041

深入浅出 - Android系统移植与平台开发(一)

写在前面的  这是我最近两年的Android开发的经验总结,断断续续的写了几个月了,欢迎大家砖头,有不对的地方,或需要改进的地方,请指出来,先贴出来目录来看看。第一章、     概述... 51.1 ...
  • mr_raptor
  • mr_raptor
  • 2013年05月17日 16:25
  • 15892

Android之第三方平台实现多平台分享操作

开发中常常遇到分享操作,当用到多种分享时,如:QQ,微信,微博,短信等,可以借助第三方平台来完成,此博客主要借助mob平台来完成相关操作,当然也可以借助其他平台,如友盟等。 先来看看效果图:     ...
  • DickyQie
  • DickyQie
  • 2017年03月28日 09:01
  • 669
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Symbian多平台游戏引擎开发日记 2006-5-29
举报原因:
原因补充:

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