Разработка игр с Qt: где искать в первую очередь?
Итак, я собираюсь разработать клон Pac-Man с Qt. Проблема в том, что я не знаю, с чего начать.
Я быстро просмотрю документацию и демонстрацию. Я также загрузил некоторые источники игры на qt-apps.org. И кажется, что существует много способов разработки игры с Qt!
В вашем опыте, какую часть Qt следует рассмотреть, чтобы разработать клон Pac-Mac?
- Анимационная структура
- Графическая среда просмотра
- Система Paint
- Декларация Qt
Любая помощь будет оценена.
Ответы
Ответ 1
Я думаю, что фреймворк QGraphicsView - лучший способ. Создайте QGraphicsScene, несколько QGraphicsItems для элементов игры. У вас есть обнаружение столкновений бесплатно.
Большинство игр KDE основаны на фреймворке QGraphicsView. Это хорошо подходит для простой разработки игр.
Ответ 2
В настоящее время я работаю над проектом, предоставляющим игровые компоненты Qt Quick Components для кросс-платформенной разработки игр: http://v-play.net:)
Ответ 3
Как минимум вы захотите посмотреть QGLWidget. Вы можете получить программу OpenGL за несколько минут, выйдя из QGLWidget, она создаст окно, контекст, обработает ввод мыши и клавиатуры и т.д. Создайте QTimer, чтобы вызвать updateGL() каждые 10-15 мс или около того, и ваше добро. Я думаю, что есть демо-версия для настройки, но прошло некоторое время с тех пор, как я это увидел.
Если вы хотите вставлять виджеты в окно, я бы посмотрел QGraphicsView. Существует демо этого boxes. Просто остерегайтесь демонстрации, которую трудно изучить, поскольку несколько классов бросаются в один и тот же файл, и может потребоваться несколько минут трассировки, чтобы выяснить, где находится поток.
Поскольку вы делаете игру 2d, вам может потребоваться использовать QPainter на верх OpenGL. Это позволяет легко рисовать примитивы, а не делать их с помощью вызовов OpenGL. Я никогда не мог заставить это перестать мерцать в полноэкранном режиме.
Ответ 4
Я разрабатываю симуляцию жестких тел с Qt и OpenGL, используя PhysX API от Nvidia. Если вы хотите увидеть этот подход, посмотрите мой проект в github: http://github.com/lucassimao/Simulacao-Estereologica
Ответ 5
Там есть книга о разработке игр в Qt здесь, это немного устарело, но это может дать вам некоторые идеи. Но IMHO, Qt является виджетами и немного медленнее для игры, вы можете подумать об использовании SDL или OpenGL.
Ответ 6
Хорошее начало будет:
Примеры и учебники по Qt
Возможно, если вам нужно обмануть, вы можете посмотреть здесь xpacman.tar.gz
Ответ 7
Ну, одно место для поиска может быть основой разработки игр Gluon, которая в настоящее время находится в разработке. Это зависит от того, на что вы действительно нацелились с вашим клоном PacMan, но Gluon вполне может быть тем, что вам нужно: https://github.com/KDE/gluon
Ответ 8
Если кто-то еще заинтересован в том, чтобы научиться делать ИГРЫ, используя C++ и Qt, взгляните на мою серию руководств на YouTube. Это объясняет структуру графического представления через серию видео, которые основаны на одной игре, которую мы начнем в уроке 1.
C++ Урок по Qt Game 8 - Добавление графики
Если вы еще не знакомы с Qt, то мне ДЕЙСТВИТЕЛЬНО понравилась серия руководств по VoidRealm Qt, также на youtube (C++ Qt 1 - Введение в программирование на QT).