影创SDK☀️七、讲讲获取SDK按键事件的几种方式

发布于:2022-12-24 ⋅ 阅读:(157) ⋅ 点赞:(0)

在这里插入图片描述


🟥 物体响应交互事件

描述:

有时,我们会需要规定某物体,当射线进入、移出,
或是点击时,进行某些动作。

那该条交互方式适合你。

1、配置要交互的物体
给要交互的物体挂载Collider

2、配置合适的脚本
给该物体赋值如下内容的脚本,书写你的代码即可:

  • 引用 SC.XR.Unity.Module_InputSystem
  • 继承 IPointerHandler 接口

接下来,你便可以在实现接口的方法里,写你想要的代码了。
该方法支持的事件有:

  • 进入
  • 移出
  • 按下
  • 点击
  • 抬起
  • 拖拽



🟧 注册监听按键事件

描述:

有时,我们会要检测某些按键按下,或抬起的动作。并想做成注册事件的形式。当某按键发生想要的交互时,调用自己的方法。

那该条交互方式适合你。

注册按键事件代码:

    private void Start()
    {
        //这儿举例 按键抬起 事件
        DispatcherBase.KeyUpDelegateRegister((t1, t2) =>
        {
            //当Trigger键抬起,且是左手柄时,调用 MyMethod() 
            if (t1 == InputKeyCode.Trigger && t2.PartType == InputDevicePartType.KSLeft)
            {
                MyMethod();
            }
        });
    }

    void MyMethod()
    {
    }



🟨 判断按键状态

描述:

有时,我们会在某一刻,检测某按键的状态是如何,得到状态值。
那该条交互方式适合你。

交互方式举例:

private void Update()
{
	//得到当前头部设备Enter键是否按下
	bool value = API_GSXR_Module_InputSystem_Head.GSXR_Is_HeadKeyDown(InputKeyCode.Enter);
	
	//得到头部按钮的状态
	InputKeyState keyState = API_GSXR_Module_InputSystem_Head.GSXR_HeadKeyState(InputKeyCode.Enter);
}

除了头部设备,还有手柄设备等等输入设备。
不同设备的API不同,且所在的脚本不同。
老弟们可到对应的GSXR脚本去寻找 👇

在这里插入图片描述





大家还有什么问题,欢迎在下方留言!


在这里插入图片描述
如果你有 技术的问题 项目开发

都可以加下方联系方式

和我聊一聊你的故事🧡


网站公告

今日签到

点亮在社区的每一天
去签到