사생활 보호 설정
https://gamjia.tistory.com
Updated News
Mini Rooms
답글수 [0]
What Friends Say
한마디로 표현해봐~
1촌평 관리
퍼즐게임 개발일지 - 16
GamJia 2024. 3. 5. 08:48
퍼즐게임 개발일지 16편게임 이름 공개
게임의 이름은 "6월의 밤"
로고는 동생이 담당했다
내가 빵 하나 사주면서
로고 디자인 좀 해줘 했는데
다음날 시안을 6개 들고 와서 보여줬다
근데 진짜 다 너무너무 맘에 들었다
이래서 디자이너를 쓰는구나 싶었다
여담이지만 지인들은 다른 로고가 더 좋다고 했는데 이거 골랐다(미안)
암튼 인트로 씬에
버튼을 두개 추가했다
누가봐도 알 수 있듯이
이어하기, 나가기 버튼이다
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using UnityEngine.SceneManagement; public class SceneLoader : MonoBehaviour { void Start() { if (PlayerPrefs.HasKey("SavedScene")) { GetComponentInChildren<Text>().text = "이어하기"; } else { GetComponentInChildren<Text>().text = "처음부터"; } } public void OnButtonClick() { if (PlayerPrefs.HasKey("SavedScene")) { SceneManager.LoadScene(PlayerPrefs.GetString("SavedScene")); } else { SceneManager.LoadScene(1); } } }
아주 간단한 코드를 만들었는데
현재 저장된 Scene이 있으면
버튼의 text가 이어하기
없으면 처음부터 라고 써지게 한 다음
Onclick 이벤트로 저장된 scene이 있을 경우
그 scene으로 이동, 아니면 1번 scene으로
이동하게 코드를 작성했다
근데 여기서 1번 scene은 뭘 말하는거냐면
build Setting에 들어가면
이런 화면을 볼 수 있는데
scene의 index가 1번인 scene을 말한다
나 같은 경우에는 첫번째 스테이지
scene을 걸어두었다
게임에 들어갔고 아직 저장된
scene이 없어서 버튼에는 처음부터,
넘어가는 scene은 1번이 됐다
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.SceneManagement; public class SceneSaver : MonoBehaviour { void OnApplicationQuit() { SaveCurrentScene(); } public void SaveCurrentScene() { PlayerPrefs.SetString("SavedScene", SceneManager.GetActiveScene().name); PlayerPrefs.Save(); } }
그리고 Intro Scene을 제외한
나머지 Scene에 Scene Saver라는걸 만들어서
나갈 때 scene을 저장하게 했다
테스트를 위해 1번이 아닌 2번 Scene에서
먼저 플레이를 했고 퍼즐 하나를 맞춰보았다
그러고 나갔다가오니 오 문구가 바뀌었다!
But 퍼즐 조각과 관련된 데이터는 저장되지 않았다..
전체 내용은 비공개.....
퍼즐의 이름, 풀었나? 정보를 puzzledatalist에 넣어두고
시작할 때 가져와서 확인 후 만약에
이미 푼 퍼즐이라면 화면에 표시하게 끔 해주었다
퍼즐 2개를 맞춰두고 나갔다왔더니!
그래도 맞춘 퍼즐은 잘 남아있는걸 확인했다!!! 굿굿
오늘 근데 왜케 졸리지 자야겟다 쿨쿨