投稿者 tel | 2014年7月31日

キーを押した長さでジャンプ力を変える

アクションゲームでよくあるキーを押した長さでジャンプ力が変わるようなのを作ってみる。

キーが押されている間、カウントアップしてキーが離されたらカウントに応じたジャンプ力でジャンプする。

// プレイヤー
function Player() {
    this.x = 128;
    this.y = 0;
    this.vx = 0;
    this.vy = 0;
    this.ground = false;
}
var player = new Player();
var jumpPower = 0;

function jump0() {
    if(keyState[32]) {
        // スペースキーが押されている間カウント
        jumpPower++;
    }

    if(keyUps[32]) {
        if(jumpPower > 16) jumpPower = 16;
        if(player.ground) {
            // ジャンプする
            player.vy = -jumpPower * 2;
            player.ground = false;
        }

        jumpPower = 0;
    }
}

http://jsdo.it/sapphire_al2o3/2pRE

実際作ってみるとキーが離された時にジャンプ開始すると、若干遅れるので操作性が悪く感じる。


コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

カテゴリー

%d人のブロガーが「いいね」をつけました。