본문 바로가기
제출용/TIL

내일배움캠프 47일차 TIL + 판넬로 띄운 버튼을 누르면 리스타트

by 유린테 2024. 6. 21.

어제 하루종일 여러가지 판넬을 만들었는데,

오늘 게임오버 시 , 게임 클리어 시 나오는 판넬을 만들다 보니

나가기 버튼으로 판넬을 끄는 것 뿐 아닌, 메인씬으로 다시 돌아가는 것 까지 되어야 한다.

 

>> 전에 게임개발종합반 때 카드 뒤집기에서 했던 것 같은데

내가 전에 들으면서 정리했던 자료에 판넬 부분이 빠져있어서.. (오ㅐ지???????) 

내 맘대로 한번 해보았다! 

 


 

 

먼저 이번에도 역시, 게임 오버 시 나올 판넬부터 준비!!! 

근데 유니티에서 UI 부분을 보면 Panel 이라는게 있던데, 뭔지 모르겠어서 일단 이미지로 만들어 사용하고 있다.

나중에 UI - Panel 에 대해 찾아봐야겠다!

 

게임 오버 시 이 판넬이 뜨고, 나가기를 누르면 메인씬으로 다시 이동해야 한다.

>> 판넬이 꺼지고, 메인씬 이동 또한 해야함!

 

처음엔 코드 작성으로 막 if 게임 오버 시 - 판넬 나오기

if - 나가기 버튼 클릭 시 - MainScene 으로 이동하기 이런식으로 코드를 짜야 하나? 라는 생각을 했는데,

판넬 띄우기와 같이 생각해보면, 별도의 스크립트 작성 없이

인스펙터 창 On Click 기능들로만 할 수 있을 것 같다! 

 

먼저, 그래도 버튼을 누르면 MainScene 으로 로드되는 스크립트는 필요한데

IntroScene 에서 MainScene으로 가는 버튼을 만들며 이미 내가 필요한 작동을 하는 스크립트는 작성되어있다!

public void StartBtn()
{
    SceneManager.LoadScene("MainScene");
}

바로 이 StartBtn() 이다.

 

어짜피 내가 원하는건 MainScene으로 가자~ 인데 기능이 같으니 그냥 사용해주도록 하겠다!

물론 나중에 다른 기능들이 더 개발이 되면, 원래 진행중이던 데이터가 저장되어있고, 음악이 안끊기게 하는

그런 것들을 고려해야겠지만 지금은 다른 기능들이 없기 때문에 화면 전환만 생각해서 만들어놓겠다! 히히

 

On Click 을 보니 +가 하나만 되는게 아닌 것 같아서

복잡하게 코드 안쓰고 그냥 On Click을 두번 넣어주면 되지 않나? 라는 생각에 실행해보았다.

 

첫번째는 버튼 클릭 시 판넬이 사라지게 했고,

두번째는 버튼 클릭 시 StartBtn() 함수 작동해서 MainScene으로 넘어가는 것이다.

 

 

그 결과 버튼 누르면 판넬도 잘 닫히고, 메인씬으로 이동도 제대로 되는데

나중에 다른 기능들이 생겼을 때! 뭔가 문제가 생길 일은 없을까? 가 걱정이다.

.. 그건 ... 나중에 문제가 생기면 해결해보도록 하자

걱정단계지만 아직 안해보고서 문제를 파악할 만큼의 실력은 되지 못하기에... 하핫

암튼 이렇게 판넬에서 버튼 누르면 판넬도 닫히고 씬도 바뀌게 해주었다.

 

이상 끝