0

私はJava/Slick2Dで2Dプラットフォーマーゲームを開発しています。

これまで、私のキャラクターはフレームごとに一定量のピクセルを移動していました。アドバイスのように、「デルタ」変数(フレーム間の時間)を使用するように切り替えようとしましたが、キャラクターの動きがひどくぎくしゃくしているようです。

キャラクターの動きをスムーズにするために何ができますか?

    private static final float DEFAULT_SPEED = 0.15f;

    Vector2f trans = new Vector2f();
    Input i = gc.getInput();
    boolean run = false;

    // X-Axis Movement
    if (i.isKeyDown(Input.KEY_D)){
        trans.x += DEFAULT_SPEED * delta;
        lastMoveDirection = Direction.RIGHT;
    }
    if (i.isKeyDown(Input.KEY_A)){
        trans.x -= DEFAULT_SPEED * delta;
        lastMoveDirection = Direction.LEFT;
    }
    if (i.isKeyDown(Input.KEY_LSHIFT)){
        trans.x *= RUN_SPEED_MULTIPLIER;
        run = true;
    }
4

1 に答える 1

1

デルタをどのように定義していますか? フレームの描画にかかった時間 / 1 秒あたりの移動距離などです。

于 2013-02-26T17:54:23.797 に答える