2. 개념이해 -캐릭터
1. 공통된 정보
기본정보(ID, Name, …)
위치정보(X, Y, Direction, AreaRect, …)
비트맵정보(Texture, Width, Height, …)
애니메이션 정보(Frame, MaxFrame, FrameSpeed, …)
RPG캐릭터정보(HP, MP, Level, …)
부가적인 정보 …
37.
2. 개념이해 -캐릭터
2. 공통된 기능
오브젝트 기본(Initialize, Update, Render, …)
캐릭터 기본(Move, Action, ChatBalloon, …)
공격과 피해(Attack, Damage, SkillAttack, …)
외형 변화(FrameUpdate, ColorUpdate, …)
부가적인 기능(Getter/Setter, …)
38.
2. 개념이해 -캐릭터
3. 플레이어 커스터마이징
앞서 보여준 Car-Bus 상속 구조와 같은 경우
상황에 따라 여러가지 경우가 존재
예시 1) 플레이어의 Move 함수에는 Camera 의 이동을 포함
예시 2) 플레이어의 Move/Attack 함수에는 Packet 을 전송
예시 3) 플레이어의 행동에 따른 상황 전개 (NPC 행동 등)
39.
2. 개념이해 -캐릭터
4. NPC 커스터마이징
인공지능 처리(AI_Update, …)
대화걸기 처리(Touch, InTouchArea, …)
이 부분은 기본 오브젝트에서 얼마나 공통적으로
많이 구현하느냐에 따라서 양이 달라짐
40.
2. 개념이해 -캐릭터
5. 오브젝트 관리자
오브젝트 추가/제거(AddObject, RemoveObject, …)
오브젝트 전체 관리(Update, Render, …)
충돌처리(CollisionCheck, MissileCheck: 발사체 충돌처리, …)
기타 기능함수(GetNearestObject: 가장 가까운 객체, …)
41.
어떻게 만들지?
1.타일맵 구현
2. 오브젝트 구현
3. 입력 처리
4. 그 외 전반적인 처리
42.
3. 어떻게 만들지?– 타일맵 구현
1. 번호에 타일맵을 위치시킴
32*32 타일셋을 반복문을 이용하여 그려줌
43.
3. 어떻게 만들지?– 타일맵 구현
2. 번호에 맞는 타일맵을 렌더링
타일셋은 가로 한줄에 8개가 있으므로 8이 기준
44.
3. 어떻게 만들지?– 타일맵 구현
3. 우선순위, 레이어에 맞게 렌더링
1. 우선순위에 초점을 맞춤
2. 해당 우선순위의 레이어1~3을 렌더링
3. 어떻게 만들지?– 입력처리
2. 대화키(스페이스바)를 입력받았을때
지금 바라보고 있는 방향의 바로 앞에
존재하는 오브젝트를 얻어와서
1) 그 오브젝트가 NPC일 경우
대화 다이얼로그의 표시
2) 그 오브젝트가 몬스터일 경우
플레이어에 공격 모션을 취하고
오브젝트에 피해를 입힌다
(뻘겋게 만드는 애니메이션, 체력변수 감소)
52.
3. 어떻게 만들지?– 입력처리
2. 대화키(스페이스바)를 입력받았을때
1) 그 오브젝트가 NPC일 경우
대화 다이얼로그의 표시
2) 그 오브젝트가 몬스터일 경우
플레이어에 공격 모션을 취하고
오브젝트에 피해를 입힌다
(뻘겋게 만드는 애니메이션, 체력변수 감소)
53.
3. 어떻게 만들지?– 입력처리
2. 대화키(스페이스바)를 입력받았을때
2) 그 오브젝트가 몬스터일 경우
플레이어에 공격 모션을 취하고
오브젝트에 피해를 입힌다
(뻘겋게 만드는 애니메이션, 체력변수 감소)