在Unity3D 5.x中,增加了CrossPlatformInput这个Package,主要是应用于跨平台的操作的。
对于我们在移动平台开发来说,MobileSingleStickControl应该算是个常用的类型,主要样式如下:
左边是一个方向操控杆,右边是一个Jump按钮。
我们首先从Assets-Import Package-CrossPlatformInput导入这个包。
使用的时候,拖动MobileSingleStickControl到场景结构中,另外在菜单上Mobile Input一定要设置为Enable。
由于MobileSingleStickControl使用的是Unity3D自带的UI,所以我们还需要添加一个EventSystem到场景中。
MobileSingleStickControl的原理其实是通过方向杆的上下左右拖动,来模拟操作杆Horizontal Axis和Vertical 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);
.......
}
这样,我们就能通过操作杆来控制了。
文章评论