1. 오늘 학습 키워드
Result 제작, 메모리 프리팹
2. 오늘 학습 한 내용을 나만의 언어로 정리하기
메모리라는 부모 프리팹 하위에 버튼과 카드 뷰를 넣어서, 버튼 클릭시에 해당 창이 뜨도록 제작했고,
도트윈을 사용해서 애니메이션을 집어넣고 싶었는데, 어떻게 쓰는건지 모르겠어서 이건 추후에 좀 더 공부를 해봐야겠다.
그리고
초기 풀을 생성할때, Transform이 Content가 아니라 Transform으로 되어있어서
내가 원하는 위치가 아니라 해당 스크립트가 붙은 오브젝트 하위에 생성되는 오류가 있었다.
public void InitPool() //초기 풀 생성
{
for (int i = 0; i < memoryList.Count; i++)
{
GameObject obj = Instantiate(memory, content);
obj.SetActive(false);
pool.Add(obj);
}
}
추후 데이터 매니저가 제작 되면 그때 데이터 매니저에 연결 해주려고 한다.
그리고 게임 플레이를 하면서 결과 창이 필요하여 UI 부분 초안을 제작했다.
이미지는 어드레서블의 캐릭터 데이터를 받아와서 넣어주었고,
텍스트도 불리언을 사용해서 변경해주었다.
이때 제작을 하면서 GetComponent를 사용해서 이미지를 넣으려고 했더니, 배경에 이미지가 들어가서 그냥 유니티에서 할당해줬다
using System.Collections;
using TMPro;
using UnityEngine;
using UnityEngine.AddressableAssets;
using UnityEngine.InputSystem;
using UnityEngine.ResourceManagement.AsyncOperations;
using UnityEngine.UI;
public class Result : MonoBehaviour
{
public bool isCleared;
private TextMeshProUGUI text;
[SerializeField] private Image image;
private void Awake()
{
text = GetComponentInChildren<TextMeshProUGUI>();
SetResult();
}
private void WaitForClicked()
{
if (Input.anyKeyDown)
{
LoadEnding();
}
}
private void LoadEnding()
{
//loading
}
private IEnumerator WaitForInput()
{
yield return new WaitUntil(() => Input.anyKeyDown);
LoadEnding();
}
public void SetResult()
{
text.text = isCleared
? "당신은 모든 것을 이뤄내며 빛나는 결말에 도달했습니다."
: "이 세계에서 당신의 이야기는 끝을 맞이했습니다.";
// 이미지 비동기 로딩
Addressables.LoadAssetAsync<CharacterSO>("Character").Completed += handle =>
{
if (handle.Status == AsyncOperationStatus.Succeeded)
{
CharacterSO character = handle.Result;
image.sprite = character.Image;
StartCoroutine(WaitForInput()); // 이미지가 설정된 후 입력 대기
}
};
}
}
3. 학습하며 겪었던 문제점 & 에러
오늘은 작업 내용이 별로 없어서 문제점이라고 하긴 없었고, 그냥 사소한 이슈가 조금 있었다.
4. 내일 학습 할 것은 무엇인지
결과창에서 엔딩으로 넘어갈 때, 보유하고있는 카드 로직을 제작해주셔서
엔딩과 연결 해주는 것을 목표로 가지고있다.
'TIL' 카테고리의 다른 글
25.04.24 TIL (0) | 2025.04.24 |
---|---|
25.04.23 TIL (0) | 2025.04.23 |
25.04.21 TIL (0) | 2025.04.21 |
25.04.18 TIL (0) | 2025.04.18 |
25.04.17 TIL (0) | 2025.04.17 |