영역 안에 들어오면 총알 발사
public class emermy : MonoBehaviour
{
private float createTime = 1f;
private float currentCretateTime;
[SerializeField] private GameObject go_BulletPrefeb;
void Update()
{
Collider[] col = Physics.OverlapSphere(transform.position, 5f);
if (col.Length > 0)
{
for (int i = 0; i < col.Length; i++)
{
Transform tf_Target = col[i].transform;
if (tf_Target.tag == "Player")
{
Quaternion rotation = Quaternion.LookRotation(tf_Target.position - this.transform.position);
currentCretateTime += Time.deltaTime;
transform.rotation = rotation;
if (currentCretateTime >= createTime)
{
GameObject _temp = Instantiate(go_BulletPrefeb, transform.position, rotation);
currentCretateTime = 0;
}
}
}
}
}
}
public class bullet : MonoBehaviour
{
[SerializeField] private float speed;
[SerializeField] private float damage;
void Update()
{
transform.position += transform.forward * speed * Time.deltaTime;
}
private void OnTriggerEnter(Collider other)
{
Debug.Log(other.transform.name + "에게 데미지" + damage + "를 입혔습니다.");
Destroy(this.gameObject);
}
}
회전하게 만들기
public class player : MonoBehaviour
{
[SerializeField] private float speed;
[SerializeField] private Transform tf_Target;
void Update()
{
transform.RotateAround(tf_Target.position, Vector3.up, speed * Time.deltaTime);
}
}