unity实现物体移动固定距离

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

public class Player1Control : MonoBehaviour {
  //  private Rigidbody2D playerRig;
    public float speed;
    private bool isMove = false;
    private float process = 0;
    private Vector3 dest;
    private void Awake()
    {
   //     playerRig = GetComponent<Rigidbody2D>();
    }
    // Use this for initialization
    void Start () {
		
	}
	
	// Update is called once per frame
	void Update () {
        if (Input.GetKeyDown(KeyCode.A))
        {          
            if (!isMove)
            {
                dest= new Vector3(this.transform.position.x - 1.2f, this.transform.position.y,0);
                isMove = true;
                process = 0;
            }
              
            //playerRig.MovePosition(new Vector2(this.transform.localScale.x, this.transform.position.y));
        }
        if (Input.GetKeyDown(KeyCode.D))
        {
            if (!isMove)
            {
                dest = new Vector3(this.transform.position.x + 1.2f, this.transform.position.y, 0);
                isMove = true;
                process = 0;
            }
        }
        if (isMove)
        {
            process += Time.deltaTime;
            if (process < 1)
                transform.position = Vector3.Lerp(transform.position, dest, process);
            // transform.position = Vector3.Lerp(transform.position, dest, process);
            else
            {
                isMove = false;
            }
        }
    }
}

发布了49 篇原创文章 · 获赞 198 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/qq_36696486/article/details/88173382