原文地址:http://m.blog.youkuaiyun.com/article/details?id=70304682
阅读原文获取源码转载注明出处,谢谢支持!!!本文介绍使用EasyTouch插件的创建一个虚拟摇杆来控制任务的移动
这个Demo源码包括EasyTouch插件我已经上传了,大家可以下载下来学习玩玩!!!点击打开链接
Easytouch插件下载链接点击打开链接
首先把EasyTouch插件拖到unity空项目中
在目录栏中中多了一个Tools选项按钮
按如下图选择,在视图中便出多个虚拟按钮
在Hierarchy面板中多了几个对象
在这里我们只要了解Joystick的属性即可
Joystick属性介绍
在这里注意下Interaction type这个属性,需要添加Event,否则无法与委托事件交互
在代码中我们会看到定义了一些委托事件
只要我们在自己的代码中添加事件函数
当虚拟摇杆相应事件被触发时,会调用我们写的事件函数
编写代码在角色上挂载一个C#脚本
[AppleScript] 纯文本查看 复制代码
using UnityEngine;
using System.Collections;
public class PlayByJoyStick : MonoBehaviour
{
public EasyJoystick joystick;//虚拟摇杆
private float runSpeed=2.0f;
private Animation anima;
void Start()
{
anima=this.GetComponent<Animation>();
}
void OnEnable()
{
//注册事件
EasyJoystick.On_JoystickMoveStart += JoystickMoveStart;
EasyJoystick.On_JoystickMove += JoystickHandlerMoving;
EasyJoystick.On_JoystickMoveEnd += JoysticHanderMoveEnd;
}
void OnDisable()
{
//撤销事件
EasyJoystick.On_JoystickMoveStart -= JoystickMoveStart;
EasyJoystick.On_JoystickMove -= JoystickHandlerMoving;
EasyJoystick.On_JoystickMoveEnd -= JoysticHanderMoveEnd;
}
void JoystickMoveStart(MovingJoystick move)
{
Debug.Log("主角开始移动");
}
void JoystickHandlerMoving(MovingJoystick move)
{
if (move.joystick.name != "Joystick")
{
return;
}
//获取虚拟摇杆偏移量
float Axis_x = move.joystickAxis.x;
float Axis_y = move.joystickAxis.y;
Vector3 position = this.transform.position;
//设置角色的面向位置
this.transform.LookAt(new Vector3(position.x-Axis_x,position.y,position.z-Axis_y));
//切换角色动画
anima.CrossFade("crouchRun");
//主角移动
this.transform.Translate(Vector3.forward*Time.deltaTime*runSpeed);
}
void JoysticHanderMoveEnd(MovingJoystick move)
{
anima.CrossFade("idleSword");
}
}
将虚拟摇杆拖进属性面板里
http://m.blog.youkuaiyun.com/article/details?id=70304682
本文介绍如何使用EasyTouch插件创建虚拟摇杆,并通过编写C#脚本来控制游戏角色的移动。文章提供了完整的代码示例及插件配置步骤。
688

被折叠的 条评论
为什么被折叠?



