Je veux créer un objet cercle, le placer sur l'écran avec une vélocité et le faire rebondir dans les limites. Je peux très bien configurer la classe de cercle, mais comment puis-je peindre l'objet (et plusieurs plus tard, disons cliquer et vous obtenez plus d'objets de cercle) et montrer son mouvement?Comment créer un objet et le peindre pendant qu'il se déplace?
Répondre
Le dessin peut être réalisé d'au moins 3 manières différentes dans les frameworks .NET (WFA, WPF et XNA). Pour cette réponse, je suppose que vous utilisez le plus simple: une application WinForms.
Dessiner/peindre des formes personnalisées dans .NET est accompli en utilisant la classe Graphics
. Tous les contrôles de formulaire ont une méthode CreateGraphics()
, qui vous donne une référence à une "boîte" sur l'écran avec la taille et l'emplacement du contrôle sur lequel vous avez appelé la méthode. En utilisant cette instance Graphics
, vous pouvez appeler différentes méthodes Draw (comme DrawCircle()
) pour mettre des formes à l'écran. Vous aurez besoin de lire sur les objets Pen
, Brush
et Color
; ils vous permettent de définir la bordure, le remplissage et la couleur de votre cercle. Je placerais la logique de dessin dans la méthode OnPaint()
du contrôle, qui est appelée chaque fois qu'on demande à la fenêtre de se redessiner. Pour que votre objet se déplace à intervalles réguliers, configurez un Timer
avec un intervalle régulier et abonnez-vous à son événement Tick
avec un gestionnaire qui exécutera la logique de déplacement. Après avoir effectué chaque déplacement, appelez le Invalidate()
sur le contrôle pour lequel vous avez traité le Graphics; cela entraînera le contrôle à se redessiner. J'éviterais d'avoir le handle graphique pour un formulaire entier, ou n'importe quel contrôle sur lequel vous placez d'autres contrôles imbriqués, car un contrôle qui se repeindrait lui-même dira également à tous ses contrôles imbriqués de se repeindre. Un Panel
ou PictureBox
occupant un span dans la fenêtre de formulaire est la méthode de référence pour les graphiques personnalisés. Vous pouvez également envisager d'implémenter des graphiques à double tampon à l'aide d'un objet BufferedGraphicsContext
ou de lancer le vôtre en dessinant vos formes personnalisées sur un Bitmap
que vous définissez comme image pour un PictureBox
.
Démarrer avec la méthode OnPaint prioritaire sur le formulaire et ajouter une logique de tirage il
protected override void OnPaint(PaintEventArgs e)
{
e.Graphics.DrawEllipse(new Pen(Color.Red), 0, 0, 100, 100);
}
- 1. objet se déplace dans l'accéléromètre
- 2. scrollrect se déplace avec un objet - aide?
- 3. La section centrale se déplace pendant le zoom
- 4. Comment définir le style de dégradé pour peindre un objet?
- 5. Chargement et déchargement des images d'arrière-plan pendant que le jeu se déplace
- 6. AASM: Vérification de l'identité objet se déplace un état avant
- 7. Comment garder un objet en vue d'un scrollview pendant que l'animation déplace l'objet hors écran
- 8. Faire un objet qui se déplace à vitesse constante
- 9. Alternez une image pendant qu'elle se déplace dans Pygame
- 10. fixe div pendant le défilement qui se déplace d'autres éléments dans un menu
- 11. comment faire un textField se déplace
- 12. Comment fonctionne Object.GetHashCode lorsque le GC déplace un objet?
- 13. objet physique ne se déplace pas avec sprite
- 14. Comment faire pour déplacer un mc pendant que l'autre mc se déplace as3
- 15. objet en mouvement lorsque la souris se déplace as3
- 16. Demander à un sprite de laisser une trace pendant qu'il se déplace
- 17. MKMapView se déplace sur l'écran
- 18. Créer pendant et Focus
- 19. souris vers le bas et se déplace vers le bas
- 20. AccordionPanel se déplace Horaire
- 21. UIScrollView se déplace seul
- 22. CAKeyframeAnimation - se déplace le long du chemin et utilise l'accélération
- 23. ne peut pas appuyer sur le bouton pendant qu'il se déplace
- 24. Le sprite Android se déplace lorsqu'il est supposé être stationnaire
- 25. Le texte se déplace sous différentes résolutions
- 26. Le bouton se déplace par clic
- 27. Texte se déplace lorsque le navigateur redimensionne
- 28. Dessiner un MovieClip pour bitmapdata se déplace
- 29. un href se déplace avec zoom avant et arrière
- 30. Comment peindre à un bitmap
Ce genre est d'une grande question avec beaucoup de sous-thèmes spécifiques. Vous voudrez peut-être diviser votre question en questions distinctes plus ciblées. – asawyer
Utilisez-vous WinForms, APS, WPF ou Silverlight? –
Ceci est avec WinForms. – akd