2008-09-16 9 views
0

Hallo ich möchte ein Spiel mit einem Hauptspielformular und viele andere normale Formen schreiben. Was ist der beste Weg, Update-Paint-Zyklus in diesem Fall zu verwalten?Game Loop und GDI über .NET CF

Sollte die Spielform Paint Loop nur überschrieben werden? oder sollte ich eine application.do events() in der Hauptmethode?

Bitte führen Sie mich diesbezüglich. Ich bin neu in Windows Forms Welt

+0

Ihre Fragen ist "Was ist der beste Weg, Update-Paint-Zyklus in einem Spiel mit einer Hauptspielform mit anderen normalen Formen zu verwalten?" nicht ".NET CF Game Loop". Bitte repariere. – EndangeredMassa

Antwort

1

Ihr logischer Thread sollte vom Formular getrennt sein, sodass Sie DoEvents() nicht benötigen. Wenn Sie GDI + verwenden, sollten Sie ein Update() für eine Schleife erzwingen. In Windows Forms wird die Doppelpufferung nicht sehr gut unterstützt. Je nachdem, wie anspruchsvoll Ihre Grafiken sind, können Sie mit Flimmern Probleme haben.

Mein Vorschlag ist, mit der DirectX managed library zu betrachten. Es ist eine Menge zu lernen, aber gibt Ihnen alles, was Sie brauchen.

EDIT: Ich habe vor kurzem über WPF zu lesen, die für einfache bis mäßig komplexe Spiele wie eine viel bessere Plattform scheint, weil es einen viel höheren Level-API als die DirectX managed Library bietet. Es hat jedoch wahrscheinlich Einschränkungen bei Leistung und Flexibilität für komplexere Spiele.

1

Wenn Sie ein Spiel machen, sollten Sie in DirectX, OpenGL oder XNA suchen.

+0

es ist im Grunde ein Spiel auf GDI + mit vielen Formen und einem Formular mit einigen Spiel Logik drauf, und es ist auf .NET CF – Azlam

+0

Auch hier sollten Sie sich die Technologien, die ich erwähnt, Winforms wird wahrscheinlich nicht unterstützen, was Sie wollen sehr gut. – GEOCHET

2

Der Körper der Frage erwähnt Compact Framework nicht, nur Winforms. Das ist so ziemlich die akzeptierte Antwort für WinForms von Tom Miller (XNA Game Studio und Managed DirectX Typ von Microsoft):

Winforms Game Loop

@Rich B: Das Spiel Schleife ist unabhängig davon, wie der Rendering erfolgt (DirectX , MDX, GDI +)

+0

Ich finde nichts, was Sie im OP sagen. Sein Titel sagt deutlich CF. Und er fragt nach Rendering in einer "Game-Loop". – GEOCHET