Могу ли я разработать 2D-игру, используя только QML?

У меня есть небольшой интерес к разработке для Ubuntu Touch (у меня практически нет опыта в написании кода), но мой основной интерес - попытаться разработать 2D-игру.

Насколько я понимаю, мне придется либо использовать QML для интерфейса + другой язык для самой игры, либо просто использовать другой язык для интерфейса и игры, но в значительной степени QML хорош только для интерфейсов.

Это правда? Если это так, какой лучший выбор для изучения другого языка программирования?

3 ответа

Да, вы можете разработать игру полностью используя QML. По этой ссылке есть расширенное руководство по Qt Quick ( http://qt-project.org/doc/qt-5.0/qtquick/qtquick2-qml-advtutorial.html), которое создает игру таким образом.

Новые элементы Sprite ( http://qt-project.org/doc/qt-5.0/qtquick/qml-qtquick2-sprite.html) и AnimatedSprite могут быть очень полезными для вас.

Все зависит от игры, которую вы разрабатываете, и от того, какое графическое устройство вы хотели бы использовать. Например, если вы хотите использовать OpenGL, я бы предложил использовать Java или C++. Вы можете разрабатывать игры для Ubuntu на нескольких языках, но, вероятно, лучше всего это делать на Java и C++, потому что они кроссплатформенные. Я знаю это по опыту. Также проверьте в Python, я слышал, что это также очень полезно при создании кроссплатформенной игры.

Если вы пытаетесь сделать эту онлайн-игру для сетевой библиотеки, вы не можете использовать такие вещи, как.net и winsock, вы должны использовать стороннюю сетевую библиотеку или написать свою собственную..net и winsock предназначены только для Microsoft и не будут работать под Linux, что является основной причиной, по которой большинство игр разрабатывается в Windows.

Наслаждайтесь и удачи в разработке вашей новой игры!

PS если вам нужен интерфейс, я предлагаю проверить QT или OpenGL в C++

QML, безусловно, является отличным вариантом для создания 2D-игр и может сэкономить вам много времени и строк кода по сравнению с другими языками.

Например, V-Play (www.v-play.net) - это кроссплатформенный движок 2D-игр, основанный на Qt/QML, со множеством полезных игровых компонентов V-Play QML для обработки нескольких разрешений экрана и соотношений сторон, объекта и компонента. система, анимация, частицы, физика, мультитач, жесты, поиск путей и многое другое ( ссылка на API).

В рамках загрузки движка вы получите более 12 примеров игр с полным исходным кодом, полностью написанных на QML. Эти игры - настоящие опубликованные игры из магазинов приложений. Вы можете найти игры здесь.

Это доказывает, что QML можно использовать для полностью опубликованных и отлаженных 2D-игр. И если вам нужно что-то очень чувствительное к производительности в вашей игре, вы можете просто написать этот компонент на C++ и предоставить его как компонент QML.

Это уже старая ветка, и я думаю, что отсутствуют некоторые современные ответы:

  • Вы можете полностью программировать свою игру на Qt Quick/QML, но использовать физический движок в качестве подключаемого модуля. Это полезно, если в вашей игре есть движущиеся тела и столкновения. QML-Box2D - отличный физический плагин. Так написана игра qArkanoid.
  • Если вам не нужен физический движок, вы можете обойтись даже чистым QML, см. QML Sokoban или Dropping Letters.
Другие вопросы по тегам