Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
 Аватар для Bogradan
8 / 7 / 1
Регистрация: 22.03.2016
Сообщений: 343

На чём делать 2D игру?

02.03.2025, 22:14. Показов 7894. Ответов 61

Студворк — интернет-сервис помощи студентам
Уважаемые программисты с++, подскажите пожалуйста, я вот умею работать с C++/CLI .net. кроме с++ не знаю ничё. Какие библиотеки в рамках с++ можете мне посоветовать для разработки 2D компьютерной игры? Какая платформа нужна для создания игр, язык только с++. Какие инструменты? Могу ли я сделать всё используя так же WinAPi, CLI, .Net Windows Forms? или там нужен с++ совсем другие инструменты, подскажите вообщем на что ориентироваться в рамках С++ для разработки 2D игр. Спасибо за внимание. Игра будет не маленькая, очень серьёзный проект на долгие годы. Движок делать буду свой, движки не советуйте, я именно имею ввиду что поможет для собственной разработки 2D движка. Только Visual Studio, я уже сроднился с ним.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.03.2025, 22:14
Ответы с готовыми решениями:

Теория игр, массивы
Есть задание (прикрепил его в виде файла к сообщению). Есть решение для 12-ого варианта на BORLANDC, у меня 2-ой. Я изменил в начале...

Решение матричных игр. Есть у кого такая программа написанная уже...
Требуется программа по решению матричных игр... С выбором размера матрицы и выдачей решения... Может кто смогёт такую сбатцать?

