代码部分(Bomb):
using System.Collections;
using UnityEngine;
public class Bomb : MonoBehaviour
{
public AudioClip fuse;
public AudioClip boom;
public GameObject m_Explose;
void Start()
{
StartCoroutine(Fuse());
}
//协程
IEnumerator Fuse()
{
AudioSource.PlayClipAtPoint(fuse, transform.position);
yield return new WaitForSeconds(2);
Explode();
}
void Explode()
{
Collider2D[] hits = Physics2D.OverlapCircleAll(transform.position, 3,
1 << LayerMask.NameToLayer("Target"));
foreach(var item in hits)
{
//方向力
Vector3 v = item.transform.position - transform.position;
//归一化
v.Normalize();
item.GetComponent<Rigidbody2D>().AddForce(v * 100);
//爆炸范围对敌人造成伤害item.GetComponent<test>().Hp = 0;
}
AudioSource.PlayClipAtPoint(boom, transform.position);
Instantiate(m_Explose, transform.position, Quaternion.identity);
Destroy(gameObject);
}
}