dico.gif

i15947420946.gif

11123223.gif

huuon2.gif



♨신규 게시물♨




♨신규 댓글♨




♨랭킹 TOP 30♨


  1. 사나 67,479
  2. 얍얍 65,918
  3. 타이갓 55,761
  4. 치즈돈가스덮밥 50,610
  5. ZicP 40,855
  6. 도리toS 35,952
  7. 투혼v 35,898
  8. 헤이브로 32,612
  9. 도리고 29,723
  10. 달콤한 26,316
  11. 깡따구 24,068
  12. AkiREI 23,870
  13. 키호 20,427
  14. 머니 19,189
  15. 개나리 19,047
  16. 안인시우안 18,424
  17. 스쿼드 17,602
  18. 호날두마리치킨 17,482
  19. 코난 17,399
  20. 쯔쯔가무시 16,008
  21. 악당 15,540
  22. 김돈치 14,598
  23. 지금몇시지 14,453
  24. 규따네 13,242
  25. 반가워용 13,211
  26. 메이플젠문가 13,197
  27. 진성TV 11,746
  28. KIM 11,456
  29. 리신 11,455
  30. 어려서부터 11,298

6faa2286ccd015fb37f28f688e13eac6.png

02. 크레이지 아케이드 만들기 (PeekMessage, 게임 구조)

sacyz1n2019.08.10 10:13조회 수 65댓글 2

  • 5
    • 글자 크기

 

안녕하세요.

 

이번 시간은 게임 구조를 살펴보겠습니다.

 

bool Init() : 초기화 함수입니다.

void Update() : 업데이트 함수입니다.

void LateUpdate() : 조금 늦은 업데이트를 하는 함수입니다.

void Render() : 출력함수입니다.

void Release() : 메모리 해제함수입니다. 소멸자 호출 시 Release() 함수를 호출합니다.

 

 

 게임 구조를 작성해보기전에 PeekMessage 라는 함수를 알아보겠습니다.

 

1강에서 말했다시피 GetMessage 함수는 메시지 큐에 메시지가 없을 경우 DeadLock 상태에 빠지게됩니다.

즉, 메시지가 들어올 때 까지 계속 대기하게됩니다.

 

하지만 게임은  메시지가 들어오지않더라도 항상 게임로직이 반복되야합니다.

 

이러한 이유때문에 GetMessage 는 게임을 제작할 때 적합하지 않습니다.

 

그래서 PeekMessage 라는 함수를 사용하게 되는데요. 이 함수는 PeekMessage 메시지큐에 메시지가 있으면 true, 없으면 false를 반환합니다.

 

즉, 주구장창 기다리는게 아니고 있으면  true, 없으면 false를 반환하는것입니다.

 

다음과 같이 설정해줍니다.

 

1.PNG

 

이제 PeekMessage 이후 부분이 게임 로직이 돌아가야할 부분일 겁니다.

 

이제 게임 로직을 전체 관리하는 Core라는 객체를 하나 만들겠습니다.

 

2.PNG

 

3.PNG

 

   현재는 아무것도 없습니다.

   점점 채워나가야할 부분이 될겁니다.

 

  다시 Client.cpp 로 돌아가서 Core.h를 인클루드 한 뒤

 

  다시 메시지 루프부분을 채워보자면

 

  아래와 같이 됩니다.

 

4.PNG

 

 

이런식으로 계속 게임 로직이 반복될것입니다.

 

 

  • 5
    • 글자 크기
03. 크레이지 아케이드 만들기 (타이머 매니저, 싱글톤 패턴) (by sacyz1n) 01. 크레이지 아케이드 만들기 (윈도우 창 보정,) (by sacyz1n)

댓글 달기 WYSIWYG 사용

글쓴이 비밀번호
댓글 2
첨부 (5)
1.PNG
24.6KB / Download 0
">
2.PNG
24.4KB / Download 0
">
3.PNG
19.7KB / Download 0
">
4.PNG
33.0KB / Download 0
">
Framework.zip
12.62MB / Download 0
">

서버에 요청 중입니다. 잠시만 기다려 주십시오...