Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Linux上的Unity鼠标输入不适用于编辑器中的新输入系统_C#_Linux_Unity3d_Input_User Input - Fatal编程技术网

C# Linux上的Unity鼠标输入不适用于编辑器中的新输入系统

C# Linux上的Unity鼠标输入不适用于编辑器中的新输入系统,c#,linux,unity3d,input,user-input,C#,Linux,Unity3d,Input,User Input,当我在C#脚本中锁定鼠标并尝试访问滚动值(在我的例子中是Scroll.y)时,我总是得到0。 当我按下esc并解锁鼠标时,当我使用方向盘时,该值正确显示(-1或1)。如果我制作游戏,它也可以工作 我已创建InputData来管理我的输入: using UnityEngine; using UnityEngine.InputSystem; [CreateAssetMenu] public class InputData : ScriptableObject { public Input

当我在C#脚本中锁定鼠标并尝试访问滚动值(在我的例子中是
Scroll.y
)时,我总是得到0。 当我按下
esc
并解锁鼠标时,当我使用方向盘时,该值正确显示(-1或1)。如果我制作游戏,它也可以工作

我已创建InputData来管理我的输入:

using UnityEngine;
using UnityEngine.InputSystem;

[CreateAssetMenu]
public class InputData : ScriptableObject
{

    public InputAction MovementAction;
    public InputAction LookAction;
    public InputAction ScrollAction;

    private void OnEnable()
    {
        MovementAction.Enable();
        LookAction.Enable();
        ScrollAction.Enable();
    }

    private void OnDisable()
    {
        MovementAction.Disable();
        LookAction.Disable();
        ScrollAction.Disable();
    }
}
在这个脚本中,我得到了滚动增量:

using UnityEngine;

public class weaponSwitching : MonoBehaviour
{

    private int selectedWeapon = 0;

    public InputData actions;

    private float prevVal = 0;

    void Start()
    {
        SelectWeapon();
    }

    void Update()
    {
        Vector2 scroll = actions.ScrollAction.ReadValue<Vector2>();
        Debug.Log(scroll.y);
        if (scroll.y > 0f)
        {
            selectedWeapon++;
            SelectWeapon();
        }
        else if (scroll.y < 0f)
        {

        }
    }
使用UnityEngine;
公共级武器交换:单一行为
{
私人int SELECTED武器=0;
公共输入数据行动;
私有浮动prevVal=0;
void Start()
{
选择武器();
}
无效更新()
{
Vector2 scroll=actions.ScrollAction.ReadValue();
Debug.Log(scroll.y);
如果(滚动.y>0f)
{
选择武器++;
选择武器();
}
否则如果(滚动y<0f)
{
}
}

谢谢您的帮助!:)

请向我们展示您的代码-不是全部,只是问题的一个小副本(即a)。我添加了一些代码。请向我们展示您的代码-不是全部,只是问题的一个小副本(即a)。我添加了一些代码