Unity的C#編程教程_29_switch語句挑戰1
- 2020 年 8 月 15 日
- AI
- C/C++/C#
- 進行 3 裝狀態切換:攻擊,防禦,站立
- 分別對應按下按鍵:A,D,S
- 將程式從 if else 轉化為 switch
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class StanceChange : MonoBehaviour
{
public int state;
public string show; // 用於在 unity 中可見效果
// Start is called before the first frame update
void Start()
{
state = 0; // 默認狀態為站立
}
// Update is called once per frame
void Update()
{
// 切換狀態
if (Input.GetKeyDown(KeyCode.A))
{
state = 1;
}
else if (Input.GetKeyDown(KeyCode.D))
{
state = 2;
}
else if (Input.GetKeyDown(KeyCode.S))
{
state = 0;
}
// 顯示狀態
if (state == 1)
{
show = "Atack";
}
else if (state == 2)
{
show = "Defence";
}
else
{
show = "Stand";
}
}
}
- 注意,這裡狀態切換部分程式碼是沒有辦法用 switch 語句的
- switch 僅適用於狀態顯示部分程式碼
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class StanceChange : MonoBehaviour
{
public int state;
public string show; // 用於在 unity 中可見效果
// Start is called before the first frame update
void Start()
{
state = 0; // 默認狀態為站立
}
// Update is called once per frame
void Update()
{
// 切換狀態
if (Input.GetKeyDown(KeyCode.A))
{
state = 1;
}
else if (Input.GetKeyDown(KeyCode.D))
{
state = 2;
}
else if (Input.GetKeyDown(KeyCode.S))
{
state = 0;
}
// 顯示狀態
/*
if (state == 1)
{
show = "Atack";
}
else if (state == 2)
{
show = "Defence";
}
else
{
show = "Stand";
}
*/
switch (state)
{
case 1:
show = "Atack";
break;
case 2:
show = "Defence";
break;
default:
show = "Stand";
break;
}
}
}