using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class bullet : MonoBehaviour
{
public int damage = 1;//伤害
public float speed = 60;//移送速度
private Transform target;//目标
public GameObject explosionEffectPrefab;//子弹预制体
public void SetTarget(Transform target_)//传递目标
{
this.target = target_;
}
void Start()
{
}
void Update()
{
if (target!=null )//目标不为空执行
{
transform.LookAt(target.position);
}
transform.Translate(Vector3.forward * speed * Time.deltaTime);
Distance();
}
private float DistanceArriveTarget=1.2f;
private void Distance()//炮弹与怪物的距离
{
if (this.target==null )
{
Die();//没目标炮弹死亡
return;
}
Vector3 dir = target.position - transform.position;
if (dir.magnitude < DistanceArriveTarget)//距离小于 视为打中目标
{
target.GetComponent<enemy>().TakeDamage(damage);//传递炮弹伤害值
GameObject effect= GameObject.Instantiate(explosionEffectPrefab, transform.position, transform.rotation);//生成子弹特效
Destroy(effect, 1);//删除特效
Destroy(this.gameObject);//删除炮弹
}
}
private void Die()//死亡方法
{
GameObject effect = GameObject.Instantiate(explosionEffectPrefab, transform.position, transform.rotation);
Destroy(effect, 1);
Destroy(this.gameObject);
}
}
子弹操作
最新推荐文章于 2026-01-07 09:26:13 发布
1341

被折叠的 条评论
为什么被折叠?



