使用 Unity Events 的 Unity3d 中的更新函数不会保留变量更改

问题描述 投票:0回答:1

我正在使用 Invoke Unity Events 来检测用户是否按下或按住按钮。我可以看到函数触发,并且我将

respawnHeld
设置为 true。然而 Update 总是将其记录为 false。我在这里完全不知所措....我看不出有什么可能将
respawnHeld
设置回false.

    private bool respawnHeld;

    // Update is called once per frame
    void Update()
    {
        Debug.Log($"In Update Function RespawnHeld is {respawnHeld}");
    }

    public void RespawnInput(InputAction.CallbackContext callbackContext)
    {
        Debug.Log("SETTING RESPAWN HELD TO TRUE");
        respawnHeld = true;
        Debug.Log($"In RespawnInput Function RespawnHeld is {respawnHeld}");
    }

按下我的键“R”后。我希望看到日志显示“In Update Function RespawnHeld is True”。但是我得到的日志如下:

任何帮助将不胜感激!

unity3d
1个回答
0
投票

不幸的是,我不能肯定地说是什么解决了这个问题。但在我的例子中,Respawn Input 的调用者是一个 Unity Event(来自输入系统)。我从我的游戏对象中删除了脚本,然后重新配置了我的所有事件,现在它可以运行了。

© www.soinside.com 2019 - 2024. All rights reserved.