unity3d unity3d安卓游戏戏的控制虚拟摇杆怎么创建?

之前已经介绍过Unity自带的摇杆Joystick,它用起来很简单。但是它也存在很多局限,不能全部满足普通mmo手游的一些需求,例如:要能方便地更好素材;能指定在某个区域显示,或者只有在该区域触摸时才出现等等。而这些功能,Easy Touch插件都已经帮你实现了。全部是可配置。大家可以从Asset Store上购买,或者使用free版。

(可随意分享,请注明原文出处)

还是用上次例子来实现。控制角色的移动

5.设置摇杆的相关的参数,详见下图


6.新建一个脚本MoveController.cs 用来接收摇杆的事件,控制角色的移动。代码如下: //停止时,角色恢复idle //获取摇杆中心偏移的坐标 //设置角色的朝向(朝向当前坐标+摇杆偏移量) //移动玩家的位置(按朝向位置移动)

完成收工,具体的效果图




Easy Touch提供了虚拟摇杆的解决方案,基本能满足你的各种需求。包括前面所说的,定制UI,隐藏,指定区域等。可以在你的项目中尝试使用


前天撸了一个简单的UGUI虚拟摇杆,今天我就利用前天做的虚拟摇杆做了一个简单的摄像机控制器,主要看看UGUI虚拟摇杆是否可以完美的控制移动和旋转。(PS:主要是为接下来的项目做技术测试),手游版的CF的角色控制器也是利用设个方式进行摄像机的控制,利用双摇杆进行角色的前进和旋转,如果你玩过PSV或者是用过手柄控制器就知道啥意思了,接下来我们就来实现这个功能需求。

首先我们先做两个简单的虚拟摇杆,如下图所示:


因为我们是要实现摄像机的移动,因此我就直接在MainCamera上添加脚本,手游CF左边虚拟摇杆是用来控制角色移动,右边是控制角色的射击以及角色的旋转,那么我们现在我们来实现个功能。因为功能是否简单所以我就直接上代码了。代码如下所示:

/// 更新摄像机位置以及旋转角度

因为代码很简单所以我只是备注了一下函数用法,如果有不懂可以私聊我。

代码可能写的不好,欢迎大神们指导教育0.0

刚刚发现有仔细看代码的时候发现一个严重bug,Y轴旋转180度后你会发现所有的移动都反了,这样影响到了操作了因此我们需要把这个严重的bug修复了,这里我只把UpdateCamera函数放出来,修改如下:

参考资料

 

随机推荐