EasyTouch5初步用法和其中的一个Bug
(一)配置部分:
一.将预设体拖入场景中,我用的是下图这个预设体,因为既有摇杆又有按钮嘛,两个正好都能学习到
二.改变摇杆和按钮的外观,如下图所示,可以看出这个插件是用UGUI写的,改图片只需要改Image里面的配置即可,不再赘述,需要注意的是Button和NGUI一样有一个按下的效果图片,还是挺不错的
三.和以前的版本一样,摇杆的配置同样有静态和动态两种,如下图。
1.默认Type:Static静态摇杆,即摇杆一直存在,在Anchor中可以固定其锚点使摇杆快速导航到特定位置。
2.动态摇杆Type:Dynamic,当不触摸Joystick area摇杆区域(可展开设置)时则会动态隐藏,这个功能相当实用,我觉得驱使我不使用自己写的摇杆最大的原因可能就是不愿自己实现这个功能吧,
四.摇杆和按钮的size属性可以更改其大小,axis属性可以改变相对于Unity的映射,大家可以自行研究下。
(二)代码部分
1 using UnityEngine; 2 using System.Collections; 3 using UnityEngine.EventSystems; 4 using System; 5 public class Move : MonoBehaviour{ 6 //获取到场景中的Joystick 7 public ETCJoystick controlETCJoystick; 8 //获取场景中的Button 9 public ETCButton controlETCButton; 10 11 void Start () { 12 //EasyTouch自己的静态方法,通过摇杆的名字去查找哪个摇杆 13 controlETCJoystick = ETCInput.GetControlJoystick("Joystick"); 14 //Bug就在这里面,这是作者写好的通过名字查找按钮的方法,实际运行却报错,下面我们会说到 15 controlETCButton = ETCInput.GetControlButton("Button jump"); 16 17 //和UGUI的用法一样,我们可以用lamda表达式或者匿名委托来传递方法,或者UnityAction来传递 18 // 1. controlETCButton.onDown.AddListener(() => { OnButtonClick(); }); 19 // 2. controlETCButton.onDown.AddListener(delegate() {OnButtonClick(); }); 20 21 //3.这种方法还是第一次用到,不过挺好理解的,传递Action是不可以的 22 //当然啦,初学者都不理解,那么就拖拽吧,拖拽大法好啊~ 23 UnityEngine.Events.UnityAction listener = OnButtonClick; 24 controlETCButton.onDown.AddListener(listener); 25 26 } 27 28 void Update () { 29 //这是通过Translate移动的方法,我们可以看出controlETCJoystick.axisX.axisValue代表X方向的轴向,后者则是Y轴方向 30 this.transform.Translate(new Vector3(controlETCJoystick.axisX.axisValue, controlETCJoystick.axisY.axisValue, 0) 31 * Time.deltaTime * 5, 32 Space.Self); 33 } 34 /// <summary> 35 /// 点击方法 36 /// </summary> 37 void OnButtonClick() 38 { 39 Debug.Log("哎呀,我被按下了"); 40 } 41 }
(三)Bug部分