比较数字
本课属于 Coddy Unity 学习旅程的“Unity 脚本基础”单元。第 7 课,共 85 课。
大多数条件都会比较两个值,每次比较都会得到一个 bool:
a == b:a 等于 b。两个等号:一个=会把值赋给变量。a != b:a 不等于 ba < b和a > b:小于、大于a <= b和a >= b:小于或等于、大于或等于
如果要同时询问两件事,可以把它们连接起来:&& 表示“并且”(两者都必须为 true),|| 表示“或者”(满足一个就够了)。
if (coins >= 10 && level == 3)
{
Debug.Log("The shop is open");
}Input.GetKeyDown(KeyCode.E) 也是一个 bool,但与 GetKey 不同,它只会在按键按下的那一帧为 true,因此无论按键按住多久,一次按下都只计数一次。
挑战
简单当玩家拥有至少 3 把钥匙并按下 E 时,门应该打开。
- 在
Update()中 K 代码块的下方,不要写在代码块内部,写入if (keys >= 3 && Input.GetKeyDown(KeyCode.E))。 - 在它的大括号内,写入
transform.position = new Vector3(0, 4.5f, 3);。
按下 运行,按 K 三次,然后按 E:门会向上滑动。然后点击 检查。
亲手试试
using UnityEngine;
public class KeyDoor : MonoBehaviour
{
int keys = 0;
void Update()
{
if (Input.GetKeyDown(KeyCode.K))
{
keys++;
Debug.Log("Keys: " + keys);
}
// 有 3 把或更多钥匙时,按 E 键打开门:
// 将门移到 (0, 4.5f, 3)。
}
}
Unity 脚本基础中的所有课
自己练习: Unity 在线编辑器