... |
14
2012
02
14
2012
02
12
2012
01
JBOX2D与LibgdxBOX2D效率对比
程序很简单,创建一个BOX2D物理环境,添加一块地板,点击屏幕任意位置生成20x20的小方块。小方块由重力影响自由下落,小方块之间以及与地板之间都会有弹力作用。
所有的参数都设置为一样(比如时间步、迭代数、重力常量、方块密度、摩擦力等),分别测试了JBOX2D与Libgdx封装的BOX2D在Android上可行性。测试硬件为HTC G7(1GHZ单核 512 RAM)。
如果你不知道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中正确自适应屏幕翻转
...