Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ プレイヤーの移動 | プレイヤー挙動
Unityでの格闘ゲーム

bookプレイヤーの移動

メニューを表示するにはスワイプしてください

FixedUpdate と Update

Update()

Update() メソッドはフレームごとに一度呼び出され、プレイヤー入力やユーザーインタラクションなどの通常の更新処理を担当。実行頻度はフレームレートによって異なり、デバイス間で動作に不一致が生じる可能性がある。

FixedUpdate()

FixedUpdate() メソッドは一定間隔で呼び出され、物理演算に関する更新処理に最適。力や衝突、移動の処理を安定かつ予測可能に行うことができる。

Update() はユーザー入力の確認やアニメーションの更新など、物理演算を伴わない定期的な更新処理に使用。FixedUpdate()Rigidbody を使ったオブジェクトの移動や 衝突処理 など、物理演算に関わる更新処理に使用し、より滑らかで信頼性の高い挙動を実現。

移動コード

if (x != 0)
{
    Vector2 velocity = rb.velocity;
    if ((animator.GetCurrentAnimatorClipInfo(0))[0].clip.name != "attack")
    {
        velocity.x = x * Time.deltaTime * speed;
    }
    else
    {
        velocity.x = 0;
    }
    rb.velocity = velocity;
}

このコードスニペットは、ゲームキャラクターの移動を制御するための各種チェックと代入処理を含む。まず、水平方向の移動変数 x がゼロでないかを確認し、Rigidbody コンポーネントの現在の速度を格納する Vector2 変数を作成。さらに、現在のアニメーションが「attack」でないかを判定し、キャラクターが攻撃状態でない場合は入力値・経過時間・速度に基づいて水平方向の速度を設定。攻撃中であれば水平方向の移動を停止。最後に、Rigidbody の速度を新しい値で更新。

question mark

物理計算や更新処理を扱う際に一般的に使用されるメソッドはどれですか?

正しい答えを選んでください

すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 2.  1

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

セクション 2.  1
some-alt