Unity3D 5.x MobileSingleStickControl的使用

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

对于我们在移动平台开发来说,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);
        .......
   }

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

发表评论

电子邮件地址不会被公开。