unity3d与android开发真实手柄连接

unity3d与android开发真实手柄连接,第1张

概述尝试过AS转写手柄监听、incontrol插件,最终没能实现。手柄型号:SP3/PC。经过一夜奋战,通过https://blog.csdn.net/lengyoumo/article/details/91386404文章指示,在edit->projectsettings->input->axes中设定type选择joystickaxisaxis选择xaxis和yaxis。分别对应horizont

尝试过AS转写手柄监听、incontrol插件,最终没能实现。手柄型号:SP3/PC。

经过一夜奋战,通过https://blog.csdn.net/lengyoumo/article/details/91386404文章指示,

在edit ->projectsettings->input->axes中设定
type 选择joystick axis
axis 选择 x axis 和 y axis 。分别对应 horizontal 和 vertical。
如果手柄有多个摇杆,需要修改name和 axis。

 

 

修改了Dead、Sensitivity的值,不然转的头晕,速度太快,而且人物不停的朝一个方向转。。。把Vertical做了镜像(invert),好像这个轴跟U3d的3rdCControler方向是反的。Horizontal就不用了。

通过https://blog.csdn.net/cordova/article/details/51036547的方法进行了测试,目前代码如下:

public class TVinput : MonoBehavIoUr {    public Text KeyCodeText;               //显示按键状态的text文本    public Text KeyCodeText1;        private bool isOk;                     //确定键按下状态       // 初始化    voID Start()    {        isOk = false;    }    // 按帧刷新检测    voID Update()    {        //监听按键事件:        //*** 按下 ***//        //左        if (input.GetKeyDown(KeyCode.leftArrow))        {            isleft = true;            KeyCodeText.text = "左键按下";        }        //右        if (input.GetKeyDown(KeyCode.RightArrow))        {            isRight = true;            KeyCodeText.text = "右键按下";        }        //上        if (input.GetKeyDown(KeyCode.UpArrow))        {            isUp = true;            KeyCodeText.text = "上键按下";        }        //下        if (input.GetKeyDown(KeyCode.DownArrow))        {            isDown = true;            KeyCodeText.text = "下键按下";        }        //返回        if (input.GetKeyDown(KeyCode.Escape))        {            isBack = true;            KeyCodeText.text = "返回键按下";        }        //回车        if (input.GetKeyDown(KeyCode.Joystickbutton0))    //A        {            isOk = true;            KeyCodeText.text = "Joystickbutton0按下";        }        if (input.GetKeyDown(KeyCode.Joystickbutton1))    //B        {            isOk = true;            KeyCodeText.text = "Joystickbutton1按下";        }        if (input.GetKeyDown(KeyCode.Joystickbutton2))     //X        {            isOk = true;            KeyCodeText.text = "Joystickbutton2按下";        }        if (input.GetKeyDown(KeyCode.Joystickbutton3))    //Y        {            isOk = true;            KeyCodeText.text = "Joystickbutton3按下";        }        if (input.GetKeyDown(KeyCode.Joystickbutton4))   //L1        {            isOk = true;            KeyCodeText.text = "Joystickbutton4按下";        }        if (input.GetKeyDown(KeyCode.Joystickbutton5))   //R1        {            isOk = true;            KeyCodeText.text = "Joystickbutton5按下";        }        if (input.GetKeyDown(KeyCode.Joystickbutton6))   //L2        {            isOk = true;            KeyCodeText.text = "Joystickbutton6按下";        }        if (input.GetKeyDown(KeyCode.Joystickbutton7))    //R2        {            isOk = true;            KeyCodeText.text = "Joystickbutton7按下";        }        if (input.GetKeyDown(KeyCode.Joystickbutton8))    //左摇杆        {            isOk = true;            KeyCodeText.text = "Joystickbutton8按下";        }                if (input.GetKeyDown(KeyCode.Joystickbutton9))   //右摇杆        {            isOk = true;            KeyCodeText.text = "Joystickbutton9按下";        }        if (input.GetKeyDown(KeyCode.Joystickbutton10))   //START        {            isOk = true;            KeyCodeText.text = "Joystickbutton10按下";        }        if (input.GetKeyDown(KeyCode.Joystickbutton11))  //SELECT        {            isOk = true;            KeyCodeText.text = "Joystickbutton11按下";        }    }}

在电视端测试通过。

Stationary Turn Speed 减到20,这转速还是太快。

总结

以上是内存溢出为你收集整理的unity3d与android开发真实手柄连接全部内容,希望文章能够帮你解决unity3d与android开发真实手柄连接所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1059339.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存