오픈대기.gif

오픈대기.gif

오픈대기.gif

오픈대기.gif

yesmob.jpg

필드.gif

구버전리니지2.0.png

74b86611c417eca8f11f652787bed5c4.gif


♨신규 홍보♨



  1. 투혼v 364,270
  2. 도리toS 294,767
  3. 깡따구 289,013
  4. 동수칸 287,366
  5. 타이갓 225,887
  6. 농민2 223,957
  7. 스쿼드 220,277
  8. 제이스토리 170,382
  9. 하사 163,479
  10. 코난 162,492
  11. 쿠악카미 145,978
  12. 머니 138,188
  13. 묻었다 125,754
  14. 뚜루룽이 125,349
  15. godwk 117,777
  16. 키호 114,157
  17. 나로네 108,764
  18. wkdfj234d 107,093
  19. 환장하겠네 105,067
  20. 김감김 104,970
  21. 도토리 101,886
  22. Sziro 98,837
  23. ll 97,880
  24. 막시무스 96,544
  25. 두현베어스 95,937
  26. ZicP 93,193
  27. 쭈렙 92,112
  28. 리구스 92,099
  29. k5 90,110
  30. 굵은매 89,170

huuon2.gif

토리서버.gif

74b86611c417eca8f11f652787bed5c4.gif

♨신규 게시물♨



♨신규 댓글♨


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

sacyz1n2019.08.10 10:13조회 수 303댓글 3

  • 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)

댓글 달기

댓글 3
첨부 (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
">

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