SYeonni Study Room
삽질기사 모작(사진정리) 본문
☞ 캐릭터 선택
- 스크롤 값에 따라서 캐릭터 선택 이미지가 변경되는것을 구현
> 알파값으로 따로 조정하지않음 (이유 : 알파값을뺀것보다 흑백사진을 이용하는게 좀 더 이쁘기때문)
> 유저가 좌우키를 이용해서 스크롤 조정
- 이미지는 그대로 있고 스크롤값 변경되도록 구현했다.
☞인벤토리
- 인벤토리를 열면 플레이어가 보유한 매직물약갯수에 따라서 자체 아이템 구매를 할 수 있다.
> 좌우위아래로 이동하여 아이템 정보를 확인 할 수 있다.
> 아이템 정보는 해당 아이템에 맞게 출력된다.
- 커서객체와 아이템 객체의 충돌을 이용
> 아이템정보에 매직물약갯수를 각각 설정하여 구매가능/ 구매불가를 분리시켰다.
- 구매 불가 시 빨간 커서 이미지가 출력되고 구매버튼(D)을 눌러도 구매 불가(사운드도 미출력)
- 구매 가능 시 파란 커서 이미지가 출력되고 구매버튼(D)을 눌르면 매직물약 차감 및 허드에 아이템 이미지 출력, 구매 사운드 출력
☞사다리
- 플레이어가 사다리(타일로 옵션값을 주어 설정)를 그냥 지나칠수있다.
- 타일 충돌은 사다리의 경우 플레이어 위아래로만 충돌체크 하였다.
- 플레이어가 사다리에 위치한 상태에서 위키를 누르면 그때 사다리를 타도록 구현했다.
- 사다리 타는 도중 좌우 방향키를 누르면 사다리를 중간에 탈출할 수 있다.
☞ 보물상자/ 보석돌무덤
- 보석상자
> 닫혀있는 상태에서 플레이어가 공격하면 열쇠가 열리면서 플레이어 모션이 바뀌고 보석이 출력된다.
> 보석은 이미지 drawid를 통해서 좌우로 나오게함
> 그냥 떨어지는것이 아닌 포물선운동을 하도록 함
> 열쇠도 객체를 따로 만들어서 해당 열쇠가 떨어져 나오는것처럼 좀 더 생생하게 만들었음
- 보석돌무덤
> 플레이어가 공격할때마
다 보석이 튀어나오고 돌무덤 이미지가 변경됨
> 보석이 튕겨나올때 x/y 값에 랜덤값을 더해서 일정하지않고 각각 다르게 튕기도록 하였음
> 돌무덤이 작아지면서 소멸된 후에 플레이어가 계속 공격해도 보석이 출력되지 않고 돌무덤은 아예 객체를 dead시켰음
☞패링
1. 물방울
> 물방을은 그냥 점프해서 지나가면 터지지않음
> 아래 공격모션을하고 물방울위에 점프할경우 패링되어 점프된다.
2. 몬스터 공격
> 몬스터가 공격 시 타이밍에 맞게 공격할 시 몬스터 공격이 패링된다.
> 타이밍이 안맞거나 공격안할 시 몬스터 공격에 피해를 입는다.
3. 몬스터
> 기본적으로 몬스터를 위에서 공격 시 몬스터가 피해를 입거나 죽게된다. 이때 플레이어는 패링을 할수있다.
4. 오브젝트
> 충돌체크를 통해서 몇몇의 오브젝트는 플레이어가 아래공격 시 패링을 할 수 있도록 구현
☞압정
- 압정은 오브젝트충돌로 한것이 아니라 타일에 옵션값을 설정하여 플레이어가 해당 타일에 충돌 시 피해를 입도록했다.
- 원래 타일 충돌체크는 플레이어 좌우위아래로 하였지만 해당 압정 타일은 플레이어 아래+현재위치타일로만 충돌처리 체크를 하였다.
☞ 부서지는 타일
- 일반적으로 플레이어가 지나갈 수 없도록 해당 타일에 별도의 옵션값을 설정
- 플레이어가 공격 모션을 취하고 타일에 충돌 시 타일이 부서지는 이펙트가 출력되면서 지나갈 수 있도록 설정
> 타일을 없앤것이 아니라 drawid와 옵션값을 변경하였는데 생각해보면... 예외처리할때 drawid 0 이면 충돌체크하지말라고 해둬서 굳이 옵션값을 변경안해줘도 된닷!
☞ 투석기
(용량제한으로 화질을 낮췄다..ㅠㅠ)
- 투석기를 타면 플레이어가 빠르게 튀면서 마을 끝까지 이동할 수 있다.
- 투석기 위치에 타일옵션값을 주어 해당 타일충돌로 플레이어를 날려버렸다.
- 플레이어가 날아가는 모습을 좀 더 생동감있게 주기위해서 플레이어 모션을 변경 및 통통튀는것을 점점 줄였다.
☞ NPC 대사
- NPC에게 가서 말을걸면 NPC의 모션이 변경되고 상단에 해당 NPC의 허드가 출력된다.
- NPC에게 충돌체크할 렉트를 설정해줘서 플레이어와 충돌 시 스크립트가 출력되게 했는데 이때, 바로 출력되게 하지않고 NPC와 충돌하고 플레이어가 위방향키를 눌렀을때만 대사가 출력되게 하였다.
그래서 NPC를 그냥 지나쳐도 NPC의 대사가 출력되지 않는다.
☞ 미니게임
- 물병
> 랜덤값을 설정하여 랜덤한 x축 위치에 생성되도록 설정했다.
> 생성 시 N초간 머무르면서 N초가 끝난 후 속도의 영향을 받아서 점점 빠르게 아래로 떨어진다.
> 플레이어가 위치한 x축과 방향에 따라서 좌 우 방향으로 날아간다.
> 게임 플레이 시간은 해당 물병 생성갯수에로 조절하였다.
- 히트 판정
> 히트박스 와 물병 충돌체크를 하면 간단하지만 잘못 랜덤한 위치에 생성되어 떨어질때도 생각을 하면 간단하게 충돌체크하면 안됐다.
> 그래서 나는 플레이어가 물병을 패링? 치는 순간에 bool값을 설정해서 물병이 해당 bool값이 true일때 히트 박스와 충돌 시 득점(골드점수)하도록 구현했다.
☞ 중간보스 공격 패턴
- 중간보스 공격패턴은 물병을 던지는데 이때 물병이 날아갈때 스피드를 랜덤으로 줘서 일정하지않게 플레이어가 공격을 쉽게 피하지못하도록 구현
☞ 전환 효과
- 이미지를 사용하지않고 코드로만 위 씬전환을 구현
- 라인을 이용해서 라인의 두께를 조절하여 마치 전환되는 효과를 주었다.
☞잔상
- 몬스터 패턴 중 잔상을 남기면서 플레이어를 혼란에 빠지게 하는 패턴을 구현
> 잔상 객체를 따로 만들어서 해당 패턴 시 생성되게 하였다.
> 잔상이미지를 알파값을 조절하지않고 두개의 이미지를 번갈아 가면서 출력시켰다.

처음 구현해보는것들을 정리해보았는데 위에 정리한 기능보다 더 많이 게임에는 구현해두었으니 아래영상 참고 부탁!
영상은....업로더중.....잠만 기다려주세염ㅁ
'게임제작 > MFC&D2D' 카테고리의 다른 글
MFC 메세지 박스 출력(오징어게임) (0) | 2021.10.12 |
---|---|
HRESULT (0) | 2021.09.11 |
삽질기사 게임 모작(설명 정리) (1) | 2021.09.02 |
MFC 화면 갱신 (0) | 2021.07.26 |
싱글/멀티 텍스쳐랑 친해지기 (지오메트리데쉬게임모작) (2) | 2021.07.26 |