최근 너무 바빠서 개발이 늦어졌다.
대충 이번 일지는, 유저 직관적 이미지 작업을 하였다.
7-1 그림자 생성
떨어지는 오브젝트의 이미지를 그대로 가져와
Shadow라고 새로운 노드를 만들어주고, 그 이미지의 알파값을 변경하였다.
$Sprite.modulate.a = 0 to 1 (작은값이 0 큰값이 1 = 우리가 RGB로 볼땐 0 to 255)
이 알파값을 0 (안보임) 에서 1(보임)까지 delta값으로 증가하게 하였다.
그리곤, 맵에 오브젝트 생성시 동일한 위치 바닥에 그림자를 생성 되도록 함.
7 - 2 그림자 적용 결과물
(검게 변할때가 오브젝트에 맞았을때 표시)
대략 이런느낌이다.
음... 뭔가 이상하다구?
맞다.
캐릭터에서 떨어진 오브젝트의 앞뒤 거리 구분이없다.
무조껀 앞에 그려진다.
왼쪽 노드 순서대로 렌더링 됨으로, 동전앞뒤처럼 둘중 하나만된다.
8-1 오브젝트(+그림자)의 거리 구분
우선 좀더 구분하기 편하게 맵을 작게하고 보면
캐릭터 중심으로 앞뒤구분이 안된다.
오브젝트 노드가 플레이어 노드보다 위에 있기때문이다.
현재 떨어지는 오브젝트가 닿을시,
플레이어가 서있는 바닥의 좌표 == 오브젝트가 떨어진 좌표가 서로 같다면, Hit 판정이된다.
이를 이용해서,
플레이어 좌표 <= 오브젝트 좌표 일시, 해당 index의 오브젝트의 z_index = 1로한다. (기본은 0)
그렇게되면, 보통은 플레이어보다 뒤에 그려지고
맞는 위치거나, 맞는순간 플레이어보다 앞쪽 좌표면 앞쪽으로 그려진다.
8-2 거리 구분 결과물
이제, 플레이어 중심으로 앞뒤에 떨어지는 오브젝트가 구분되어 렌더링된다.
이제 라운드에 맞게 난이도(낙하속도, 스폰시간,갯수, 맵크기) 등을 조절하면 된다.
사실상 메인 게임 메커니즘은 완성이다.
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
추가로
- 라운드 마다 방어 아이템 가챠 시스템
- 오브젝트 밟을시 일정 거리 미끄러짐 (데미지 없음/일시적 조작불가)
- 플레이어/오브젝트 애니메이션 추가.
- 스토리 + 디자인 + 사운드
4가지만 넣으면 완성!
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
여담으로, 필자는 고도엔진을 접한지 얼마 안되었고,
완성된 프로젝트는 0 개이다.
따라서 이번 프로젝트의 목표는, '하나의 온전한 게임'으로써의 완성을 목표로 하고있다.
고지가 눈앞이다. 힘내보자!
고도엔진 갤러리 개발자들 화이팅!
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
커피?
똥은 먼가 드럽자나 ㅋㅋㅋ
ysort 노드잇음 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
있는거 알지만, tilemap 에서 개별적 sort가 들어가니 적용하기가 좀 애매. 그래서 직접 z_index가지고 드로잉 관리하려고
호에엥 모르겟서요...
사실 나도 잘 모르겠음 ㅋㅋㅋ 일단 tilemap있으면 ysort가 안먹힘.
타일맵에서 ysort가 먹히는데 개별 타일의 오리진이 어디냐에 따라서 그게 적용이 되는것처럼 보이거나 안그러거나 함 개별 타일의 스프라이트 포지션값 조절하면 되긴함 근데 문제는 저렇게 캐릭터가 길쭉하면 잘 안될 가능성이 큼
1.떨어지는위치가 화면위에있어야 더 자연스러울거임 2.떨어질때 해당 타일이 깜빡이면 피하는데 직관적일거같은데 어떰 - dc App
1. 이미 화면위에 있음. 지금은 작업시 생성점 확인하려고 조금 내려놓음. 2. part3#편 글 보면, 작업시 확인용으로 만들어놓긴 했는데.. 이걸 게임에 적용하기엔 뭔가 디자인적으로 좀 그렇지않나? 그림자+ 바닥에 커피콩 뭉게지는 애니메인션이 더 자연스러울거같아서... 디자인은 사실 잘 모르겠음. (근데 이거 댓글에 줄바꿈 어케하지. 엔터치면 등록되는데..)