web-dev-qa-db-fra.com

Puis-je développer un jeu 2D uniquement avec QML?

Je suis un peu intéressé par le développement pour Ubuntu Touch (mon expérience de codage est également faible, voire nulle), mais mon intérêt principal est de développer un jeu en 2D.

D'après ma compréhension, je devrais soit utiliser QML pour l'interface + un autre langage pour le jeu lui-même, soit simplement utiliser un autre langage pour l'interface et le jeu, mais en gros, QML n'est valable que pour les interfaces.

Est-ce vrai? Si tel est le cas, quel est le meilleur choix pour apprendre un autre langage de programmation?

3
Espionage724

Oui, vous pouvez développer un jeu complètement en utilisant QML. Il y a un tutoriel avancé Qt Quick sur ce lien ( http://qt-project.org/doc/qt-5.0/qtquick/qtquick2-qml-advtutorial.html ) qui construit un jeu de cette façon .

Les nouveaux éléments Sprite ( http://qt-project.org/doc/qt-5.0/qtquick/qml-qtquick2-Sprite.html ) et AnimatedSprite peuvent vous être très utiles.

3
igordsm

Tout dépend du jeu que vous concevez et du type de périphérique graphique que vous souhaitez utiliser. Par exemple, si vous voulez utiliser OpenGL, je vous suggérerais d'utiliser Java ou C++. Vous pouvez développer des jeux pour Ubuntu dans plusieurs langages différents, mais le meilleur moyen de le faire est Java et c ++ car ils sont multi-plateformes. Je le sais par expérience. Jetez également un coup d'œil à Python. J'ai entendu dire que c'était également très utile pour créer un jeu multi-plateformes.

Si vous essayez de faire de ce jeu un jeu en ligne pour une bibliothèque réseau, vous ne pouvez pas utiliser des éléments tels que .net et winsock, vous devez utiliser une bibliothèque réseau tierce ou écrire la vôtre. Les réseaux .net et winsock sont exclusivement Microsoft et ne fonctionneront pas sous Linux, ce qui est la raison principale pour laquelle la plupart des jeux sont développés sous Windows.

Profitez et bonne chance pour le développement de votre nouveau jeu!

P.S si vous avez besoin d'une interface, je suggère de vérifier QT ou OpenGL en C++

2
Dylan Dodds

QML est définitivement une excellente option pour créer des jeux en 2D et peut vous faire économiser beaucoup de temps et de lignes de code par rapport à d’autres langues.

À titre d’exemple, V-Play (www.v-play.net) est un moteur de jeu 2D multiplate-forme basé sur Qt/QML avec de nombreux composants de jeu V-Play QML utiles pour la gestion de résolutions multiples et de les proportions, un système entité-composant, des animations, des particules, la physique, le multi-touch, les gestes, la recherche de chemin, etc. ( référence API ).

Lors du téléchargement du moteur, vous obtenez plus de 12 exemples de jeux avec le code source complet, qui sont entièrement écrits en QML. Ces jeux sont de véritables jeux publiés dans les magasins d'applications. Vous pouvez trouver les jeux ici .

Cela prouve que QML peut être utilisé pour des jeux 2D entièrement publiés et polis. Et si vous avez besoin de quelque chose de très sensible à la performance dans votre jeu, vous pouvez simplement écrire ce composant en C++ et le fournir en tant que composant QML.

1