문제

안녕하세요. 저는 메인 게임 형식과 기타 다양한 일반 형식으로 게임을 작성하고 싶습니다.이 경우 업데이트-페인트 주기를 관리하는 가장 좋은 방법은 무엇입니까?

게임 양식 페인트 루프만 재정의해야 합니까?아니면 기본 메소드에서 application.do events()를 수행해야 합니까?

이에 관해 안내해 주십시오.나는 Windows Forms 세계를 처음 접했습니다.

도움이 되었습니까?

해결책

논리 스레드는 양식과 분리되어야 하므로 DoEvents()가 필요하지 않습니다.GDI+를 사용하는 경우 루프에서 Update()를 강제 실행해야 합니다.Windows Forms는 이중 버퍼링을 잘 수행하지 않으므로 그래픽이 얼마나 정교한지에 따라 깜박임으로 인해 어려움을 겪을 수도 있습니다.

내 제안은 DirectX 관리 라이브러리.배울 것이 많지만 필요한 모든 것을 제공합니다.

편집하다:저는 최근에 WPF에 대해 읽었습니다. WPF는 WPF보다 훨씬 높은 수준의 API를 제공하기 때문에 간단하고 중간 정도로 복잡한 게임에 훨씬 더 나은 플랫폼인 것 같습니다. DirectX 관리 라이브러리.그러나 더 복잡한 게임의 경우 성능과 유연성에 제한이 있을 수 있습니다.

다른 팁

질문 본문에는 Compact Framework가 언급되지 않고 Winforms만 언급되어 있습니다.이것은 Tom Miller(Microsoft의 Xna Game Studio 및 Managed DirectX 담당자)가 Winforms에 대해 허용하는 답변입니다.

Winforms 게임 루프

@리치B:게임 루프는 렌더링이 수행되는 방식(DirectX, MDX, GDI+)과 독립적입니다.

게임을 만들고 있다면 꼭 살펴봐야 할 내용 다이렉트X, OpenGL, 또는 XNA.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top