Page 415 - MDP2022-3
P. 415
public bool isCanKill = true;
private void OnTriggerStay(Collider other)
{
if (other.gameObject.CompareTag("Player") && isCanKill)
{
//플레이어와 닿았다면 killPlayer를 실행
isCanKill = false;
audioSourece.Stop();
animator.SetTrigger("CatchPlayer");
AudioSet_catch();
StartCoroutine("killPlayer");
}
(5) 상호작용
if (other.gameObject.tag == "Food" && isCanUseEat)
{
food = other.gameObject;
eatFinish = false;
isCanUseEat = false;
can_stun = false;
audioSourece.Stop();
animator.SetTrigger("Eat");
StartCoroutine(Eat(other.transform));
food.GetComponent<BoxCollider>().enabled = false;
}
else if (other.gameObject.tag == "Flash" && can_stun && stunCoolTime >= 10)
{
stun = true;
}
}
IEnumerator killPlayer()
(3) 상호작용
{
can_stun = false;
mainCamera.SetActive(false);
subCamera.SetActive(true); //subCamera사용
//subCamera를 지속적으로 몬스터의 앞으로 이동시킴, 몬스터가 플레이어를 무는듯한 효과
for (int i = 0; i < 150; i++)
{
subCamera.transform.position = playerKillPos.position + new Vector3(0f, 0f, 0f);
subCamera.transform.eulerAngles = new Vector3(0, playerKillPos.eulerAngles.y, 0);
yield return null;
}
GameOverCanvas.instance.die();
subCamera.SetActive(false);
Destroy(gameObject);
}