Menu
CoddyTech

数値を比較する

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

ほとんどの条件は2つの値を比較し、比較の結果はすべて bool になります。

  • a == b:a は b と等しい。等号を2つ使います。=を1つだけ使うと、値を変数に代入します。
  • a != b:a は b と等しくない
  • a < b と a > b:より小さい、より大きい
  • a <= b と a >= b:以下、以上

2つのことを同時に確認するには、それらをつなげます。&&は「かつ」(両方が true である必要があります)、||は「または」(どちらか一方で十分です)を意味します。

if (coins >= 10 && level == 3)
{
    Debug.Log("The shop is open");
}

Input.GetKeyDown(KeyCode.E)も bool ですが、GetKeyとは異なり、キーを押し下げた1フレームだけ true になります。そのため、キーを押し続けても、1回の押下は1回だけカウントされます。

challenge icon

チャレンジ

簡単

プレイヤーが3個以上の鍵を持っていて、Eを押すとドアが開くはずです。

  1. Update()内のKブロックの下に、ただしその中ではなく、if (keys >= 3 && Input.GetKeyDown(KeyCode.E))と書きます。
  2. その波括弧の中に、transform.position = new Vector3(0, 4.5f, 3);と書きます。

「プレイ」を押し、Kを3回押してからEを押します。ドアが上にスライドします。その後、「確認」を押します。

自分で試してみよう

using UnityEngine;

public class KeyDoor : MonoBehaviour
{
    int keys = 0;

    void Update()
    {
        if (Input.GetKeyDown(KeyCode.K))
        {
            keys++;
            Debug.Log("Keys: " + keys);
        }

        // keys が 3 個以上あり、E を押したらドアを開く:
        // ドアを (0, 4.5f, 3) に移動する。
    }
}

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

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