Repository files navigation 부트캠프 Chapter 05. Unity 게임 개발 숙련 개인 과제
- 이동 - PlayerController.cs
- 체력 및 스테미나 - PlayerCondtion.cs
- 아이템 - ItemData.cs, ItemObject.cs
- 상호작용 오브젝트 - VendingMachine.cs
- 이동하는 바닥 - MovingBlock.cs(ScriptableObject), MoveBlock.cs(기능 구현)
2D Sprite - Vertical Layout Group 기능 등
Modern Vending Machine - 자판기 오브젝트
Monster_Ghosts_FREE - 캐릭터 오브젝트
마지막으로 밟은 위치를 리스폰할 위치로 정하려 했으나 마지막 점프한 위치로 저장되어 이상한 위치에서 리스폰 하게 됨
-> 방식을 바꿔 마지막으로 밟은 블럭의 중심에서 리스폰하도록 설정
-> OnTriggerEnter를 사용했으나 작동이 잘 되지 않았음
-> 해당 블럭의 Collider 안으로 들어가지 못해 발생한 문제였음
-> 별도의 Collider를 추가하고 블럭보다 살짝 위에 있도록 조정하여 해결
-> 다른 방향도 동시에 누를 경우 스테미나가 더 빠른 속도로 감소하는 상황 발생
-> 별도의 입력이기에 스테미나가 감소하는 기능도 여러 번 실행되었기에 발생한 문제
-> InvokeRepeating을 통해 일정 시간마다 이동 입력을 확인하고 이동 중일 경우 감소하는 것으로 해결
기타 상호작용 아이템들과 유사한 구조로 스크립트를 작성했으나 자판기 설명문이 나오지 않고 오류가 발생
-> 자판기의 하위 오브젝트로 스크립트를 옮기니 문제 해결
위의 문제들을 해결하니 갑자기 " error CS0104: 'Cursor' is an ambiguous reference between 'UnityEngine.UIElements.Cursor' and 'UnityEngine.Cursor'" 라는 오류가 발생
-> 원인을 찾아보니 입력한 적이 없었던 using UnityEngine.UIElements;이 추가되어있음
1) 플레이어가 블럭에 올라갔을 경우 블럭이 중력의 영향을 받고 떨어짐
-> isKinetic을 활성화하는 것으로 해결
2) isKinetic으로 인해 블럭이 이동 x
-> transform.Translate()를 이용해 이동하는 것으로 해결
3) 플레이어가 블럭에 올라타도 같이 이동 x
-> 충돌 시 플레이어 오브젝트를 블럭 오브젝트의 자식 오브젝트로 취급하여 같이 이동하는 것으로 해결
You can’t perform that action at this time.