【问题标题】:Unity Input Manager Stopped Recognizing XBox One Trigger InputUnity 输入管理器停止识别 Xbox One 触发器输入
【发布时间】:2023-04-08 02:01:01
【问题描述】:

我的 2D 游戏的设置类似于双杆射击游戏,但需要按下 XBox 控制器上的触发器才能开火。在过去的几天里,触发器输入工作正常,但今天在设置敌人后,触发器输入不再被识别。从未输入过触发输入控件的 IF 语句,而且奇怪的是,射击是由未在输入管理器中设置的右 d-pad 激活的。我在 Mac 上使用 c#。如果您有任何想法,请提供帮助。

输入管理器设置图片:Trigger Input Settings

C#消防控制代码

 if ((Input.GetAxis("FireTrigger") > 0) && Time.time > nextFire) 
        {
            Debug.Log(Input.GetAxis("FireTrigger"));

            nextFire = Time.time + fireRate;
            GameObject bullet = Instantiate(bullet1, firepoint.transform.position, firepoint.transform.rotation);

        }

【问题讨论】:

    标签: c# unity3d controller


    【解决方案1】:

    您的控制器设置为使用 xbox 360 控制器而不是 xbox 1 的输入。调整输入轴

    https://answers.unity.com/storage/attachments/116267-xbox-one-controller-map-for-unity3d.jpg

    尝试保持代码中的所有内容以及设置方式相同,但不要使用第 6 轴,而是尝试第 4(左控制器)或第 5(右)控制器轴

    【讨论】:

    • 你说得对,我使用的轴不是扳机的,而是方向键的。尝试每隔一个轴,仍然无法识别触发器。当我将轴信息打印到控制台时,它显示“未知 Xbox One 控制器”,而不是提供任何轴信息。有任何想法吗?会不会是驱动问题?
    猜你喜欢
    • 2018-12-10
    • 2016-10-02
    • 2015-03-19
    • 1970-01-01
    • 1970-01-01
    • 2020-06-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多