我认为我已经将Box2d配置为对任何身体都有某种最大速度,但我不确定.我施加了一种冲动(100000000, 100000000),身体的移动速度一样快(100, 100)- 这根本不是那么快.
我正在使用Box2d XNA C#端口.
我的游戏是自上而下的2d.
以下是一些可能相关的代码:
private readonly Vector2 GRAVITY = new Vector2(0, 0);
public void initializePhysics(ContactReporter contactReporter)
{
world = new World(GRAVITY, true);
IContactListener contactListener = contactReporter;
world.ContactListener = contactListener;
}
public void Update(GameTime gameTime)
{
// ...
worldState.PhysicsWorld.Step((float)gameTime.ElapsedGameTime.TotalSeconds, 10, 10);
//...
}
Run Code Online (Sandbox Code Playgroud)
以下是一些应用冲动的示例代码:
private void ApplyImpulseFromInput()
{
Vector2 movementImpulse = new Vector2();
if (inputReader.ControlActivation(ActionInputType.MOVE_LEFT) == 1f)
{
movementImpulse.X = -Constants.PLAYER_IMPULSE_CONSTANT;
} else if (inputReader.ControlActivation(ActionInputType.MOVE_RIGHT) == 1f)
{
movementImpulse.X = Constants.PLAYER_IMPULSE_CONSTANT; ; …Run Code Online (Sandbox Code Playgroud)