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);
                    }
   410   411   412   413   414   415   416   417   418   419   420