web-dev-qa-db-fra.com

Comment créer une animation fluide à l'aide de formulaires Windows C #?

en raison de mon projet scolaire, je dois créer un jeu en utilisant uniquement des formulaires Windows.

J'ai décidé de créer un jeu de course en 2D. Alors maintenant, je dois déplacer l'image de la voiture. Pour le déplacer, j'ai essayé d'animer la voiture avec l'événement KeyDown, mais l'animation est vraiment Falter. Alors, y a-t-il un autre moyen de créer une animation? ou est-il possible de le croire d'une manière ou d'une autre? (Pour la voiture, j'utilise un PictureBox qui s'est ancré au formulaire et dans son événement Paint, redessinant la voiture dans les positions de fenêtre appropriées.)

6
HuMMeR-SI

Ce message devrait résoudre vos problèmes: simple-animation-using-c-windows-forms

Il détaille comment il a codé l'animation sous forme de fenêtres et répond à certaines de vos questions.

Si cela ne résout pas le problème, cherchez des bibliothèques XNA, comme le dit Freeman.

5
Kobunite

D'après les détails que vous avez fournis, je peux dire que si vous souhaitez créer un mini-jeu, je vous recommanderais d'utiliser WPF avec certaines bibliothèques XNA, car WinForms n'est pas vraiment conçu pour permettre une expérience graphique très impressionnante, mais favorise plutôt la création d'outils simples d'interface graphique. Parfois, même pas de double tampon aide beaucoup.

2
Freeman

bien vous pouvez faire un système d'animation de mouvement

        int x = pictureBox1.Location.X;
        int y = pictureBox1.Location.Y;
        if (e.KeyCode == Keys.Right) x += 1;
        else if (e.KeyCode == Keys.Left) x -= 1;
        pictureBox1.Location = new Point(x, y);

pour le rendre plus rapide, changez le x + = 1 x- = 1 et y + = 1 y- = 1; à des nombres plus grands comme y x- = 3; Donc, dans cette morue, vous êtes les touches fléchées, mais seulement à droite et à gauche, car vous conduirez foward de façon répétée, de sorte que vous ne bougerez que de droite à gauche.

0
djhd