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;
}
}
}