Запуск приложений(старых игр) в оконном режиме
День добрый, подскажите, хотелось бы реализовать свое желание запуска старых игр windo`вых(типа StarCraft) в оконном режиме, с чего начать,...

61
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6296 / 3018 / 1053
Регистрация: 01.06.2021
Сообщений: 11,446
04.03.2025, 00:57
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Royal_X Посмотреть сообщение
тебе нужно указать вот так, как для релизной, так и для отладочной конфигурации
вообще-то, нет

укажи для отладочной конфигурации так, как сказано в документации (в настройках проекта выбери Debug) и добавь каждому -d
C++
1
2
3
4
5
sfml-graphics-d.lib
sfml-window-d.lib
sfml-system-d.lib
sfml-audio-d.lib
sfml-network-d.lib
у меня отладка и без -d работает, но лучше пусть будет по документации.
0
9949 / 2950 / 497
Регистрация: 05.10.2013
Сообщений: 8,031
Записей в блоге: 242
04.03.2025, 12:34
Оставлю небольшую правку для своей инструкции, как ускорить время создания нового проекта.

В инструкции задавался путь к SFML в CMakePresets.json так:
JSON
1
2
3
4
                "SFML_DIR": {
                    "value": "C:\\libs\\SFML-2.6.2\\lib\\cmake\\SFML",
                    "type": "PATH"
                }
Интересно то, что VS в последующих проектах уже не требует этого пути. VS как-то запоминает путь к папке cmake/SFML с первого проекта. В последующих проектах нужно только копировать и добавить эти две строки в CMakeLists.txt в новый проект:
Code
1
2
find_package(SFML 2.6 COMPONENTS system window graphics REQUIRED)
target_link_libraries(app sfml-system sfml-window sfml-graphics)
Теперь достаточно скопировать код примера из инструкции по ссылки выше в .cpp и нажать Ctrl+F5.

Точно не знаю, но по-моему, CMake файлы настроены поумолчанию так, что при переключении Debug <-> Release на автомате будут использоваться -d или без -d соответственно. Путь к DLL, то есть SFML-2.6.2\bin, удобно добавить в PATH (что есть в инструкции, просто акцент на этом), чтобы не тратить время на копирование DLL вручную в последующих проектах. Если не знаете, как добавить путь в PATH, то можно погуглить: как добавить путь в PATH на Windows. При обучении нужно создавать много маленьких примеров для тренировки, а примеры будут весить мало места за счёт пути к bin в PATH. Набивайте руки на маленьких задачах.

Но с другой стороны вы можете настроить через настройки VS одни "hello world" проект и копипастить его, как и CMake-проект, тогда время создания будет одним и тем же. То есть вы копипастите папку с "hello-world" проектом, меняете имя папки и имя проекта в CMakeLists.txt и открываете проект в VS: File > Open > CMake -> выбираем файл CMakeLists.txt в папке проекта. Прикрепил "hello world" проект.

CMakeLists.txt

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
cmake_minimum_required (VERSION 3.20) # Минимальная версия CMake
project(hello-sfml) # Имя проекта
add_executable(app) # Имя EXE файла
 
# Перечисляем исходные файлы (без запятой, в столбик)
target_sources(app
PRIVATE
    src/main.cpp
)
 
# Поиск библиотек
find_package(SFML 2.6 COMPONENTS system window graphics REQUIRED)
# Список библиотек для линковщика
target_link_libraries(app sfml-system sfml-window sfml-graphics)
src/main.cpp

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <SFML/Graphics.hpp>
 
int main() {
    sf::RenderWindow window(sf::VideoMode(800, 600), "SFML window");
    while (window.isOpen()) {
        sf::Event event;
        while (window.pollEvent(event)) {
            if (event.type == sf::Event::Closed)
                window.close();
        }
        window.clear();
        window.display();
    }
    return 0;
}
Вложения
Тип файла: zip hello-sfml.zip (1.8 Кб, 3 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.03.2025, 12:34

Алгоритм календаря игр (например в футболе)
необходимо составить календарь футбольных матчей, допустим есть 6 команд char *teams = {&quot;TEAM A&quot;,&quot;TEAM B&quot;,&quot;TEAM...

Движок для игр
Всем привет!!!, хотел узнать возможно ли создать движок на C++ чтобы экспортировать модели из 3ds max а после в самом движке можно было...

Выбор IDE для создания 2D игр
Здравствуйте. Задача сделать пака 2ух – мерные драчки загружая в проект анимацию-как удар(ы) и реакция на удар...(лучше всего секвенцию...

Выбор учебника по программированию 3D игр
Привет. Нашёл 2 учебника и хочу что бы вы посоветовали из приведённых двух какой лучше для новичка выбрать.... (имею ввиду какой...

Книга по разработке игр
Не посоветуете мне книгу по разроботки игры. С чего начинать ? Какую книгу выбрать ?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
62
Ответ Создать тему
Новые блоги и статьи
Алиса нашла кучу ошибок компиляции и запуска в проекте, который без проблем компилировался и запускался)))
anaschu 30.06.2026
Я пока посмеюся, но завтра проверю. А вообще интерсно. Дал алисе файл, в котором точно нет ошибок компиляции и запуска, и попросил их найти. Нашла кучу))) Критические ошибки, мешающие компиляции и. . .
сукцессия 16. Общий обзор, в основном что бы другие ии поняли
anaschu 29.06.2026
# Передаточный документ: модель микоризной сукцессии (для нового чата) Этот документ предназначен для того, чтобы новый чат Claude мог продолжить работу без необходимости заново разбираться в. . .
сукцессия 15 неявная схема
anaschu 29.06.2026
Алиса Калибровка параметров симбиотической модели: технический обзор Содержание: Введение Постановка проблемы Технические аспекты реализации Процесс внедрения изменений
сукцессия 14. Обновленная схема модели
anaschu 28.06.2026
ГЛОБАЛЬНАЯ ОПИСАТЕЛЬНАЯ СПЕЦИФИКАЦИЯ ЭКОСИСТЕМНОЙ МОДЕЛИ «SOIL CHEMISTRY & MYCORRHIZA 2. 0» https:/ / ibb. co/ NnkGpfMd Представленная интегрированная схема описывает непрерывную нелинейную. . .
сукцессия 13. Питон модель трехзонного мицелия, пока что в основном арбускулярного
anaschu 28.06.2026
## Разработка агентной модели микоризной сукцессии: от выявления артефактов к созданию комплексной системы ### Аннотация Представлено исследование по разработке агентной модели микоризной. . .
сукцессия 12. краткий список проверок модели перед запуском.
anaschu 27.06.2026
Скрытые отказы в моделях систем динамики (SD-models) экологических систем: два случая из практики Контекст Разбирался прототип модели систем динамики (SD-модели) микоризной сукцессии: пять. . .
Сукцессия 11. Проверка орудий перед войной: разработка через тестирование
anaschu 27.06.2026
Как не дать модели соврать самой себе: проверки для симуляции микоризной сукцессии Введение Когда вы строите математическую модель живой системы — грибов, растений, почвы — главная опасность. . .
10 сукцессия. Питон код войны грибов и растений
anaschu 27.06.2026
import numpy as np class PlantAgent: def __init__(self, name, strategy, initial_biomass): self. name = name self. strategy = strategy # "greedy" (широколиственные) или. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru