Unity - A计划(一年有效期) 扫二维码继续学习 二维码时效为半小时

(61评价)
价格: 2208.00元
关于Stealth人物移动问题
鹿姐的狗哥发起了问答2019-02-23
3
回复
279
浏览

老师您好,在完成Stealth时,人物移动始终有延迟,并且还挺高的。不管怎么设置moveSpeed感觉对起步时候的延迟没有作用。停止时问题也一样,哪怕直接设置成0,还是往前滑动一会才停下。

 

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Player : MonoBehaviour {

    public float moveSpeed = 20;
    private Animator anim;

    // Use this for initialization

    private void Awake() {
        anim = this.GetComponent<Animator>();
    }
    
    // Update is called once per frame
    void Update () {
        float h = Input.GetAxis("Horizontal");
        float v = Input.GetAxis("Vertical");

        if(Mathf.Abs(h)>0.1 || Mathf.Abs(v)>0.1) {
            float newSpeed=Mathf.Lerp(anim.GetFloat("Speed"), 5.6f, moveSpeed * Time.deltaTime);
            anim.SetFloat("Speed", newSpeed);
        } else {
            anim.SetFloat("Speed", 0);

        }
    }
}

所有回复
  • 老师_Trigger 2019-02-23

    同学你好,因为我们游戏设计这个值的获取是渐变的,同学可以使用getAxisRow或者把If条件判断更改一下到达我们想要的效果。

    还有-3条回复,点击查看
    你还没有登录,请先登录注册
发表回复
你还没有登录,请先 登录或 注册!