본문 바로가기

분류 전체보기40

02 상호작용 기능 NPC, ITEM 습득과 같은 상호작용 시스템을 구축한다. ※ 모바일 플랫폼이지만 테스트를 위해 키보드 기준으로 작성한다. 1. 키보드 F키를 누르면 상호작용이 일어난다. 2. OverlapSphere를 이용해 플레이어 반경 2m 안에 상호작용 레이어들을 수집한다. 3. 수집된 레이어중 앞 번호를 가져온다. 4. 번호에 해당하는 오브젝트를 선택한다. 5. 선택된 오브젝트와 플레이어 거리를 측정하고, 반응될 거리면 npc는 대화창을 아이템은 획득한다. ! 기존 상호작용 물체가 같은 경우는 선택 취소를 하면 안됨. 코드 더보기 구현 영상 리펙토링 더보기 ※ 추가할 것 : 인벤토리, 대화창 시스템 2019. 12. 6.
01 캐릭터 이동 기능 일단 모바일 플랫폼이지만 쉬운 테스트를 위해 키보드 기준으로 작성한다. 1. wsad를 통해 horizontal과 vertical 값들을 계산한다. 2. horizontal과 vertical값을 통해 방향과 이동거리를 도출한다. 3. Player의 Rigidbody에 방향 * 이동 속도 * 이동 거리를 계산한다. ! 움직이는 방향으로 캐릭터를 회전한다. ! 달리기와 걷기는 구분한다. + 추락 상태 코드 더보기 작동 과정 리펙토링 기능은 구현되었지만 코드가 너무 지저분하다. 조건문, 명칭, 스코프 등을 넣어 직관성을 높인다. 더보기 2019. 12. 5.
리펙토링 2부 리펙토링 1부 : https://noooong1231.tistory.com/10 리펙토링 1부 개요 ▪ 정의 : 소프트웨어를 보다 쉽게 이해할 수 있고, 적은 비용으로 수정할 수 있도록 겉으로 보이는 동작의 변화없이 내부 구조를 변경하는 것이다. ▪ 이유 : 디자인을 개선하기 때문에 이해하기 쉬워진다... noooong1231.tistory.com 리펙토링 방법 메소드 정리 (Composing Methods) ▪ 대부분의 문제는 긴 메소드에서 나온다. 긴 메소드는 많은 정보를 가지고 있기 때문에 복잡하다. 그래서 이해하기어렵다. 가장 중요한 리펙토링은 Extract Method(메소드 나누기)인데, 이것은 덩어리를 별도의 메소드로 뽑아내는것이다. 다만 지나치게 남발하면 너무 조각이나 Inlune Meth.. 2019. 12. 4.
리펙토링 1부 개요 ▪ 정의 : 소프트웨어를 보다 쉽게 이해할 수 있고, 적은 비용으로 수정할 수 있도록 겉으로 보이는 동작의 변화없이 내부 구조를 변경하는 것이다. ▪ 이유 : 디자인을 개선하기 때문에 이해하기 쉬워진다. 즉 버그를 찾기 쉬워지고, 프로그램을 빨리 작성할 수 있다. ▪ 시기 : 다른 기능을 추가할 때 리펙토링을 하면 코드에 대한 이해도가 높아져 속도가 빨라진다. 버그를 수정할 때 해라. ▪ 문제 : DB, 인터페이스 변경 ▪ 방법 : 그럴듯한 솔루션을 만들고 나서 코딩을 하고 리펙토링 한다. 정확한 디자인을 하는 것이 아니라 '적절한 솔루션'을 먼저 찾는 것이다. Bad Smeels in Code 어떠한 리펙토링을 해야 할 지 확신히 없을 때 참조할 것. 중복된 코드 (Duplicated Code) .. 2019. 12. 2.