手柄控制-XInputDotNet插件
来源:互联网 发布:mac 倩女幽魂 编辑:程序博客网 时间:2024/05/17 22:49
利用XInputDotNet插件来获取手柄按键和震动
插件地址,链接:http://pan.baidu.com/s/1c2csJdQ 密码:aplk
using UnityEngine;using XInputDotNetPure; // Required in C#public class XInputTestCS : MonoBehaviour{ bool playerIndexSet = false; PlayerIndex playerIndex; GamePadState state; GamePadState prevState; void Update() { // Find a PlayerIndex, for a single player game // Will find the first controller that is connected ans use it if (!playerIndexSet || !prevState.IsConnected) { for (int i = 0; i < 4; ++i) { PlayerIndex testPlayerIndex = (PlayerIndex)i; GamePadState testState = GamePad.GetState(testPlayerIndex); if (testState.IsConnected) { Debug.Log(string.Format("GamePad found {0}", testPlayerIndex)); playerIndex = testPlayerIndex; playerIndexSet = true; } } } prevState = state; state = GamePad.GetState(playerIndex); // Detect if a button was pressed this frame if (prevState.Buttons.A == ButtonState.Released && state.Buttons.A == ButtonState.Pressed) { GetComponent<Renderer>().material.color = new Color(Random.value, Random.value, Random.value, 1.0f); } // Detect if a button was released this frame if (prevState.Buttons.A == ButtonState.Pressed && state.Buttons.A == ButtonState.Released) { GetComponent<Renderer>().material.color = new Color(1.0f, 1.0f, 1.0f, 1.0f); } // Set vibration according to triggers GamePad.SetVibration(playerIndex, state.Triggers.Left, state.Triggers.Right); // Make the current object turn transform.localRotation *= Quaternion.Euler(0.0f, state.ThumbSticks.Left.X * 25.0f * Time.deltaTime, 0.0f); } void OnGUI() { string text = "Use left stick to turn the cube, hold A to change color\n"; text += string.Format("IsConnected {0} Packet #{1}\n", state.IsConnected, state.PacketNumber); text += string.Format("\tTriggers {0} {1}\n", state.Triggers.Left, state.Triggers.Right); text += string.Format("\tD-Pad {0} {1} {2} {3}\n", state.DPad.Up, state.DPad.Right, state.DPad.Down, state.DPad.Left); text += string.Format("\tButtons Start {0} Back {1} Guide {2}\n", state.Buttons.Start, state.Buttons.Back, state.Buttons.Guide); text += string.Format("\tButtons LeftStick {0} RightStick {1} LeftShoulder {2} RightShoulder {3}\n", state.Buttons.LeftStick, state.Buttons.RightStick, state.Buttons.LeftShoulder, state.Buttons.RightShoulder); text += string.Format("\tButtons A {0} B {1} X {2} Y {3}\n", state.Buttons.A, state.Buttons.B, state.Buttons.X, state.Buttons.Y); text += string.Format("\tSticks Left {0} {1} Right {2} {3}\n", state.ThumbSticks.Left.X, state.ThumbSticks.Left.Y, state.ThumbSticks.Right.X, state.ThumbSticks.Right.Y); GUI.Label(new Rect(0, 0, Screen.width, Screen.height), text); }}
震动
GamePad.SetVibration(playerIndex, state.Triggers.Left, state.Triggers.Right);
阅读全文
0 0
- 手柄控制-XInputDotNet插件
- USB手柄的控制
- iOS游戏控制手柄
- Android手柄焦点控制
- arduino读取控制手柄
- 手机模拟蓝牙手柄控制kobuki底座
- 使用北通手柄控制turtlesim运动
- Unity Input 通过蓝牙手柄控制游戏
- Unity一HTC 手柄控制主角行走
- unreal engine实现vive手柄控制
- HTC Vive手柄圆盘控制角色移动
- UE4关于XBox手柄控制源码分析
- StreamVR插件详解二:UI及手柄
- 【unity插件】unity手柄插件Input输入管理插件,兼容各种主流手柄
- unity开发 HTC vive手柄控制 手柄上各个按钮的点击事件
- Unity3d开发 HTC vive手柄控制 手柄上各个按钮的点击事件
- 与Wii控制手柄通信的托管代码库(一)
- 与Wii控制手柄通信的托管代码库(二)
- Class.forName 的作用
- 北大博士在阿里:因为期待,你需要更出色!
- 揭秘支付宝中的深度学习引擎:xNN
- 后摩尔时代,如何给你的CPU减负?
- 深度解读 | 阿里云新一代关系型数据库 PolarDB
- 手柄控制-XInputDotNet插件
- 阿里巴巴荣获年度最佳BCM创新实践奖
- [转] “QObject调用moveToThread()后 该如何释放”及QThread 的启动关闭
- 如何拥有个人的Github技术博客
- Charles抓取https请求详解
- 近三年,为什么互联网从业者加班严重,但薪资还跌宕起伏?
- Python Django之路与您同行
- 如何学习LoadRunner性能测试?
- Locust性能测试工具的安装及使用