在 Unity 中让同一个按钮实现开和关两种不同状态的切换,核心原理是通过一个变量来记录当前的状态,在按钮的点击事件响应函数中根据这个状态变量执行不同的操作,同时更新状态变量的值。以下从不同方面详细介绍实现原理和示例:
状态变量的使用
使用一个布尔(bool)类型的变量作为状态标志,它可以取两个值,true 代表开启状态,false 代表关闭状态。在按钮点击时,通过检查这个变量的值来决定执行开启操作还是关闭操作,然后将变量的值取反,为下一次点击做准备。
代码如下:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ButtonCll : MonoBehaviour {
private int countint = 0;
public GameObject Seting;
private bool count = true;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
// *******************************************第一种方法******************************************
//每次点击来判断它的奇偶性
if (Input .GetKeyUp (KeyCode.KeypadEnter))
{
countint++;
if (countint %2==0)
{
Seting.SetActive(false);
}
else
{
Seting.SetActive(true);
}
}
// *******************************************第二种方法******************************************
if (Input .GetKeyDown (KeyCode .KeypadEnter ))
{
count = !count;
if (count)
{
Seting.SetActive(false);
}
else
{
Seting.SetActive(true);
}
}
}
}
这样就可以实现了