|
8 / 6 / 4
Регистрация: 21.05.2022
Сообщений: 141
|
|||||||||||
SDL3_image - не отрисовывается текстура23.02.2025, 17:23. Показов 28677. Ответов 166
Не отрисовывается текстура! Путь, формат img, установки и подключения dll - проверил трижды. При наложении текстуры, просто белое поле.
Участок кода (ошибок нет):
0
|
|||||||||||
| 23.02.2025, 17:23 | |
|
Ответы с готовыми решениями:
166
Использование opengl. Не отрисовывается квадрат Удаление текстур OpenGL
|
|
8 / 6 / 4
Регистрация: 21.05.2022
Сообщений: 141
|
|
| 03.04.2025, 21:16 [ТС] | |
|
0
|
|
| 03.04.2025, 21:42 | |||
|
0
|
|||
|
8 / 6 / 4
Регистрация: 21.05.2022
Сообщений: 141
|
|||||||
| 04.04.2025, 16:58 [ТС] | |||||||
|
Но все же сделал короче код - убрал массив спрайтов. У нас есть данные по изображению x, y, шаг 192px. Так что бегать по спрайтам можно по координатам с шагом 192 не используя массивы. Изображение воина в ZIP (ниже)
0
|
|||||||
|
8 / 6 / 4
Регистрация: 21.05.2022
Сообщений: 141
|
|
| 04.04.2025, 17:02 [ТС] | |
|
Еще вопрос!? У вас в коде // Заметки на английском. Это вы генерируете в GPT? и в каком.
0
|
|
| 04.04.2025, 20:21 | ||||||||||||||||||||||||||||
У меня компилятор MinGW GCC 11.2 выдаёт предупреждение: narrowing conversion of 'a' from 'int' to 'float', потому что у "a" тип "int", а SDL_FRect требует "float":
Надо выводить его относительно центра, отняв половину высоты и ширины перед рисованием. Немного откорректировал ваш пример для вывода спрайта относительно его центра:
0
|
||||||||||||||||||||||||||||
| 04.04.2025, 20:31 | |
|
Подумайте, как сделать, чтобы по клику левой кнопки мыши воин махал мечом.
0
|
|
| 05.04.2025, 19:36 | ||||||
|
В вашем крайнем примере проигрывается idle-анимация, то есть анимация покоя. Хорошо бы сделать, чтобы при клике левой кнопкой мыши в области окна проигрывалась анимация атаки мечом, а после однократного проигранной анимации атаки снова выводилась анимация покоя. Я сделаю свою версию, а вы свою. Чтобы определить клик левой кнопкой (а не правой или средней), нужно добавить следующий код в функцию SDL_AppEvent:
0
|
||||||
| 06.04.2025, 13:11 | ||||||
|
Объясню своими словами, что означают эти строки кода:
Прямоугольник srcRect (сокращение от "source rectangle" - переводится, как "прямоугольник источника") относится к загруженному изображению. Первые два параметра это (x, y) - координата левого верхнего угла начала области на текстуре, а вторые два параметра (w, h) - это ширина и высота области, которая будет взята из текстуры источника. Прямоугольник destRect (сокращение от "destination rectangle" - переводится, как "прямоугольник назначения") относится к отображаемому изображению. Первые два параметра это (x, y) - координата левого верхнего угла начала области рисования, а вторые два параметра (w, h) - это ширина и высота области, куда будет нарисована текстура. То есть с помощью двух первых параметров (x, y) можно менять координату картинки, где её нарисовать на экране, а вторые два параментра определяют какого размера будет отображаемая картинка.
0
|
||||||
|
8 / 6 / 4
Регистрация: 21.05.2022
Сообщений: 141
|
||
| 06.04.2025, 13:22 [ТС] | ||
|
Как будут результаты - выложу для обсуждения, где, чего подправить или изменить.
0
|
||
| 06.04.2025, 18:11 | |||||||||||||||||||||||||||||||
|
Для переключения между анимациями по клику мыши я завёл переменную "b":
Собрал в WASM. Можно запустить в браузера по одному клику по ссылке: https://warrior-animations-sdl3.netlify.app/ Прикрепил EXE без внешних зависимостей, то есть собранный с флагом -static:
Мне проще собирать из консоли с помощью MinGW в EXE и WASM, программируя в легковесном Sublime Text 4, чем в VS. Если хотите, то можете попробовать скачать MinGW и собранные библиотеки SDL3 по ссылкам с моего сайта: https://8observer8.bitbucket.io/, добавить путь к mingw/bin в Path и собрать и запустить EXE командами из консоли из директории примера, предварительно подправив пути в батнике config-mingw.bat:
0
|
|||||||||||||||||||||||||||||||
| 06.04.2025, 19:53 | ||||||||||||||||||||||||||
|
Я переправил код игры Змейка на SDL3 из видео туториала FamTrinli на YouTube, скачав архив по ссылке из описания под видео (прикрепил архив по ссылке из под видео - 16_Games.zip):
Играть в браузере: https://famtrinli-snake-in-sdl3-cpp.netlify.app/ Код на SFML тоже прикрепил, исправив на версию 3.0.0. Прикрепил ещё версию, переписанную мною на Python и PySDL3. Простые примеры на PySDL3: https://github.com/Aermoss/PySDL3/discussions/18 Для запуска игры на PySDL3, нужно установить PySDL3 командой:
Запустить игру можно командой:
SFML3-версию собрал в статику. Вес приложения - 3.54 MB: SDL3-верия занимает чуть больше - 4.75 MB. Это больше на 1.21 MB: Но зато SDL3 официально поддерживается для WebAssembly и лучше поддерживается для Android. Лучше поддерживается для Python. Можно программировать не только на C++, но и на Си. Ещё SDL является частью игрового движка компании Valve, на котором сделаны Counter-Strike, Dota и т.д. PySDL3:
0
|
||||||||||||||||||||||||||
|
8 / 6 / 4
Регистрация: 21.05.2022
Сообщений: 141
|
|||||||
| 06.04.2025, 22:52 [ТС] | |||||||
|
Выделил код относящийся к тексту* /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// код ... ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
0
|
|||||||
| 06.04.2025, 23:45 | |||||||||||||||||||||
|
Надо добавить инициализацию SDL3_ttf:
0
|
|||||||||||||||||||||
|
8 / 6 / 4
Регистрация: 21.05.2022
Сообщений: 141
|
|
| 07.04.2025, 07:25 [ТС] | |
|
0
|
|
| 07.04.2025, 10:08 | |||||||||||||||||
|
Файл шрифта можно не включать в проект:
0
|
|||||||||||||||||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
|
| 07.04.2025, 10:13 | |
|
1
|
|
| 07.04.2025, 10:23 | ||||||
|
cosmos44, попробуйте закомментировать эти строки:
0
|
||||||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
||||
| 07.04.2025, 12:11 | ||||
Для utf8 нужно использовать TTF_RenderUTF8_Blended()
Это тема уже про кодировки. Добавлено через 8 минут Latin1, она же ISO/IEC 8859-1 8Observer8, как у вас на ней может выводится русские символы я ![]() Таблица кодов символов ISO/IEC 8859-1
1
|
||||
| 07.04.2025, 13:48 | |
|
cosmos44, а у вас тоже пример из сообщения #135 выводит текст на русском?
0
|
|
|
8 / 6 / 4
Регистрация: 21.05.2022
Сообщений: 141
|
|
| 08.04.2025, 08:09 [ТС] | |
|
0
|
|
| 08.04.2025, 08:09 | |
|
Помогаю со студенческими работами здесь
140
Неправильная отрисовка текстур в OpenGL
Не отрисовывается график Генератор текстур( с чего начать) Qt с++ картинка постоянно отрисовывается Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|