14
2012
02

联网疯狂坦克的源码

...
14
2012
02

Android运用BOX2D的demo源码

...
12
2012
01

JBOX2D与LibgdxBOX2D效率对比

      程序很简单,创建一个BOX2D物理环境,添加一块地板,点击屏幕任意位置生成20x20的小方块。小方块由重力影响自由下落,小方块之间以及与地板之间都会有弹力作用。

      所有的参数都设置为一样(比如时间步、迭代数、重力常量、方块密度、摩擦力等),分别测试了JBOX2D与Libgdx封装的BOX2D在Android上可行性。测试硬件为HTC G7(1GHZ单核 512 RAM)。

 

jbox2dtestJBOX2D,纯JAVA封装的。图中的情况为27FPS,实际FPS很不稳定,同时十个左右方块进入活动状态应该能保持流畅,再多就会出现拖慢。基本上用它做愤怒的小鸟之类的游戏会比较困难。

 

libgdxbox2dtestlibgdx里封装的BOX2D,这个是基于JNI的,效率提升很多。图中FPS为66。实测FPS很稳定,同时几十个方块在运动也没有出现明显拖慢,FPS非常稳定,效率比JBOX2D高出很多个级别。

 

      如果你不知道BOX2D是什么,那我告诉你是一个2D游戏物理引擎,其余的请百度一下。如果你不了解JBOX2D以及Libgdx的BOX2D有什么区别,可以参考我另一篇博文“BOX2D选择的建议”。

      以前承诺写一个简单的BOX2D例子作为教程,过几天有空了就以图中这个例子简单介绍一下。感谢支持!转载注明出处哟!

26
2011
12

关于SurfaceView主线程与UI线程的问题

        好久没更新博客了,最近工作太忙了,也没什么时间自己研究技术,分享一点工作里总结的经验吧。

       大家都知道做Android游戏用SurfaceView效率比较高,但是需要独立的一个线程去控制绘制以及游戏逻辑。但是UI界面的触摸、按键之类的是属于UI线程的,这里就涉及到线程同步的问题。当然,代码写得小心,异步也完全没问题,效率也比较高。只不过情况有时候很复杂,未必小心就有用。

16
2011
08

Android中混淆的一些问题

什么是混淆什么是proguard我就不解释了。Android2.3自带混淆,但是2.2以下的就要自己想办法。你可以新建一个2.3的项目,然后项目根目录里会自动建立一个“proguard.cfg”,把这个文件拷贝到你的工程目录下。

……

 

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()就报错。

……

08
2011
04

BOX2D的选择建议

     BOX2D越来越火了,基本上已经稳固了自己在游戏开发者心目中的地位。其实很早之前就在关注BOX2D了,原本在flash游戏中应用非常普遍,近两年移动平台的兴起才再IOS和Android中崭露头角。我个人觉得,愤怒的小鸟成功只是一个偶然,不信就去逛逛flash游戏网站,你会发现很多精致、有创意又耐玩的游戏。(不过Rovio对游戏事业的专注和热情是值得大家学习的)

     目前我知道的Android平台使用BOX2D有三种方式,官方的JBOX2D,libgdx封装的JNI版BOX2D,还有微云SDK里的JNI版BOX2D。

      …………

08
2011
04

BOX2D的选择建议

     BOX2D越来越火了,基本上已经稳固了自己在游戏开发者心目中的地位。其实很早之前就在关注BOX2D了,原本在flash游戏中应用非常普遍,近两年移动平台的兴起才再IOS和Android中崭露头角。我个人觉得,愤怒的小鸟成功只是一个偶然,不信就去逛逛flash游戏网站,你会发现很多精致、有创意又耐玩的游戏。(不过Rovio对游戏事业的专注和热情是值得大家学习的)

目前我知道的Android平台使用BOX2D有三种方式,官方的JBOX2D,libgdx封装的JNI版BOX2D,还有微云SDK里的JNI版BOX2D。

30
2011
01

Android中正确自适应屏幕翻转

 

      大家都知道,很多Android手机带有重力感应传感器,能够对手机的翻转做出响应。比如应用在屏幕的自动翻转、重力感应游戏等方面。

...