一、手柄按键及轴向

1)按键

  • Unity引擎的KeyCode中已经包含了手柄按键的枚举。
  • 按键从0到19,JoystickButton0和Joystick1Button0都表示0键,只是两个手柄而已。
  • 通过Input.GetKeyDown(KeyCode.JoystickButton0)可以验证对应的按键值。

2)轴向

  • 3rd axis triggers控制着LT和RT;主摇杆是X axis和Y axis,即Horizontal和Vertical;副摇杆是5th axis和4th axis;十字键是6th axis和7th axis。
  • 轴向需要在Edit->Project Settings->Input里面自行设定。

二、手柄管理类

通过步骤一,我们得知了手柄的按键及轴向的设置及调用,接下来我们需要整合一个管理类。

1)通过十字键(上下左右移动)控制聚焦UI物体的选中态切换
float x = Input.GetAxis(“对应十字键6th axis的名字”);
float y = Input.GetAxis(“对应十字键5th axis的名字”);

通过x和y值绑定四个方向的函数SetAxisDir(AxisDir dir);方向函数存储在list容器中,使用计时器在Update中执行对应方向的委托事件(可以自定义执行间隔时间)。

ps:当本场景被注销时,需要调用CancelAllDirEvents,不然会有上个场景的事件执行时找不到对象的错误(管理类常驻,DontDestroyOnLoad)。

2)通过主摇杆控制人物(摄像机)移动
如果仅通过单个轴向去做处理的话,不能适配摇杆360°可旋转的特性。这里介绍一个原生API解决这个问题:Vector2.ClampMagnitude(new Vector2(x, y), 1f);

ps:Vector3也有这个方法。

3)通过副摇杆控制人物(摄像机)旋转
因为业务的需求,不可让人物360°旋转,即需要一定的角度限制。这里介绍一个原生API解决这个问题:float angle = Mathf.Clamp(angle, minAngle, maxAngle);

pps:所有轴向的调用获取是通过Input.GetAxis(“对应轴向名称”);具体轴向对应方向获取的值的正负请自行验证 =_=

Unity之xbox手柄控制交互逻辑相关推荐

  1. delphi 登录界面 主窗体 切换_winform项目——仿QQ即时通讯程序06:主界面交互逻辑...

    上一篇文章,我们搭建好了主界面的布局.本文将实现页面的交互逻辑,比如如何移动窗体.调整窗体大小.点击消息和联系人切换下方的panel面板.动态加载消息列表panel和好友列表panel等,并且左下角的 ...

  2. 通通玩blend美工(6)下——仿iPhone滚动选择器的ListBox(交互逻辑)

    原文:通通玩blend美工(6)下--仿iPhone滚动选择器的ListBox(交互逻辑) 上一篇我们已经把界面画出来了,这篇我们就来制作交互的逻辑吧.上一篇的电梯: http://www.cnblo ...

  3. android支付安全机制,Android_指纹支付_安全问题_前后端交互逻辑

    具体代码不详细介绍,可以自己去看这些资料,只详细介绍最终的客户端和服务器端交互逻辑. /********************************************1,参考******** ...

  4. 游戏服务器中多人交互逻辑业务的思考

    背景:在mmo中有非常多的多人交互逻辑,比如:工会中帮主同时同意N个人加入帮派,此时,要检查所有人是否加入了帮派,如果没加入,则让它加入,但是有可能这一批人同时也申请了别的帮派,别的帮派的帮主也在做这 ...

  5. 4.3 Qt Graphics 场景中的交互逻辑

    本文是<用 Qt 实现电子白板>的其中一节,建议全章阅读. 在电子白板中,针对控件的选择.二维空间变换编辑操作是最基本的交互逻辑.所谓空间变换编辑操作,是对控件进行平移.缩放.旋转,所依赖 ...

  6. html点击跳转客服聊天,小能客服点击后(新的交互逻辑).html

     小能客服点击后(新的交互逻辑) $axure.utils.getTransparentGifPath = function() { return 'resources/images/transpa ...

  7. 从零开始制作【立体键盘】,画UI免写CSS,【盲打练习】的交互逻辑只用了10来行表达式

    手把手教你从空白页面开始通过拖拉拽可视化的方式制作[立体键盘]的静态页面,不用手写一行CSS代码,全程只用10来行表达式就完成了[盲打练习]的交互逻辑. 整个过程在众触应用平台进行,快速直观. 最终U ...

  8. uniapp 学习笔记二十七 购物车总价计算及弹窗交互逻辑完善

    uniapp 学习笔记二十七 购物车总价计算及弹窗交互逻辑完善 uniapp 学习笔记二十七 购物车总价计算及弹窗交互逻辑完善 cart.vue <template><view> ...

  9. 基于腾讯 x5 开源库,提高 webView 开发效率,大概要节约你百分之六十的时间成本。该案例支持处理 js 的交互逻辑且无耦合、同时暴露进度条加载进度、可以监听异常 error 状态、支持视频播放

    YCWebView 项目地址:yangchong211/YCWebView 简介: 基于腾讯 x5 开源库,提高 webView 开发效率,大概要节约你百分之六十的时间成本.该案例支持处理 js 的交 ...

最新文章

  1. CloudCompare基础架构介绍(PPT)
  2. ios绘图时的坐标处理
  3. 卡巴斯基:远程工具Ammyy Admin被用来盗取银行账户
  4. 云网一体,“湘遇湘融 | 移动云TeaTalk·长沙站 启动倒计时
  5. RMBP下eclipse支持高清
  6. 清华大学计算机导师排名,清华大学计算机科学与技术系导师简介:周立柱
  7. 《word精彩实例互动教程》已经上线!
  8. 游戏框架(Unity3D游戏客户端基础框架)
  9. 论文查重 降重复度?
  10. android 飞行模式 wifi,解决飞行模式下手机用wifi的问题
  11. 终于有人把联邦学习讲明白了
  12. linux配置web页面登录密码,在Linux下通过WEB认证方式上网
  13. DedeCMS快速建站
  14. 有关AE2020中文版改为英文版的方法
  15. 关于腾讯TBS中,加载失败问题(64位手机无法加载x5)
  16. Adobe Photoshop CS6
  17. 除了巴菲特,你应该知道投资大师之————加里·布林森
  18. 职称计算机80分合格,达江发话:这样备考中级职称 考不了80分算我输!
  19. 树莓派3B+、opencv3+PyQt5实现人脸识别门禁系统
  20. web自动化测试入门篇04——selenium+python基础方法封装

热门文章

  1. keil 5与proteus8.9仿真实现四路抢答计分器
  2. 网贷系统架构——前端框架的选择
  3. 最长上升子序列模型 AcWing 1010. 拦截导弹
  4. 日语词汇:日语果物词汇
  5. 如何建立个人电商网站/个人商城的支付接口
  6. 8个步骤,一次完整的产品迭代
  7. 智能车竞赛同学制作的同轴麦轮车模
  8. 社区医疗系统平台的设计与实现
  9. 批量下载论文代码(对一篇论文的所有参考文献进行自动下载或者)
  10. 智能家居监控看护一体化成趋势