Appearance
条件判断
1. 条件判断是什么
条件判断就是让程序根据情况走不同路线。
c
if (条件)
{
条件成立时执行;
}重点:if 后面的条件必须能得到 bool,也就是 true 或 false。
c
int hp = 0;
if (hp <= 0)
{
Debug.Log("玩家死亡");
}这里 hp <= 0 的结果是 true,所以会执行花括号里的代码。
2. if
只判断一种情况。
c
if (Input.GetKeyDown(KeyCode.Space))
{
Jump();
}意思是:如果玩家按下空格键,就跳跃。
3. if / else
二选一。
c
if (coins >= price)
{
BuyItem();
}
else
{
Debug.Log("金币不足");
}意思是:金币够就买,不够就提示。
4. else if
多种情况按顺序判断。
c
if (hp <= 0)
{
Debug.Log("死亡");
}
else if (hp <= 30)
{
Debug.Log("危险");
}
else
{
Debug.Log("安全");
}注意顺序很重要。hp <= 0 要放在 hp <= 30 前面,否则死亡也会先被判断成危险。
5. switch
适合一个变量对应多个固定情况。
c
switch (gameState)
{
case GameState.Menu:
ShowMenu();
break;
case GameState.Playing:
UpdateGame();
break;
case GameState.GameOver:
ShowGameOver();
break;
}适合判断:
- 游戏状态
- 武器类型
- 敌人类型
- 道具类型
- 角色职业
6. 三目运算符
适合简单地根据条件选一个值。
c
string result = isWin ? "胜利" : "失败";读法:如果 isWin 是 true,就用 "胜利",否则用 "失败"。
7. Unity 里最常见的条件判断
c
if (isGrounded && !isDead)
{
Jump();
}意思是:玩家在地面上,并且没有死亡,才允许跳跃。
c
if (target != null)
{
Follow(target);
}意思是:目标不为空,才去跟随,避免空引用报错。
新手口诀
if:如果成立就执行。 else:否则执行。 else if:否则再判断另一个条件。 switch:一个值匹配多个固定情况。 ? ::根据条件选一个值。
参考链接: