「这是我参与11月更文挑战的第26天,活动详情查看:2021最后一次更文挑战」
使用介绍
用于控制角色的移动的最好办法便是使用摇杆事件,使用最多的摇杆插件EastyJoystick,也是EasyTouch摇杆的部分功能,
导入下载好的资源包,即EasyTouch插件
添加一个摇杆/按钮:
在Inspector面板中设置摇杆相关参数:
-
Proerties: 摇杆属性设置
-
Position & Size : 摇杆位置及大小
-
Joystick Axes properties & Events: 摇杆轴属性及事件
-
Joystick: 纹理图片
-
Dynamic joystick: 是否为动态摇杆,即在按下手指的位置出现摇杆。
-
Anchor: 预置位置 默认Lower Left(左右角)
-
Offset:偏移量。其它:调整摇杆的大小等。
-
Interaction Type:交互类型:
-
Direct 直接拖动物体到启用轴上去,选择交互效果。
-
Event Notification : 事件通知方式,较为常用。
使用面板属性操作实现Buton按钮
使用代码实现Button按钮
Button 上图代码:
using UnityEngine;
public class quest1 : MonoBehaviour
{
void Start()
{
EasyButton.On_ButtonDown += Show; //注册事件
}
void Show(string name) //自定义方法,注意:必须由参数和委托对应
{
Debug.Log(name + "按钮触发事件");
}
private void OnDisable() //表示当前脚本不可用(未激活)时调用
{
EasyButton.On_ButtonDown -= Show; //注销事件
}
private void OnDestroy() //销毁时调用,,为了严谨最好写上,作用同上
{
EasyButton.On_ButtonDown -= Show;
}
}
使用EasyJoystick,移动物体
上图所示代码
public class Easyjoy : MonoBehaviour
{
float vx;
float vy;
void Start ()
{
EasyJoystick.On_JoystickMove += Move; //注册移动事件
EasyJoystick.On_JoystickMoveEnd += End; //注册停止事件
}
void Update ()
{
this.gameObject.transform.Translate(new Vector3(vx,0,vy));
}
void Move(MovingJoystick mo) //自定义移动方法
{
vx = mo.joystickAxis.x;
vy = mo.joystickAxis.y;
}
void End(MovingJoystick mo) //自定义停止方法
{
vx = vy = 0;
}
}