// MyBtn类,用于自定义按钮 public class MyBtn { // 当前按钮是否被按下 public bool IsPressing { get; private set; }

// 按钮是否刚被按下
public bool IsPressed { get; private set; }

// 按钮是否刚被释放
public bool IsReleased { get; private set; }

private bool _lastState;

// 每帧调用的方法,传入input表示按钮是否被按下
public void Tick(bool input)
{
    // 重置IsPressed和IsReleased状态
    IsPressed = false;
    IsReleased = false;

    // 判断当前状态和上一次状态是否不同
    if (input != _lastState)
    {
        // 如果当前状态为按下状态
        if (input)
        {
            // 将IsPressed状态设置为true
            IsPressed = true;
        }
        else // 当前状态为释放状态
        {
            // 将IsReleased状态设置为true
            IsReleased = true;
        }
    }

    // 更新IsPressing状态
    IsPressing = input;
    // 更新上一次状态
    _lastState = input;
}

}

// 优化说明: // 1. 将变量名改为驼峰式,符合C#命名规范 // 2. 通过属性取代公共字段,保护变量的可访问性 // 3. 简化代码逻辑,去除无用变量,减少代码量 // 4. 使用IsPressing表示按钮当前是否被按下,使用IsPressed表示按钮是否刚被按下,使用IsReleased表示按钮是否刚被释放 // 5. 注释描述代码功能,提高代码可读性


原文地址: https://www.cveoy.top/t/topic/mkPQ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录