復習:発射台
CoddyのUnityジャーニー「物理演算とゲームプレイ」セクションの一部。レッスン 7/71。
この振り返りでは、この章の内容をまとめます。FixedUpdate()で設定する速度、質量を考慮するインパルス、そしてキー入力を取りこぼさないようにUpdate()で読み取る方法です。
チャレンジ
簡単プレイヤーを発射台まで歩かせ、発射させましょう。
Update()で、Input.GetKeyDown(KeyCode.Space)のときにbool launchPressedを設定します。FixedUpdate()で、speedを掛けた生のHorizontal軸の値からrb.linearVelocityを設定し、yの値はそのままにします。launchPressedが設定されたら、xがpad.position.xから1未満の距離にある場合に限り、ForceMode.Impulseを使ってVector3.up * launchを加え、その後フラグをクリアします。
「プレイ」を押して、発射台に乗り、Spaceを押します。その後、「確認」を押します。
自分で試してみよう
using UnityEngine;
public class Jumper : MonoBehaviour
{
public float speed = 4f;
public float launch = 16f;
public Transform pad;
private Rigidbody rb;
void Start()
{
rb = GetComponent<Rigidbody>();
}
}
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
物理演算とゲームプレイのすべてのレッスン
自分で練習してみよう: Unityプレイグラウンド