Menu
CoddyTech

旗を掲げる

CoddyのUnityジャーニー「Unityスクリプトの基礎」セクションの一部。レッスン 32/85。

localPositionはpositionと同じように、毎フレーム読み取ったり変更したりできます。親を登る子オブジェクト、たとえば塔を登る小屋やマストを登る旗は、localPositionに沿って移動し、自身のローカルな高さを頂上と比較するため、親がどこにあっても機能します。

if (transform.localPosition.y < 10)
{
    transform.localPosition += new Vector3(0, 2 * Time.deltaTime, 0);
}

代わりにposition.yと比較すると、親の位置が高くなったり低くなったりするたびに、頂上の位置も変わってしまいます。

challenge icon

チャレンジ

中級

上矢印キーで旗をマストの上まで上げます。

  1. Update()内に、if (Input.GetKey(KeyCode.UpArrow) && transform.localPosition.y < 4)と記述します。
  2. その中で、new Vector3(0, climb * Time.deltaTime, 0)をtransform.localPositionに加えます。

「プレイ」を押して上矢印キーを押し続けます。旗がマストの頂上まで上がり、止まります。その後、「確認」を押します。

自分で試してみよう

using UnityEngine;

public class Hoist : MonoBehaviour
{
    public float climb = 1f;

    void Start()
    {
        transform.localPosition = new Vector3(0.6f, 1, 0);
    }

    void Update()
    {
        // 上矢印キーを押している間、Shipからの高さが4になるまで上昇する
    }
}

Unityスクリプトの基礎のすべてのレッスン

自分で練習してみよう: Unityプレイグラウンド