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

È stato utile?

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

Ciclo di gioco Winforms

@Ricco B:Il loop del gioco è indipendente da come viene eseguito il rendering (DirectX, MDX, GDI+)

Se stai realizzando un gioco, dovresti esaminarlo DirectX, OpenGL, O XNA.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top