최근 너무 바빠서 개발이 늦어졌다.


대충 이번 일지는, 유저 직관적 이미지 작업을 하였다.




7-1 그림자 생성





viewimage.php?id=2ab2d429f1&no=24b0d769e1d32ca73ceb86fa11d02831eebc6c37c2fa034916facb03212705edea89586d6295f1d29755ec30c537e6cc6273820c514e38a164d688346c6e576628



떨어지는 오브젝트의 이미지를 그대로 가져와

Shadow라고 새로운 노드를 만들어주고, 그 이미지의 알파값을 변경하였다.


$Sprite.modulate.a = 0  to 1  (작은값이 0 큰값이 1 = 우리가 RGB로 볼땐 0 to 255)

이 알파값을 0 (안보임) 에서 1(보임)까지 delta값으로 증가하게 하였다.


그리곤, 맵에 오브젝트 생성시 동일한 위치 바닥에 그림자를 생성 되도록 함.




7 - 2 그림자 적용 결과물




viewimage.php?id=2ab2d429f1&no=24b0d769e1d32ca73ceb86fa11d02831eebc6c37c2fa034916facb03212705edea89586d62d1a1859138e83dc035e4a49353602ebb0d8875c19a2efe


(검게 변할때가 오브젝트에 맞았을때 표시)



대략 이런느낌이다.


음... 뭔가 이상하다구? 

맞다.


캐릭터에서 떨어진 오브젝트의 앞뒤 거리 구분이없다. 

무조껀 앞에 그려진다. 

왼쪽 노드 순서대로 렌더링 됨으로, 동전앞뒤처럼 둘중 하나만된다.





8-1 오브젝트(+그림자)의 거리 구분





viewimage.php?id=2ab2d429f1&no=24b0d769e1d32ca73ceb86fa11d02831eebc6c37c2fa034916facb03212705edea89586d62d1a1859138e83dc035e4a49e576d28e80a8920c19a2efe




우선 좀더 구분하기 편하게 맵을 작게하고 보면

캐릭터 중심으로 앞뒤구분이 안된다.

오브젝트 노드가 플레이어 노드보다 위에 있기때문이다.



현재 떨어지는 오브젝트가 닿을시,

플레이어가 서있는 바닥의 좌표 == 오브젝트가 떨어진 좌표가 서로 같다면, Hit 판정이된다.


이를 이용해서,

플레이어 좌표 <= 오브젝트 좌표 일시, 해당 index의 오브젝트의 z_index = 1로한다. (기본은 0)


그렇게되면, 보통은 플레이어보다 뒤에 그려지고

맞는 위치거나, 맞는순간 플레이어보다 앞쪽 좌표면 앞쪽으로 그려진다.





8-2 거리 구분 결과물




viewimage.php?id=2ab2d429f1&no=24b0d769e1d32ca73ceb86fa11d02831eebc6c37c2fa034916facb03212705edea89586d62d1a1859138e83dc035e4a49f53607aee598e71c19a2efe




이제, 플레이어 중심으로 앞뒤에 떨어지는 오브젝트가 구분되어 렌더링된다.



이제 라운드에 맞게 난이도(낙하속도, 스폰시간,갯수, 맵크기) 등을 조절하면 된다.

사실상 메인 게임 메커니즘은 완성이다.

 



ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ


추가로 

- 라운드 마다 방어 아이템 가챠 시스템

- 오브젝트 밟을시 일정 거리 미끄러짐 (데미지 없음/일시적 조작불가)

- 플레이어/오브젝트 애니메이션 추가.

- 스토리 + 디자인 + 사운드


4가지만 넣으면 완성!



ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ


여담으로, 필자는 고도엔진을 접한지 얼마 안되었고,

완성된 프로젝트는 0 개이다. 

따라서 이번 프로젝트의 목표는, '하나의 온전한 게임'으로써의 완성을 목표로 하고있다.

고지가 눈앞이다. 힘내보자! 

고도엔진 갤러리 개발자들 화이팅!


ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