[TIL] 25일차 - 팀 과제 계속하기

김유원·2024년 1월 26일
0

📝 24.01.26

오늘도 팀 과제를 진행했다. 그런데 오늘은 기본적으로 버그 픽스나 사이클 조정 등을 많이 하다보니 딱히 적을 게 없다...

일단 대표적으로 진행한 것 하나는 Player 오브젝트를 GameManager에 넣는 방식으로 바꿔준 것이다.

왜냐하면 현재는 맵 생성과 캐릭터 이동이 로컬좌표계가 아닌 월드 좌표 기준으로 되어있어서, 매번 덧셈 이동해줘야 한다는 문제가 있었다.

하지만 만약 이 Player 오브젝트를 이동할 때마다 생성된 맵의 자식 오브젝트로 넣어주면, 새로이 생성된 맵 기준의 로컬 좌표를 사용할 수 있게 된다. 더 쉬운 이동이 가능해지는 것이다.

참고로 이 맵의 순간이동 포탈의 경우에는 따로 기존에는 Map.cs에서 관리했었는데, 위와 동일한 이유로 아이템과 몬스터 등도 맵 오브젝트의 자식으로 생성하게 되니 OnTrigger가 포탈이 아닌 다른 오브젝트에서도 발동되는 문제가 발견되었다.

그래서 MapPortal.cs를 새로 작성하여 Portal 오브젝트에 달아주었다.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class MapPortal : MonoBehaviour
{
    bool isUsed = false;

    private void OnTriggerEnter2D(Collider2D other)
    {
        if (other.tag == "Player")
        {
            //TODO: Change to ButtonClicked
            MapCreator.instance.CreateNextMap();
            isUsed = true;
        }
    }
}



오랜만에 프로그래머스 풀이를 작성했다.

📕 [프로그래머스] 숫자 문자열과 영단어

profile
개발 공부 블로그

0개의 댓글

관련 채용 정보