Разработка игр с Qt: где искать в первую очередь? - PullRequest
28 голосов
/ 08 февраля 2010

Итак, я собираюсь разработать клона Pac-Man с Qt. Проблема в том, что я не знаю, с чего начать.

Я быстро взгляну на документацию и демонстрацию. Я также скачал некоторые исходники игр на qt-apps.org. И кажется, что есть много способов разработать игру с Qt!

По вашему опыту, какую часть Qt мне следует рассмотреть для разработки клона Pac-Mac?

  • Фреймворк анимации
  • Каркас графического представления
  • Система окраски
  • Qt декларативный

Буду признателен за любую помощь.

Ответы [ 8 ]

18 голосов
/ 08 февраля 2010

Я думаю, что QGraphicsView Framework - лучший способ. Создайте QGraphicsScene , некоторые элементы QGraphicsItems для элементов игры. У вас есть обнаружение столкновений бесплатно.

Большинство игр KDE основаны на фреймворке QGraphicsView. Это хорошо подходит для простой разработки игр.

4 голосов
/ 10 августа 2012

В настоящее время я работаю над проектом, предоставляющим специфичные для игр Qt Quick Components для кроссплатформенной разработки игр, может представлять интерес: http://v -play.net :)

2 голосов
/ 09 февраля 2010

Я разрабатываю симуляцию твердых тел с помощью Qt и OpenGL с использованием PhysX API от Nvidia.Если вы хотите увидеть этот подход, посмотрите на мой проект на github: http://github.com/lucassimao/Simulacao-Estereologica

2 голосов
/ 08 февраля 2010

Как минимум вы захотите посмотреть на QGLWidget . Вы можете запустить программу OpenGL за несколько минут, наследуя QGLWidget, она создаст окно, контекст, обработает ввод с клавиатуры и мыши и т. Д. Создайте QTimer для запуска updateGL () каждые 10-15 мс или около того и ваш хорошо идти. Я думаю, что где-то есть демонстрационная версия для настройки, но с тех пор, как я ее увидел, прошло некоторое время.

Если вы хотите встроить виджеты в окно, я бы посмотрел на QGraphicsView . Это демо-версия называется boxes . Просто остерегайтесь демонстрации, из которой трудно научиться, так как несколько классов добавляются в один и тот же файл, и может потребоваться несколько мгновений, чтобы выяснить, где поток.

Поскольку вы играете в 2d игру, вы можете захотеть использовать QPainter на вершине OpenGL . Это позволяет легко рисовать примитивы, а не делать их с вызовами OpenGL. Я никогда не мог заставить это перестать мерцать в полноэкранном режиме.

1 голос
/ 08 февраля 2010

Есть книга о разработке игр на Qt здесь , она немного старая, но она может дать вам некоторые идеи.Но имхо, Qt основан на виджетах и ​​немного медленен для игры, вы можете рассмотреть возможность использования SDL или OpenGL.

0 голосов
/ 29 ноября 2014

Если кому-то еще интересно узнать, как создавать игры с использованием C ++ и Qt, посмотрите мою серию руководств на YouTube. Это объясняет структуру графического представления через серию видео, которые основаны на одной игре, которую мы начинаем в уроке 1.

C ++ Qt Game Tutorial 8 - Добавление графики

Если вы еще не знакомы с Qt, тогда мне ДЕЙСТВИТЕЛЬНО понравилась серия учебных пособий по Qt от VoidRealm, также на youtube ( C ++ Qt 1 - Введение в программирование на QT ).

0 голосов
/ 08 февраля 2010

Что ж, одним из мест, где можно посмотреть, может быть среда разработки игр Gluon, которая в настоящее время находится в стадии разработки. Это зависит от того, к чему вы действительно стремитесь с помощью своего клона PacMan, но Gluon вполне может быть тем, к чему вы стремитесь: https://github.com/KDE/gluon

0 голосов
/ 08 февраля 2010

Хорошее начало будет:

Примеры и учебники по Qt

Возможно, если вам нужно обмануть, вы можете посмотреть здесь xpacman.tar.gz

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...