본문 바로가기

Programming/C#/Xna/Kinect/WPF

[XNA] Framework의 기본 Logic흐름도




XNA로 게임을 만들때 기본적으로 상속을 받는 Game클래스다. 이 안에 기본적인 함수들이 모두 정의되어 있다.

이 함수들의 동작 체계를 좀 더 세부적으로 쪼개서 보도록 하자.

 

1.  Main 시작점에서 using문안에 있는 게임의 생성자를 호출.

2.  게임의 생성자가 각 게임에 필요한 컴포넌트들을 생성.

3.  각각의 생성된 컴포넌트들의 생성자 호출.

4.  게임의 Initialize() 메소드 호출.

5.  각 Drawable게임컴포넌트들의 LoadGraphicContet(), LoadContent() 메소드 호출.

6.  게임의 LoadGraphicContet(), LoadContent() 호출.

7.  게임의 Update() 메소드 호출.

8.  각 게임 컴포넌트들의 Update() 메소드 호출

9.  게임의 Draw() 메소드 호출

10. 각 Drawable게임컴포넌트들의 Draw() 메소드 호출.

11. 게임실행도중 -> 7번~10번까지 무한루프.

12. 장치유실(사용자가 창을 다른모니터로 옮겼거나, 화면해상도를 바꾸었거나, 창이 최소화된경우 등)

     이 발생한 경우 UnloadGraphicContent() 메소드 호출.

13. 장치가 리셋된 경우 6번부터 다시 시작

14. 게임 종료를 선택후.

15. 게임의 Dispose() 메소드 호출.

16. 게임의 Dispose() 메소드가 기본 개체의 Dispose() 메소드를 호출.

17. 각 게임컴포넌트들의 Dispose() 메소드 호출.

18. 게임의 UnloadGraphic(), UnloadContent() 메소드 호출.

19. 게임의 Dispose() 메소드에 Focus를 돌려준 후 종료.



'Programming > C#/Xna/Kinect/WPF' 카테고리의 다른 글

[C#] 컴파일러와 dll파일  (0) 2012.11.20
[C#] ListView에서 Tag의 활용  (0) 2012.11.15
[C#] Cross Thread 처리방법  (0) 2012.11.12
[C#] Dictionary (Map) 예제  (0) 2012.10.23
[Luainterface] C#에서 루아 사용하기  (0) 2012.10.17