본문 바로가기
유니티

13

by 찡사랑방 2023. 4. 5.
728x90
728x90

TODAY'S GOAL

 

 

1.몬스터라는 태그를 가진 오브젝트랑 부딪혔을때 체력을 깍인다(플레이어 이미지 색깔)
2.체력아이템 획득시 체력회복 효과

3.오디오 효과

 

1.몬스터라는 태그를 가진 오브젝트랑 부딪혔을때 체력을 깍인다(플레이어 이미지 색깔)

 

 public Image[] PlayerHP_Image; 
 
 private void OnCollisionEnter2D(Collision2D collision)
 {
   if(Coliision.gameobject.tag=="Monster")
     {
         this.GetCompontent<SpriteRenderer>().Color=Color.red;
         //일정시간이 지나면 다시 원래 색깔로 돌아온다
         //함수를 일정 시간이 지나면 호출하는 함수
         //Invoke();
         Invoke("changeImage", 0.5f);
        
            //1.체력이 다 꽉찬 상태에서
            //공격을 받았다면

            if (PlayerHP_Image[0].activeSelf) //activeSelf : 대상(.앞)이 활성화 중이라면
            {
                PlayerHP_Image[0].SetActive(false);
                return;
            }

            //2.체력이 하나 깍인 상태에서 
            //공격을 받았다면

            if (!PlayerHP_Image[0].activeSelf && PlayerHP_Image[1].activeSelf)
            {
                PlayerHP_Image[1].SetActive(false);
                return;

            }

            //3.체력이 하나 남은 상태에서
            //공격을 받았다면


            if (!PlayerHP_Image[0].activeSelf && !PlayerHP_Image[1].activeSelf && PlayerHP_Image[2].activeSelf)
            {
                PlayerHP_Image[3].SetActive(false);

                Time.timeScale = 0;

                return;

            }

         
     }    
 
 private void ChangeLmage()
    {
        this.GetComponent<SpriteRenderer>().color = Color.white;
    }

 

2.Food 아이템을 먹었을때 체력 회복

        //Food라는 태그를 가진 오브젝트와 부딪혔을때 체력을 회복하겠다
        if (collision.gameObject.tag == "Food")
        {

            //내가 체력이 하나 깎인 상태에서
            //내 첫번째 체력이미지 활성화
            //부딪힌 오브젝트 파과하겠다

            if (!PlayerHP_Image[0].activeSelf && PlayerHP_Image[1].activeSelf)
            {
                PlayerHP_Image[0].SetActive(true);
                Destroy(collision.gameObject);
                return;
            }



            //내가 체력이 두개 깍인 상태에서
            //두번째 체력이미지 활성화
            //부딪힌 오브젝트 파과하겠다

            if (!PlayerHP_Image[0].activeSelf && !PlayerHP_Image[1].activeSelf)
            {
                PlayerHP_Image[1].SetActive(true);
                Destroy(collision.gameObject);
                return;
            }

        }

+) 콜라이더를 트리거 한 상태에서 플레이어를 공격하고 싶을때 

   1) 이 스크립트가 붙은 오브젝트 콜라이더가 트리거인 상태에서 부딪히면 호출되는 함수 

 

 

3.오디오 효과 

 private AudioSource PlayerAudio;
  void Start()
    {
        //Start() => 컴포넌트 참조(시작할때 컴포넌트 대상이 누구것인지)
        PlayerAudio = this.GetComponent<AudioSource>();



    }

 

728x90

'유니티' 카테고리의 다른 글

16  (0) 2023.04.11
16  (0) 2023.04.11
15  (0) 2023.04.10
14  (0) 2023.04.07
14  (0) 2023.04.06