안녕하십니까 내일 프로젝트 마무리여서 오늘 최대한 수정하고 추가하고
뭐 할거없나 생각하면서 했습니다.
근데 그러다 버그하나 발견해서 그거 고치는데 시간을 쏟았습니다.
일단 제일 처음 코드가
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); // 스크립트를 비활성화
}
}
그래서 나온게 이 것
아예 표시하고 숨기는걸 다시 짯습니다.
그랬더니 나오는건 ?
옵션을 누르고 아이콘을 눌러도 게임이 그대로 멈추게 됩니다!!!!!!!
온오프만 건들였기때문이죠
진짜 코드해석이 필요한 이유를 다시 한번 느꼇습니다...