Domanda
Ciao, voglio scrivere un gioco con una forma di gioco principale e molte altre forme normali.Qual è il modo migliore per gestire il ciclo di aggiornamento-verniciatura in questo caso?
È necessario sovrascrivere solo il loop di pittura del modulo di gioco?o dovrei fare un application.do events() nel metodo principale?
Per favore guidami riguardo a questo.sono nuovo nel mondo di Windows Form
Soluzione
Il tuo thread logico dovrebbe essere separato dal modulo, quindi non avrai bisogno di DoEvents().Se stai utilizzando GDI+, dovresti forzare un Update() su un ciclo.Windows Forms non esegue molto bene il doppio buffering, quindi a seconda di quanto sofisticata sarà la tua grafica potresti avere qualche difficoltà con lo sfarfallio.
Il mio suggerimento è di provare a utilizzare il file Libreria gestita DirectX.C'è molto da imparare, ma ti dà tutto ciò di cui hai bisogno.
MODIFICARE:Recentemente ho letto di WPF, che sembra una piattaforma molto migliore per giochi da semplici a moderatamente complessi, perché fornisce un'API di livello molto più elevato rispetto a Libreria gestita da DirectX.Tuttavia, probabilmente presenta limitazioni in termini di prestazioni e flessibilità per i giochi più complessi.
Altri suggerimenti
Il corpo della domanda non menziona Compact Framework, solo Winforms.Questa è praticamente la risposta accettata per Winforms di Tom Miller (Xna Game Studio e Managed DirectX di Microsoft):
@Ricco B:Il loop del gioco è indipendente da come viene eseguito il rendering (DirectX, MDX, GDI+)