Box2D的三种Body类型

1.BodyType.StaticBody

2.BodyType.DynamicBody

3.BodyType.KinematicBody

第一种静态body不会运动,不会与其他body发生碰撞,不受重力影响

第二种动态body会运动,会与其他body发生碰撞,碰撞后会有相应的反应,会受重力影响

第三种运动学body会运动,不会与其他body发生碰撞,不受重力影响

例如:DynamicBody与其他body比如StaticBody(墙之类的)发生碰撞,DynamicBody可能会反弹,运动方向发生改变之类的,

KinematicBody给她一个速度她会运动起来,但是当运动经过其他body的时候他不会发生和DynamicBody一样的作用,而是穿过它

FixtureDef BoxBodyFixtureDef =PhysicsFactory.createFixtureDef(20f, 0f, 0.5f);            
        final Rectangle kinematicRectangle = new Rectangle(600f, 100f,40f, 40f, this.getVertexBufferObjectManager());
        kinematicRectangle.setColor(0.8f, 0.8f, 0f);
        mScene.attachChild(kinematicRectangle);
        final Body kinematicBody = PhysicsFactory.createBoxBody(mPhysicsWorld,kinematicRectangle, BodyType.KinematicBody, BoxBodyFixtureDef);
        mPhysicsWorld.registerPhysicsConnector(new PhysicsConnector(kinematicRectangle, kinematicBody));
        kinematicBody.setLinearVelocity(2, 0);
        kinematicBody.setAngularVelocity(0.6f);
原文地址:https://www.cnblogs.com/xushihai/p/4208680.html