using UnityEngine; using System.Collections; using System.Collections.Generic; public class walk : MonoBehaviour { private Camera cam; // Start is called before the first frame update void Start() { cam = Camera.main; } public void Update() { //用滑鼠按下操控 if(Input.GetMouseButtonUp(0)) { //move //transform.position = Vector3.Lerp(transform.position, transform.position+new Vector3(0, 0, 2), 0.3f); Vector3 objectToscreenPos = cam.WorldToScreenPoint(transform.position); //Debug.Log("objectToscreenPos=" + objectToscreenPos); Vector3 mouseToscreenPos = Input.mousePosition; mouseToscreenPos.z = 0; //Debug.Log("mouseToscreenPos=" + mouseToscreenPos); Vector3 mouseDelta = mouseToscreenPos - objectToscreenPos; if(mouseDelta.y > 0)transform.position = Vector3.Lerp(transform.position, transform.position+new Vector3(0, 0, 2), 0.3f); if(mouseDelta.y < 0)transform.position = Vector3.Lerp(transform.position, transform.position+new Vector3(0, 0, -2), 0.3f); if(mouseDelta.x > 0)transform.position = Vector3.Lerp(transform.position, transform.position+new Vector3(3, 0, 0), 0.3f); if(mouseDelta.x < 0)transform.position = Vector3.Lerp(transform.position, transform.position+new Vector3(-3, 0, 0), 0.3f); } //用鍵盤ws前後,ad左右操控 if (Input.GetKeyDown (KeyCode.W)) { transform.position = Vector3.Lerp(transform.position, transform.position+new Vector3(0, 0, 2), 0.3f); } if (Input.GetKeyDown (KeyCode.S)) { transform.position = Vector3.Lerp(transform.position, transform.position+new Vector3(0, 0, -2), 0.3f); } if (Input.GetKeyDown (KeyCode.A)) { transform.position = Vector3.Lerp(transform.position, transform.position+new Vector3(-3, 0, 0), 0.3f); } if (Input.GetKeyDown (KeyCode.D)) { transform.position = Vector3.Lerp(transform.position, transform.position+new Vector3(3, 0, 0), 0.3f); } //用鍵盤↑↓←→上下左右鍵操控 //if(Input.GetKey("up")) if(Input.GetKeyDown("up")) { transform.position = Vector3.Lerp(transform.position, transform.position+new Vector3(0, 0, 2), 0.3f); //Debug.Log("Up Arrow key was pressed."); } if(Input.GetKeyDown("down")) { transform.position = Vector3.Lerp(transform.position, transform.position+new Vector3(0, 0, -2), 0.3f); } if(Input.GetKeyDown("left")) { transform.position = Vector3.Lerp(transform.position, transform.position+new Vector3(-3, 0, 0), 0.3f); } if(Input.GetKeyDown("right")) { transform.position = Vector3.Lerp(transform.position, transform.position+new Vector3(3, 0, 0), 0.3f); } } }