using UnityEngine; using System.Collections; using System.Collections.Generic; public class walk : MonoBehaviour { private Camera cam; string output = ""; // Start is called before the first frame update void Start() { cam = Camera.main; } Vector3 lastMouseCoordinate = Vector3.zero; 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); } } //void OnCollisionEnter(Collision other) void OnTriggerEnter (Collider other) { if (other.tag == "final") { output = "恭喜,你已經成功過關。"; } if (other.tag == "car" || other.tag == "tree" ) { //Debug.Log("car"); output = "Game Over,遊戲結束"; } } void OnGUI() { GUILayout.BeginHorizontal("box1"); GUILayout.Label(output); GUILayout.EndHorizontal(); } }