355.94K
Category: programmingprogramming

Игра с использованием среды разработки Qt

1.

Колледж цифровых
технологий:
Компьютерная академия
Top.
Тема: Игра с
использованием среды
разработки Qt
Автор: Витовский Дмитрий
Преподаватель по C++: Сацук Михаил Михайлович

2.

Содержание
1.
Актуальность, цели, задачи.
2.
Затруднения при раннем создании
3.
Реализации этих затруднений
4.
Отличия оригинальной игры от другой версии
5.
Отличия оригинальной игры от переделанной игры на Qt
6.
Заключение

3.

Актуальность, цели, задачи
Актуальность: показать какими могут быть возможности C++ в среде
разработки Qt.
Цели: показать как можно создать игру, работать с ресурсами и их
различные события в Qt
Задачи: Исследовать возможности Qt в создании игры, проверить
каждый элемент игры, выполнить и разработать игру.

4.

Затруднения при раннем создании
1.
Переключение между окнами по кнопке
2.
Как работать с изображениями и со звуками убрав абсолютные пути
к ним?
3.
Какое решение по выводу звука лучше всего применить?
4.
Как вывести/заполнить картинку на всё окно?
5.
Как добавлять события по таймеру?
6.
Как добавить иконку на всю игру?

5.

Первое затруднение
Переключение между окнами по кнопке

6.

Решение первого затруднения
1. mainwindow.cpp - form = new secondwindow();
connect(form, &secondwindow::firstWindow, this,
&MainWindow::show);
form->show();
this->close();
2. mainwindow.h - secondwindow *form;
3. secondwindow.h - signals:
void firstWindow();
2. secondwindow.cpp - this->close();
emit firstWindow();

7.

Второе затруднение
Как работать с изображениями и со звуками убрав абсолютные пути к
ним?

8.

Решение второго затруднения
Алгоритм:
1.
2.
3.
4.
5.
6.
7.
8.
9.
Запустив проект в Qt, Нажать ПКМ на сам проект
Выбрать пункт «Добавить новый…»
В меню выбрать пункт «Qt»
В данном меню пунктов «Qt», выбрать пункт Файл ресурсов Qt
Далее нажать на выбрать
Назвать файл ресурсов и добавить в проект
Затем, после этого добавить префикс
Назвать префикс произвольно
Ну и наконец добавить любые файлы в ресурсы, не забыв
сохранить изменения с помощью клавиш Ctrl + S

9.

Третье затруднение
Какое решение лучше всего выбрать для работы со звуком?

10.

Решение третьего затруднения
“Название проекта”.pro – QT += core gui multimedia
mainwindow.h - <QtMultiMedia/QMediaPlayer>
QMediaPlayer *(любое название);
mainwindow.cpp - (любое название) = new QMediaPlayer;
ресурса”));
Любой слот
(любое название)->setMedia(QUrl(“Url
(любое название)->play();

11.

Четвёртое затруднение
Как вывести/заполнить картинку на всё окно?

12.

Решение четвёртого затрудения
Добавить библиотеку в виджете #include <Qpalette>
В Конструкторе виджета написать следующие строки:
QBrush brush;
QPalette palette;
QImage image(":/img/Image/Снимок1312.png");
this->setAutoFillBackground(true);
brush.setTextureImage(image);
palette.setBrush(QPalette::Window, brush);
this->setPalette(palette);

13.

Пятое затруднение
Как добавлять события по таймеру?

14.

Решение пятого затруднения
К любому слоту добавить следующие строки:
QEventLoop loop;
QTimer timer;
timer.setInterval(1000); (1000 мс = 1 секунда)
connect (&timer, SIGNAL(timeout()), &loop, SLOT(quit()));
timer.start();
loop.exec();

15.

Шестое затруднение
Как добавить иконку на всю игру?

16.

Решение шестого затруднения
1.
В папке с проектом добавить файл формата .txt
2.
С формата .txt поменять на формат .rc
3.
В файле .pro в Qt написать следующую строку:
win32::RC_FILE = (любое название).rc
4.
Зажать Ctrl и нажать на (любое название).rc
5.
В файле .rc написать следующую строку:
IDI_ICON1 ICON DISCARDABLE «(любое название иконки).ico«
6. Собрать проект и можно наслаждаться нашей иконки в проекте

17.

Отличия оригинальной игры от другой
версии
1.
Другие размеры окна
2.
Другой язык (португальский)
3.
Некоторые пункты в другой версии игры работают некорректно и один
пункт не работает (вылезает ошибка)
4.
Другие звуки
5.
Другие картинки

18.

Примеры отличий

19.

Отличия оригинальной игры от
переделанной игры в Qt
В переделанной игре добавлены звуки, которых нет в оригинальной игре.
В переделанной игре можно масштабировать окно, но её минимальный масштаб
будет фиксированным.
В переделанной игре были исправлены некоторые моменты:
1.
Текст не дублируется
2.
Названия некоторых файлов были исправлены
3.
Файл Readme.txt написано по новому
4.
При перезагрузке нас спрашивают чтобы мы перезагрузили
5.
Были убраны упоминания настоящего названия игры
В переделанной игре добавлены секретки, которых не было в оригинальной игре.
Используется другой язык программирования
Используется другой язык (русский)
Меньше объём занимающей памяти

20.

Примеры отличий

21.

Заключение
Игра готова на 100% со всеми её дополнительными вещами на данный
момент.
В будущем игра будет обновляться, добавляя новые вещи.
Времени затрачено: примерно 10-20 дней
QR-код для установки игры:

22.

Важная пометка
English     Русский Rules