web-dev-qa-db-fra.com

Développement de jeux avec Qt: où chercher en premier?

Donc, je vais développer un clone de Pac-Man avec Qt. Le problème est que je ne sais pas vraiment par où commencer.

Je regarde rapidement la documentation et une démo. J'ai également téléchargé des sources de jeux sur qt-apps.org. Et il semble qu'il existe de nombreuses façons de développer un jeu avec Qt!

D'après votre expérience, quelle partie de Qt devrais-je envisager de développer un clone Pac-Mac?

  • Le cadre d'animation
  • La vue graphique
  • Le système de peinture
  • Qt Déclaratif

Toute aide serait appréciée.

28
Pym

Je pense que QGraphicsView framework est le meilleur moyen. Créez un QGraphicsScene , quelques QGraphicsItems pour les éléments du jeu. Vous avez la détection de collision gratuitement.

La plupart des jeux KDE sont basés sur le framework QGraphicsView. C'est un bon choix pour le développement de jeux simples.

18

Je travaille actuellement sur un projet fournissant des composants Qt Quick spécifiques au jeu pour le développement de jeux multiplateformes, qui pourrait vous intéresser: http://v-play.net :)

4
alexleutgoeb

Au minimum, vous voudrez regarder QGLWidget . Vous pouvez obtenir un programme OpenGL en quelques minutes en dérivant de QGLWidget, il créera la fenêtre, le contexte, les entrées souris et clavier, etc. Créez un QTimer pour déclencher updateGL () tous les 10-15 ms ou alors et votre bon aller. Je pense qu’il ya une démo quelque part pour l’installer, mais cela fait longtemps que je ne l’ai pas vue.

Si vous voulez incorporer des widgets dans la fenêtre, je regarderais QGraphicsView . Il y a une démo de ceci appelée boxes . Attention, la démo est un peu difficile à apprendre car plusieurs classes sont jetées dans le même fichier et il peut prendre quelques instants de traçage pour déterminer où se trouve le flux.

Puisque vous jouez à un jeu en 2D, vous pouvez utiliser QPainter on top of OpenGL . Cela vous permet de dessiner facilement des primitives au lieu de les faire avec des appels OpenGL. Je n'ai jamais réussi à faire en sorte que cela cesse de scintiller en plein écran.

2
Matt

Je développe une simulation de corps rigides avec Qt et OpenGL à l'aide de l'API PhysX de Nvidia. Si vous voulez voir cette approche, regardez mon projet sur github: http://github.com/lucassimao/Simulacao-Estereologica

2
Lucas

Il y a un livre sur le développement de jeux dans Qt ici , il est un peu vieux, mais il pourrait vous donner quelques idées. Mais à mon humble avis, Qt est basé sur des widgets et est un peu lent pour un jeu. Vous pouvez envisager d’utiliser SDL ou OpenGL.

1
Nikola Kotur

Si quelqu'un d'autre souhaite apprendre à créer des jeux en utilisant C++ et Qt, consultez ma série de tutoriels sur YouTube. Il explique le cadre de la vue graphique à travers une série de vidéos qui s’appuient sur un seul jeu que nous commençons dans le tutoriel 1.

C++ Qt Game Tutorial 8 - Ajout de graphiques

Si vous n'êtes pas encore à l'aise avec Qt, alors j'ai vraiment aimé la série de tutoriels Qt de VoidRealm, également sur youtube ( C++ Qt 1 - Introduction à la programmation QT ).

0
MeLikeyCode

Le cadre de développement de jeux Gluon, qui est actuellement en cours de développement, pourrait constituer un bon exemple. Cela dépend de ce que vous visez vraiment avec votre clone PacMan, mais Gluon pourrait bien être ce que vous cherchez: https://github.com/KDE/gluon

0
leinir

Un bon début serait:

Exemples et tutoriels Qt

Peut-être que si vous devez tricher, vous voudrez peut-être regarder ici xpacman.tar.gz

0
stacker