- 관련게시물 : 댕댕이 서바이벌 #1 - 플레이어 기본 조작
아트를 주어진 한도 내에서만 사용하니
사용할 그래픽 고르기, 살짝 수정하기 정도만 하면 되서
코딩에 더 집중할 수 있는 것 같다.
그림 그리다 코딩하다 할 때보다 훨씬 쾌적해진 느낌.
아직 시스템 기반 잡고있어서 그렇게 느낄수도 있지만...
지난 번 개발일지에 까먹고 작성하지 않은 내용만 잠깐 다루고 넘어가겠다.
조작감을 개선하기 위해 몇가지 기능을 추가했다.
먼저 키보드 입력을 보여주기 위한 친구들.
왼쪽은 방향키, 오른쪽은 데쉬키 담당이다.
보정기능 1. 입력 버퍼
데쉬가 선입력 되더라도 일정 시간 내라면 데쉬가 동작한다.
자세히 보면 버튼을 누른 이후 ㅇ_ㅇ상태로 진입 후 다시 >_<상태로 진입하는 것을 확인할 수 있다.
보정기능 2. 데쉬 방향전환
데쉬 이후 일정시간동안 방향을 전환할 수 있다.
왜 내마음대로 안움직여져! 를 조금은 방지할 수 있을 듯 싶다.
물론 일정 시간 이후에는 아래와 같이 조작할 수 없다.
이미 위 움짤에 포함되어있지만 일정 시간마다 공격하는 무기를 구현했다.
무기와 투사체의 정보를 담고있는 스크립터블 오브젝트, 무기 클래스, 투사체 클래스로 이루어져있고
상속을 통해 여러 종류의 무기들이 구현될 예정이다.
아직까지는 기본 공격인 할퀴기에 해당하는 기능만 있고, 이후 기능 추가시 변동이 있을 수 있다.
항상 느끼지만 설계서를 작성안하고 바로 개발하다보니
처음부터 큰 틀을 생각하며 구현하기보다는 작은 조각부터 시작하는게 나은 것 같다.
이번 작품으로 여유가 생기면 기획서든 개발계획서든 상세설계서든 뭔가 작성하고 다음작품을 개발해야지 싶다.
무기 정보를 담는 스크립터블 오브젝트 스크립트
처음에는 투사체를 발사하고 나서 레벨업을 하게되면
새로 발사된 투사체만 레벨업한 스펙을 갖도록 하려고 생각했다.
하지만 장르가 뽕맛을 느끼게 해주는 장르기도 하고
그걸 신경쓸까 싶어서 그냥 레벨업 시 이미 발사된 투사체도 스텟이 적용되도록 할 것이다.
무기 베이스 스크립트
일단은 간단하게 플레이어에게 컴포넌트로 부착해서 사용한다.
이후에 무기 삭제나 합성 등으로 인해 무기 관리하는 클래스를 만들게 되면
그 때 모노비헤이비어를 떼고 사용할 듯 싶다.
무기 투사체 클래스
할퀴기 같은 경우에는 애니메이션이 끝나면 비활성화 되고,
파이어볼 같은 경우에는 화면 밖으로 나가거나 일정 횟수 타격, 지속시간 등의 조건으로 비활성화 될 듯 싶은데
일단은 어짜피 애니메이터에서 스프라이트와 콜라이더 비활성화 해주는 이상
굳이 애니메이션 끝나는 것을 체크할 필요는 없을 듯 싶어서 간단하게 일정시간 이후 비활성화로 설정.
발톱 클래스
위 베이스 클래스를 상속받아 구현되었다.
할퀴기가 아니라 다른 공격이라도 요런 식으로 간단하게 구현이 가능하지 않을까 싶다.
할퀴기 투사체 클래스
아직 기능이 없다.
몬스터가 추가되면 그 때쯤에 수정될 듯.
WeaponBase 클래스에서 제너릭을 사용해 오브젝트 풀을 애초에 해당 투사체 타입을 저장하는 방식으로 사용해볼까 생각해보았는데,
다운캐스팅을 해야되다보니 몬가... 모르겠다.
일단은 이대로 진행해보도록 하겠다.
내용을 짧게 쓴다고 쓰긴 했는데 코드가 들어가면 역시나 길어지는 듯 싶다.
아직 결과물이랄 게 없다보니 요번에는 코드 위주로 설명했다.
다음번에는 무기 레벨업을 구현해보도록 해야겠다.
댓글 영역
획득법
① NFT 발행
작성한 게시물을 NFT로 발행하면 일주일 동안 사용할 수 있습니다. (최초 1회)
② NFT 구매
다른 이용자의 NFT를 구매하면 한 달 동안 사용할 수 있습니다. (구매 시마다 갱신)
사용법
디시콘에서지갑연결시 바로 사용 가능합니다.