본문 바로가기

카테고리 없음

10월 19일 공부

안녕하십니까 내일 프로젝트 마무리여서 오늘 최대한 수정하고 추가하고

뭐 할거없나 생각하면서 했습니다.

 

근데 그러다 버그하나 발견해서 그거 고치는데 시간을 쏟았습니다.

 

일단 제일 처음 코드가

 

더보기

 public void StopTime()
 {
     Option.SetActive(true);
     if (Option.activeSelf == true && !pause)
     {
         pause = true;
         Time.timeScale = 0;
     }
     else if (Option.activeSelf == true && pause)
     {
         pause = false;
         Option.SetActive(false);
         Time.timeScale = 1;
     }
 }

이렇게 되어었습니다.

 

사실 이렇게 적용한 이유는 옵션버튼을 클릭하면서 게임의 멈추는 로직을 구현한거여서

 

이렇게 적용을 한거였는데

 

이게 다른 아이콘에도 저게 적용이 되었던거였어요 ; 그래서 아이콘을 눌러 오브젝트를 온오프를하면

 

게임이 멈추는게 아닌 그 상태에서 시간이 지나가게 되더라고요.. 그래서 수정했습니다.

 

 

더보기

 public void StopTime()
 {
     Option.SetActive(true);
     if (Option.activeSelf == true && !pause)
     {
         pause = true;
     }
     else if (Option.activeSelf == true && pause)
     {
         pause = false;
         Option.SetActive(false);
     }
 }

딱 타임스케일만 삭제해서 시간만 안가게 하면 되는거아냐? 했는데

 

똑같은 오류가 그대로 걸려서 아 이건 근본부터가 잘못되었다 싶어서 구글링 및 open API의 힘을 빌렸습니다.

 

더보기

public class FAQ : MonoBehaviour
{
    public Button Btnn;
    public GameObject Option;
 
    bool pause = false;
    public void ToggleOption()
    {
        if (Option.activeSelf == false)
        {
            Option.SetActive(true); // 스크립트를 활성화
        }
        else
        {
            Option.SetActive(false); // 스크립트를 비활성화
        }
    }

그래서 나온게 이 것 

 

아예 표시하고 숨기는걸 다시 짯습니다.

 

그랬더니 나오는건 ?

 

옵션을 누르고 아이콘을 눌러도 게임이 그대로 멈추게 됩니다!!!!!!!

 

온오프만 건들였기때문이죠

 

진짜 코드해석이 필요한 이유를 다시 한번 느꼇습니다...