1、Project Tank
***Bullet Flying Script
/* void Start () { transform.Rotate(Vector3.forward, 90); transform.forward = GameObject.Find("Target").transform.position - transform.position; } float timer = 0; // Update is called once per frame void Update () { timer+= Time.deltaTime; //让子弹发生变换 transform.position += transform.forward * 10 * Time.deltaTime; //transform.position += (GameObject.Find("Target").transform.position - transform.position) * 0.05f; if ((transform.position - GameObject.Find("Target").transform.position).magnitude < 0.1) { Destroy(gameObject); } }
*/
***Bullet Creater Script
/*
public GameObject bullet; // Use this for initialization void Start () { } // Update is called once per frame float timer; void Update () { timer += Time.deltaTime; if (timer >= 1) { timer = 0; Instantiate(bullet, transform.position, Quaternion.identity); } }
*/
***Make Gun Lookat The Target
/* void Start () { transform.Rotate(Vector3.back); } void Update () { Quaternion qua = Quaternion.LookRotation(GameObject.Find("Cube").transform.position - transform.position); transform.rotation = qua; }
*/
***WASD Control Move of Tank
/*
void TankMove() { float hA=Input.GetAxis("Horizontal"); float vA = Input.GetAxis("Vertical"); if (vA >= 0) { transform.Rotate(Vector3.left * hA * 30 * Time.deltaTime); } else { transform.Rotate(Vector3.right * hA * 30 * Time.deltaTime); } transform.Translate(Vector3.forward * vA * 0.5f); }
*/
***Using Lerp
//通过VECTOR线性差值移动物体 //transform.position = Vector3.Lerp(transform.position, GameObject.Find("Sphere").transform.position, 0.5f * Time.deltaTime); //if (Vector3.Distance(transform.position, GameObject.Find("Sphere").transform.position) < 0.01f) //{ // transform.position = GameObject.Find("Sphere").transform.position; //}
***Move Cube with Mouse Drag
/*
void OnMouseEnter() { Debug.Log("in!"); } Vector3 offset; void OnMouseDown() { //开始拖拽 Debug.Log("down!"); Vector3 mousev = Input.mousePosition; //将鼠标坐标转换为世界坐标 Vector3 screenSpace = Camera.main.WorldToScreenPoint(transform.position); Vector3 mouseWorld = Camera.main.ScreenToWorldPoint(new Vector3(mousev.x, mousev.y,screenSpace.z)); offset = transform.position - mouseWorld; } void OnMouseDrag() { //鼠标拖拽时调用 Debug.Log("drag!"); //mx = Input.GetAxis("Mouse X"); //my = Input.GetAxis("Mouse Y"); //transform.position += Vector3.right * mx; //transform.position += Vector3.up * my; Vector3 mousev = Input.mousePosition; //将鼠标坐标转换为世界坐标 Vector3 screenSpace = Camera.main.WorldToScreenPoint(transform.position); Vector3 mouseWorld = Camera.main.ScreenToWorldPoint(new Vector3(mousev.x, mousev.y, screenSpace.z)); transform.position = mouseWorld + offset; }
*/
***Mouse DoubleClicks
/*
float timer; bool intodouble1 = false; bool intodouble2 = false; float time1; void Start () { } void Update () { timer += Time.deltaTime; if (Input.GetMouseButtonDown(0)) { intodouble1 = true; if (intodouble1 && (intodouble2 == false)) { time1 = timer; intodouble2 = true; } else { if (intodouble1 && intodouble2) { if (timer - time1 < 0.6) { Debug.Log("DoubleClick"); } intodouble1 = false; intodouble2 = false; } } } if (timer - time1 > 0.6) { intodouble1 = false; intodouble2 = false; }
*/
***Camera Move
/// <summary> /// 摄像机移动方法(防止颠倒改良版) /// </summary> void CameraMove() { vA = Input.GetAxis("Vertical"); hA = Input.GetAxis("Horizontal"); mX = Input.GetAxis("Mouse X"); mY = Input.GetAxis("Mouse Y");
transform.position += transform.forward * vA * 0.5f; transform.position += transform.right * hA * 0.5f; transform.Rotate(Vector3.up, mX); transform.Rotate(Vector3.left, mY * 0.5f);
Vector3 oldrotation = transform.rotation.eulerAngles; oldrotation.z = 0; transform.rotation = Quaternion.Euler(oldrotation); transform.position=new Vector3(transform.position.x, 1.5f, transform.position.z); }
The scene of Delegate in U3D04 is the strandrard mothd to use event and delegate.
Edit by Suxny
If Reproduced,,please indicate the source.
