Могу ли я разработать 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.