最近单位的游戏从Android移植到塞班S60V5的J2ME上。遇到了蛋疼的字体问题,S60V3正常也不过12~16号的字体,没想到V5居然高达21号!最初设计的界面根本容不下这么大的字,如果改界面又要打工干戈。早就考虑过字体问题,但是一个GB2312的字库就要几百K,内存占用大不谈,效率也会大打折扣。纠结了很久,找到个好工具,又想了个折中的办法:界面上固定的字用字库来绘制。试了一下,
06
2012
01
26
2011
12
关于SurfaceView主线程与UI线程的问题
好久没更新博客了,最近工作太忙了,也没什么时间自己研究技术,分享一点工作里总结的经验吧。
大家都知道做Android游戏用SurfaceView效率比较高,但是需要独立的一个线程去控制绘制以及游戏逻辑。但是UI界面的触摸、按键之类的是属于UI线程的,这里就涉及到线程同步的问题。当然,代码写得小心,异步也完全没问题,效率也比较高。只不过情况有时候很复杂,未必小心就有用。
16
2011
08
Android中混淆的一些问题
什么是混淆什么是proguard我就不解释了。Android2.3自带混淆,但是2.2以下的就要自己想办法。你可以新建一个2.3的项目,然后项目根目录里会自动建立一个“proguard.cfg”,把这个文件拷贝到你的工程目录下。
……
05
2011
08
Unity3D做2D横版游戏小demo(源码)
用Unity3D做的一个小demo,简单地实现了人物行走、跳跃,以及场景的碰撞,给需要的朋友做个参考。为什么要用U3D搞2D游戏呢?想想看,如果你希望你的游戏可以在Android、Iphone、PC甚至网页上跑,是不是要学Android、XCODE、C++、AS3?有U3D,虽然做2D游戏有点绕,但开发一次就全搞定啦。
21
2011
07
斜45度地图简介、坐标系转换以及数据碰撞
手机平台上开发斜45度地图系统的游戏,相信做惯了正面俯视的开发者刚接触总很不习惯。所谓斜45度游戏,也就是常说的2.5D游戏,用斜方向俯视的角度来增强立体感的一种技术。这种技术在PC平台上早就流行了,手机平台由于屏幕表现力的限制,大部分使用正面视角。但随着手机屏幕分辨率不断增大,斜45度视角的游戏出现得越来越多。
斜45度地图系统分Staggered、Slide、Diamond等几种,除了起始位置的区别,与正视地图系统的主要区别在于使用菱形的图块。关于什么是45度地图系统以及其原理,我不想再多说,网上有很多的资料,下面主要讲一讲坐标系的转换。
图1
07
2011
07
推荐一些手机游戏开发会用到的网站
像素图资源类(RPGmaker风格的精灵、地图图块等资源):
……
3D模型资源:
……
游戏开发技术网站,论坛:
著名的gameres,涉及技术、资源、业内咨询等。
……
一些开源框架:
LGAME,Android2D游戏框架
http://code.google.com/p/loon-simple/
……
21
2011
06
华为面试小结
没打算换工作,也没刷过简历,很奇怪突然接到华为的电话。向对方标明了对现在单位很满意,近期不考虑换工作,但仍执意让我去聊聊,想想还是去吧,很久没有面试了,不知道自己是否还在状态,正好见识一下华为。
简单说一下我的情况,现在大学刚毕业不到一年。从高一开始从事独立游戏开发,主要做电子词典平台,大学期间开始做手机平台。热爱移动平台的游戏开发,热爱java以及OOA、OOD。
技术面试了很久,问了我很多问题,还做了一些笔试,总结一下大体分为如下内容:
1.常用的设计模式
……
02
2011
06
Android游戏开发常碰到的几个问题
做Android游戏开发的时候遇到的一些问题,跟大家分享一下,少走弯路。
1.多个Activity切换会导致onCreate重复执行,所以若在onCreate里进行一些初始化操作就会引起意想不到的问题,建议加入静态标记来判断是否第一次启动。
2.如果在onCreate()中建立SurfaceView对象并setContentView(),那么不要在SurfaceView的构造函数里加载文件,这时候还没有context实例。建议把Activity做成单例,在SurfaceView的surfaceCreated方法里启动游戏线程并进行游戏初始化操作。
3.播放声音时,只有用setDataSource(path)才可以调用MediaPlayer.prepare(),通过资源文件或者url方式使用prepare()就报错。
……
11
2011
04
J2ME中3D场景漫游实现
![]() |
08
2011
04
BOX2D的选择建议
BOX2D越来越火了,基本上已经稳固了自己在游戏开发者心目中的地位。其实很早之前就在关注BOX2D了,原本在flash游戏中应用非常普遍,近两年移动平台的兴起才再IOS和Android中崭露头角。我个人觉得,愤怒的小鸟成功只是一个偶然,不信就去逛逛flash游戏网站,你会发现很多精致、有创意又耐玩的游戏。(不过Rovio对游戏事业的专注和热情是值得大家学习的)
目前我知道的Android平台使用BOX2D有三种方式,官方的JBOX2D,libgdx封装的JNI版BOX2D,还有微云SDK里的JNI版BOX2D。
…………