一. 实现功能:
应用Andengine引擎+Box2D物理引擎,实现“前轮驱动”赛车.
二. 相关代码:
1. 在游戏场景中创建物理世界:
FixedStepPhysicsWorld mPhysicsWorld = new FixedStepPhysicsWorld(60, new Vector2(0f, 0f), false, 8, 3); //创建物理世界,将重力设置为0
registerUpdateHandler(mPhysicsWorld); //在当前场景中注册该物理世界
2. 创建汽车主体部分:
public static final FixtureDef CAR_DEF = PhysicsFactory.createFixtureDef(1f, 1f, 1f, false);
Sprite CarShape=new Sprite(); //创建汽车主体精灵
GameScene.attach(CarShape); //将精灵附加到场景中
Body carBody = PhysicsFactory.createBoxBody(Registry.sGameScene.mPhysicsWorld,CarShape,BodyDef.BodyType.DynamicBody,Registry.sGameScene.CAR_DEF); //根据汽车主体精灵创建Body
carBody.setLinearDamping(1); //设置线性方向上的阻尼
carBody.setAngularDamping(1); //设置转动阻尼
mPhysicsWorld.registerPhysicsConnector(new PhysicsConnector(CarShape, carBody, true, true)); //将Sprite和Body进行连接
3. 创建四个轮胎:
public static final FixtureDef WHEEL_DEF = PhysicsFactor