JavaFX,Unity3D,Android,IOS等技术教程和生活随笔,仅供记录

http://www.wingmei.cn/wp-content/themes/Vtrois-Kratos-e85a527/images/background.jpg

Unity3D 5.x MobileSingleStickControl的使用

在Unity3D 5.x中,增加了CrossPlatformInput这个Package,主要是应用于跨平台的操作的。

对于我们在移动平台开发来说,MobileSingleStickControl应该算是个常用的类型,主要样式如下:

《Unity3D 5.x MobileSingleStickControl的使用》

左边是一个方向操控杆,右边是一个Jump按钮。

我们首先从Assets-Import Package-CrossPlatformInput导入这个包。

使用的时候,拖动MobileSingleStickControl到场景结构中,另外在菜单上Mobile Input一定要设置为Enable。

由于MobileSingleStickControl使用的是Unity3D自带的UI,所以我们还需要添加一个EventSystem到场景中。

MobileSingleStickControl的原理其实是通过方向杆的上下左右拖动,来模拟操作杆Horizontal AxisVertical Axis值的改变,就像我们使用Input.GetAxis类似,不过这里通过模拟的数值,就不需要受平台,设备等的限制了。

在使用的时候,我们通过CrossPlatformInputManager来使用,如下:

void Update () {
        float hValue = CrossPlatformInputManager.GetAxis(horizontalAxisName);
        if(hValue > 0)
        {
            mapObj.transform.Translate(Vector3.right * 0.1f);
        }
        else if(hValue < 0)
        {
            mapObj.transform.Translate(Vector3.left * 0.1f);
        }
        float vValue = CrossPlatformInputManager.GetAxis(verticalAxisName);
        .......
   }

这样,我们就能通过操作杆来控制了。

点赞

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注