Skip to content

条件判断

unity-csharp-conditional-statements-system

1. 条件判断是什么

条件判断就是让程序根据情况走不同路线。

c
if (条件)
{
    条件成立时执行;
}

重点:if 后面的条件必须能得到 bool,也就是 truefalse

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:一个值匹配多个固定情况。 ? ::根据条件选一个值。

参考链接:

文章评价

读完这篇,留下你的看法

暂无审核通过的评价。

登录账号后才能评价。

本站访客数0总站访问量0本页访问量0