在游戏开发中难免会需要模拟现实情况,一般常见的就是模拟物理世界。
比如物体碰撞,车辆前进,物体下落等。也许有人会觉得原来有实现过一些效果没有看到用什么物理知识呢。
在我看来引入物理引擎并不是必须的,但是这样可以让游戏更逼真。物理引擎的话首选Box2d,但是它是C++写的,直接用不方便。
在Android游戏开发中使用物理引擎一般有三个比较好的选择:
Box2d的Java移植版本,速度有点慢。不过对于不熟悉C++的朋友而言这个可以拿来看看原理。
2.Havok
这个就不多说了,我怎么没有用过。
3.Libgdx
libgdx用了jni封装了box2d,速度和易用性都不错。
下面我们来看看一个示例,原来没有接触过box2d的朋友最好先找资料看看。
代码如下:
package com.cnblogs.htynkn.listener;
import com.badlogic.gdx.ApplicationListener;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.GL10;
import com.badlogic.gdx.graphics.OrthographicCamera;
import com.badlogic.gdx.math.Vector2;
import com.badlogic.gdx.physics.box2d.Body;
import com.badlogic.gdx.physics.box2d.BodyDef;
import com.badlogic.gdx.physics.box2d.Box2DDebugRenderer;
import com.badlogic.gdx.physics.box2d.CircleShape;
import com.badlogic.gdx.physics.box2d.World;
import com.badlogic.gdx.physics.box2d.BodyDef.BodyType;
publicclass DemoGame implements ApplicationListener 


…




























