Unity 中EasyTouch和播放动画的结合

首先 我们引入Easy Touch插件,在Joystick X to 把我们的人物拖进去 这里是指摇杆的X轴方向控制人物物体的X轴运动
同理 下面的是摇杆Y轴控制Z轴方向


QQ图片20160411230623.png
QQ图片20160411231019.jpg

加入场景的中的摇杆是这样的 摇杆样式图片可以自己更改

QQ图片20160411231146.png

然后我们在人物的Animatior组件中添加状态机 ,同时我们设置事件为float类型的参数

QQ图片20160411231246.jpg
QQ图片20160411231604.jpg

为我们的人物添加一个名为Player Move的脚本
注意脚本中的Speed参数是使融合树中的阈值

QQ图片20160412100125.png

using UnityEngine;
using System.Collections;

public class PlayerMove : MonoBehaviour {

Animator player;
float Speed=1.41f;
void Awake()
{
            //获取player人物的动画组件
    player = GameObject.Find("Player").GetComponent<Animator>();
}
void Start () {
            //EasyTouch 的订阅事件
    EasyJoystick.On_JoystickMove += Move;
            //EasyTouch 的订阅事件
    EasyJoystick.On_JoystickMoveEnd += MoveEnd;
}

void Move(MovingJoystick move)
{
            //动画控制器中的Speed值设为摇杆到圆心的Value值得百分比乘上动画融合树的阈值
    float speed = Vector2.Distance(move.joystickValue, Vector2.zero)*Sspeed;
    player.SetFloat("SpeedX", speed);
    player.transform.rotation = Quaternion.AngleAxis(move.Axis2Angle(), Vector3.up);
}

void MoveEnd(MovingJoystick move)
{
    float speed = Vector2.Distance(move.joystickValue, Vector2.zero)*Sspeed;
    player.SetFloat("SpeedX", speed);
}

}
注意状态机中的事件的参数 必须小于1 同时调试 使人物的动作变得流畅

QQ图片20160411232529.png
QQ图片20160411232545.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 显示当前时间的时钟 为游戏对象创建层级关系 编写脚本并与对象关联 使用命名空间 使用方法更新游戏物体 按时间进行旋...
    OneMore2018阅读 2,151评论 0 2
  • 一、EasyTouch插件介绍 EasyTouch4.3版本开始已经支持UGUI,所以unity版本低于4.6的话...
    胤醚貔貅阅读 4,583评论 0 1
  • 该系列笔记基于Unity3D 5.x的版本学习,部分API使用和4.x不一致。 目前在Unity3D中,除了新的U...
    某人在阅读 2,780评论 0 2
  • 因为从心底害怕自己不值得被爱,我们独来独往,然而就是因为独来独往,才让我们以为自己不值得被爱。有一天,你不知道是什...
    Kiko627阅读 259评论 0 4
  • 十年归途未有期,时光易逝景亦昔。空负闲情临旧地,江河东去不复西。 檀萝兵临终未醒,誓守南柯与共存。槐安终逝云梦外,...
    十年如盐阅读 286评论 0 0

友情链接更多精彩内容