我有一个动态的身体。点击屏幕我尝试通过对身体应用LinearImpulse
来跳跃身体,但是在执行后它没有生效。没什么变化
这是我的点击屏幕方法:
@Override
public boolean onSceneTouchEvent(Scene pScene, TouchEvent pSceneTouchEvent) {
if (pSceneTouchEvent.isActionDown()){
Debug.d("jump test");
int index = mPlayer.getCurrentTileIndex()-1;
mPlayer.setCurrentTileIndex(Math.abs(index));
//mPlayerBody.applyForce(new Vector2(10, -10), mPlayerBody.getWorldCenter());
mPlayerBody.applyLinearImpulse(99990, -999999, mPlayerBody.getPosition().x,
mPlayerBody.getPosition().y);
//mPlayerBody.applyLinearImpulse(10, 10, mPlayerBody.getPosition().x, mPlayerBody.getPosition().y);
}
return false;
}
这就是我为身体创造物理的方法:
final FixtureDef PLAYER_FIX = PhysicsFactory.createFixtureDef(0,
0, 1, false);
mPlayerBody = PhysicsFactory.createBoxBody(physicsWorld, mPlayer,
BodyType.DynamicBody, PLAYER_FIX);
mScene.attachChild(mPlayer);
physicsWorld.registerPhysicsConnector(new PhysicsConnector(mPlayer,
mPlayerBody, true, false));
在创建场景我使用:
physicsWorld = new PhysicsWorld(new Vector2( 0, SensorManager.GRAVITY_EARTH), false);
什么错了?为什么线性冲动不适用?我也尝试使用apply LinearVelocity
,但这也没有效果。
请注意:抱歉我的英文
答案 0 :(得分:0)
PhysicsFactory.createFixtureDef(平面密度,浮动弹性,浮动摩擦力) 如果密度= 0,则身体的质量为0.