질주 아이템 관련으로 오늘 다행이 해결되었다

조원분 중 맵 맡아주신분이 해결!

그래서 오늘은 맵에 아이템 배치하는데 집중했다

전체적인 설계도(?)

확대해서 보여주면 스포니깐 이렇게만 올려야지

할일 -> 아직 개별로 되어있는 아이템들이 있다 나중에 부모 오브젝트 하나 만들어서 묶음으로 정리하자

작업 과정

좀더 편한 방법이 있었을까..? 싶지만 뭐 이미 노가다 했는데 끝낸게 중요하지

하나씩 아이템 복사해가며 위치 조정하고 오브젝트에 자식으로 넣어주면 한번에 움직이기 가능 끝~

음 확실히 다른 방법이 있는지 찾아보고 다음에 작업할 맵은 노가다를 하던 방법을 찾아보던 하자


아이템 관련 트러블

아이템중 무적 관련 함수가 있었는데 두개의 아이템이 똑같은 무적 함수를 사용해서 생긴 문제

코루틴이 끝날 때 무적을 해제하는 함수가 들어가있어 발생

같은 무적 함수를 두개의 코루틴 함수가 사용하고 있으니 분리하면 해결되지 않을까?

충돌 판정 해주는 코드에 isInvincible 변수 사용중 무적 변수를 하나 더 추가후 조건을 추가해서 해결 가능

다른 방법도 있지 않을까 싶어서 찾아보다 지금 코드에 어울리는 스택형 발견

private int invincibleStack = 0;

private void SetInvincible(bool value)
{
    if (value)
        invincibleStack++;
    else
        invincibleStack = Mathf.Max(0, invincibleStack - 1);

    isInvincible = (invincibleStack > 0);
}

무적 발생시 스택이 하나 생기고 Mathf.Max 를 이용해서 0을 내려가지 않도록 설정
스택이 1 이상이면 무적 유지

0개의 댓글