Je travaille actuellement sur un éditeur de niveau pour XNA qui est construit en combinant Windows Forms et XNA. J'utilise des trucs de l'exemple sur App Hub link text, mais j'ai apporté quelques modifications, donc j'ai une classe ViewportController qui gère tous les contrôles viewport, au lieu que le formulaire les gère directement. Le problème est que lorsque j'ai besoin de mettre à jour la méthode Draw, je dois secouer la fenêtre. Quelqu'un sait comment résoudre ce problème, de sorte que le Draw sera mis à jour en temps réel?Windows Forms et XNA - Draw n'est pas temps réel
Répondre
Vous ne savez pas ce que peut être un ViewportController. Toutefois, la méthode Draw() est déclenchée par une demande de peinture Windows. Cela exécute la méthode Control.OnPaint(), il existe un remplacement dans la classe GraphicsDeviceControl qui provoque l'exécution de Draw().
L'échantillon SpinningTriangleControl montre comment vous obtiendrez un contrôle de se redessiner à plusieurs reprises, ce que vous devez obtenir animé:
// Hook the idle event to constantly redraw our animation.
Application.Idle += delegate { Invalidate(); };
Notez l'appel de la méthode Control.Invalidate(), qui est ce que la suite provoque l'exécution de la méthode OnPaint(). L'utilisation de l'événement Idle garantit que cela est fait encore et encore, mais seulement si le thread principal n'est pas occupé avec quoi que ce soit. Cela n'est pas nécessaire pour les contrôles qui affichent uniquement du contenu statique, comme l'exemple SpriteFontControl. Une autre façon de le faire est d'utiliser un Timer avec un Intervalle court, son gestionnaire d'événement Tick peut appeler Invalidate().
- 1. Combinaison de Windows Forms et XNA, mais manque d'instance "Game"
- 2. Méthode d'extension XNA SpriteBatch Draw throws ArrayTypeMismatchException
- 3. UISlider et temps réel
- 4. enregistrement en temps réel
- 5. Cloner MovieClip en temps réel
- 6. Diffusion en temps réel
- 7. Filetage C# et Windows Forms
- 8. Temps réel avec Rails
- 9. Intégrer WPF et Windows Forms
- 10. Windows forms: PropertyGrid
- 11. Windows Forms WebBrowser Control et AJAX
- 12. Solution de synchronisation de fichiers en temps réel pour Windows?
- 13. XNA: Les fonctions de remplacement DrawableGameComponent de base (Update, Draw, etc) ne sont pas appelées
- 14. windows forms
- 15. Graphes en temps réel
- 16. Recommandé .Net soft temps-réel
- 17. Contrôle en temps réel de Windows Console jeu
- 18. C# Temps réel Try Catch
- 19. Rails Time.now, montre le serveur de temps commencé et pas le temps réel
- 20. Java Stack/Nest Count
- 21. CorePlot graphique en temps réel
- 22. SpeechRecognitionEngine.SetInputToAudioStream streaming audio en temps réel
- 23. Services Web en temps réel
- 24. Windows Forms et le problème ShowDialog
- 25. Traitement et rappels en temps réel avec Python et C++
- 26. Lucene indexation en temps réel?
- 27. HTML5: son en temps réel
- 28. Windows Forms GUI Stuck
- 29. AddMessageFilter sans Windows Forms?
- 30. Liaison LINQ à SQL et Windows Forms
Merci! Je suppose que j'ai raté cette partie :-) – Basic