导弹追踪

using UnityEngine;
  
using System.Collections;
  
public class AIFollow : MonoBehaviour {
  
public GameObject man;
  
public GameObject missile;
  
public float manSpeed = 6f;
  
public float missileSpeed = 4f;
  
public float missileRotateSpeed = 2f;
  
bool whehterShooted = false;
  
float distance;
  
float collisionDistance;
  
// Use this for initialization
  
void Start () {
  
if (man!=null&&missile!=null)
  
{
  
float manWidth = man.GetComponent().mesh.bounds.size.x*man.transform.localScale.x;
  
float missileLength = missile.GetComponent().mesh.bounds.size.z * missile.transform.localScale.z;
  
print("manWidth:"+manWidth.ToString()+",missileLength:"+missileLength.ToString());
  
collisionDistance = manWidth / 2 + missileLength / 2;
  
}
  
}
  
// Update is called once per frame
  
void Update () {
  
if (Input.GetKey (KeyCode.LeftArrow))
  
{
  
man.transform.Translate(Vector3.left*Time.deltaTime*manSpeed);
  
}
  
if (Input.GetKey(KeyCode.RightArrow))
  
{
  
man.transform.Translate(-Vector3.left * Time.deltaTime * manSpeed);
  
}
  
if (Input.GetKey(KeyCode.UpArrow))
  
{
  
man.transform.Translate(Vector3.forward * Time.deltaTime * manSpeed);
  
}
  
if (Input.GetKey(KeyCode.DownArrow))
  
{
  
man.transform.Translate(-Vector3.forward * Time.deltaTime * manSpeed);
  
}
  
if (Input.GetKeyDown(KeyCode.S))//按下S 发射导弹
  
{
  
whehterShooted = true;
  
}
  
if (whehterShooted&&missile!=null)
  
{
  
distance = Vector3.Distance(man.transform.position, missile.transform.position);
  
导弹朝向人  法一
  
//missile.transform.LookAt(man.transform);
  
//导弹朝向人  法二
  
Quaternion missileRotation = Quaternion.LookRotation(man.transform.position - missile.transform.position, Vector3.up);
  
//missile.transform.rotation = Quaternion.Slerp(missile.transform.rotation, missileRotation, Time.deltaTime * missileRotateSpeed);
  
missile.transform.rotation = missileRotation;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值