zoukankan      html  css  js  c++  java
  • Unity3D 之连按移动加速

    上代码:

    效果是连续按W后,加速移动

    为物体添加个拖拽效果,方便看运动轨迹。

    将下面的脚本绑定到移动的物体上。

    不过这里有一点很重要的需要去注意就是该方法不能放在 void FixedUpdate() 中,否则无效

    using UnityEngine;
    using System.Collections;
    
    public class Move : MonoBehaviour {
    
        public float timelost = 0;  
        // Use this for initialization
        public float speed = 1f;
    
        void Awake()
        {
            //animator = this.GetComponent<Animator>();
        }
    
    
        // Update is called once per frame
        void Update()
        {
    
            float h = Input.GetAxis("Horizontal");
            float v = Input.GetAxis("Vertical");
    
            if (Input.GetKeyDown(KeyCode.W))
            //    if (Input.GetKeyDown(KeyCode.A) || Input.GetKeyDown(KeyCode.W) || Input.GetKeyDown(KeyCode.D) || Input.GetKeyDown(KeyCode.S))
            {
                if ((Time.time - timelost) < 0.5f)///0.5秒之内按下有效  
                {
                    Debug.LogError("加速");
                    speed = 5.0f;
                }
                else
                {
                    Debug.LogError("--------");
                    speed = 1f;
                }
    
                timelost = Time.time;
    
            }
           
    
            Debug.LogError("》》》》》》》》》》》》》》》");
            if (Mathf.Abs(h) > 0.1f || Mathf.Abs(v) > 0.1) {
    
                Vector3 targetDir = new Vector3(-h, 0, -v);
                //transform.LookAt(targetDir + transform.position);
                transform.Translate(targetDir * speed * Time.deltaTime); 
            }
         
    
            //按键的取值,以虚拟杆中的值为优先
    
    
            //if (Mathf.Abs(h) > 0.1f || Mathf.Abs(v) > 0.1)
            //{
            //   // Debug.LogError("h" + h);
            //    //Debug.LogError("v" + v);
            //    //animator.SetBool("Walk", true);
    
            //    Vector3 targetDir = new Vector3(-h, 0,-v);
            //        //transform.LookAt(targetDir + transform.position);
            //    transform.Translate(targetDir * speed  *Time.deltaTime); 
               
            //}
           
        }
    }
  • 相关阅读:
    Prototype的深度探索
    MySQL LIST分区
    CentOS6下Haproxy的安装配置
    haproxy做TCP层的负载均衡
    Shape Control for .NET
    如何通过 HSB 颜色模式构建夜间模式
    使用ICSharpCode.TextEditor制作一个语法高亮显示的XML编辑器
    Roslyn介绍
    信息安全名词
    用彩虹表破解MD5、LM Hash等复杂加密密码
  • 原文地址:https://www.cnblogs.com/sunxun/p/5762501.html
Copyright © 2011-2022 走看看