Jeu Simple en C# avec seulement bibliothèques natives
Que j'ai pu trouver un ensemble de java 2D jeu tutoriels et jeu android tutoriels qui utilise seul natif de bibliothèques graphiques.
Je suis à la recherche de quelque chose de similaire en C# ( sans DirectX ou XNA)
J'ai trouvé cette boucle de jeu squelette , mais il ne dit pas comment Rendre les Graphiques.
La cible est de simuler un simple appareil Électronique.
J'ai besoin de montrer une sortie graphique en tant qu'utilisateur "presses" de certaines touches sur le clavier rapidement.Par conséquent, il ressemble à un jeu d'arcade.
Par exemple Que l'utilisateur appuie sur une des touches fléchées à un pointeur(une image) se déplace en conséquence.
Je suppose que je ne peux pas faire cela avec typique Application Windows Forms puis-je?
Par exemple, utiliser un PictureBox
de contrôle et le déplacer dans KeyPress
cas de la Form
.
Winforms et une minuterie serait un moyen très simple de faire les choses.
Comme puis-je gérer "5 touches" par seconde?Et serait l'utilisation de la PictureBox être ok?
Pour le rendu graphique vous pouvez utiliser un contrôle picturebox. Je voudrais créer une image Bitmap, et de dessiner à l'aide de Graphiques.FromImage(backbuffer), puis de gérer l'événement de Peinture de la picturebox et de dessiner le backbuffer. Dans le timer, la nullité de la picturebox donc il s'est re-tiré une fois que quelque chose change.
Et que dire de la WPF Toile?
OriginalL'auteur Dinushan | 2011-10-20
Vous devez vous connecter pour publier un commentaire.
Voici un jeu simple à l'aide de
WinForms
et unTimer
, à l'aide decarte Graphique
à dessiner (encapsule GDI+).Il ajoute une minuterie que "tiques" toutes les 10 millisecondes. À chaque itération, il effectue la logique du jeu, puis tire à un écran bitmap. C'est par opposition à l'aide d'une boucle permanente comme dans l'exemple dans le lien.
La forme des poignées événements clés séparément (plutôt que de faire quelque chose comme
GetKeyState
)Quand la fenêtre est redimensionnée, et quand il se charge tout d'abord il faut créer le backbuffer image de la bonne taille.
Créer un nouveau formulaire et de le remplacer tout le code ci-dessous. Le contrôle de la balle en utilisant les touches fléchées. Il n'y a pas de notion de mourir.
J'ai mis en place ce code. L'idée est sympa, mais le taux de rafraîchissement est vraiment terrible, je peux voir la vitesse de la balle d'être redessiné qui est juste moche à partir d'un des utilisateurs du point de vue. Moi aussi, je suis en train de réaliser une démo de jeu 2D à l'aide du c# (sans DirectX ou XNA) pour l'éducation but. Encore creuser jusqu'à présent
Je l'ai résolu en ajoutant une Double mise en mémoire tampon à la Forme, à l'aide de "DoubleBuffered = true"
Intéressant, le
SetStyle
lignes doit avoir le même effet que l'ajout d'DoubleBuffered = true
.OriginalL'auteur George Duckett
Si vous voulez faire des dessins, vous pouvez utiliser le WPF Toile à ces fins. Il ne supporte pas les jeux ou tel, mais c'est une façon simple de dessiner des formes primitives et des images comme vous le feriez dans un site web.
OriginalL'auteur Marnix
Le natif cadre de rendu .NET winforms apps est GDI+. Il y a beaucoup de des tutoriels en ligne pour les formes simples de dessin/graphisme à l'aide de GDI+
OriginalL'auteur MattDavey