コード例 #1
0
    private void BeforeReceiveInput()
    {
        // 每帧开始时清除输入
        _inputMapper.ClearLastFrameInput();
        _firedKeyThisFrame.Clear();

        // 该帧内按下的键
        _keyCache.Clear();
        foreach (KeyCode key in _holdedKeyThisFrame.Keys)
        {
            _keyCache.Add(key);
        }

        // 累计按下时间
        for (int i = 0; i < _keyCache.Count; i++)
        {
            _holdedKeyThisFrame[_keyCache[i]] += Time.deltaTime;
        }
    }