`
duoerbasilu
  • 浏览: 1485472 次
文章分类
社区版块
存档分类
最新评论

EnemyAI

 
阅读更多
using UnityEngine;
using System.Collections;

public class EnemyAI : MonoBehaviour {
	public Transform target;
	public int moveSpeed;
	public int rotationSpeed;
	public int maxDistance;
	
	private Transform myTransform;
	
	void Awake () {
		myTransform = transform;
	}
	
	// Use this for initialization
	void Start () {
		GameObject go = GameObject.FindGameObjectWithTag("Player");
		
		target = go.transform;
		
		maxDistance = 2;
	}
	
	// Update is called once per frame
	void Update () {
		Debug.DrawLine(target.position, myTransform.position, Color.yellow);
		
		// Look at target(rotate)
		// 		The below three lines is for test.
		// 			Quaternion test = new Quaternion(0, 0, 0,0);
		//  		test.SetLookRotation(target.position, target.position);
		//			transform.rotation = test;
		myTransform.rotation = Quaternion.Slerp(myTransform.rotation, Quaternion.LookRotation(target.position - myTransform.position), rotationSpeed * Time.deltaTime);
	
		// Move towards target
		if (Vector3.Distance(target.position, myTransform.position) > maxDistance)
			myTransform.position += myTransform.forward * moveSpeed * Time.deltaTime;
	}
}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics