OberonCore
https://forum.oberoncore.ru/

Sdl2 + Sd2_ttf + Sdl2_image + Sdl2_mixer
https://forum.oberoncore.ru/viewtopic.php?f=47&t=6639
Страница 1 из 1

Автор:  Иван Денисов [ Четверг, 16 Июль, 2020 22:31 ]
Заголовок сообщения:  Sdl2 + Sd2_ttf + Sdl2_image + Sdl2_mixer

Пример использования набора библиотек Sdl2 для визуального проекта.
Демонстрация красноярцев, погибших в годы ВОВ, в музее.

Вложение:
IMG_20200716_145357.jpg
IMG_20200716_145357.jpg [ 2.17 МБ | Просмотров: 5373 ]


Для примера выкладываю:
http://pub.iadenisov.ru/Sdl2BlackBoxDemo200717.7z
Проект кросс-платформенный и компилируется поверх ББ 1.8.
Медиафайлы заменены, так что теперь это "экран славы Блэкбокса" ;)
Код не причёсывал. Что есть, то есть...

Автор:  Info21 [ Пятница, 17 Июль, 2020 11:32 ]
Заголовок сообщения:  Re: Sdl2 + Sd2_ttf + Sdl2_image + Sdl2_mixer

А ветка про x64 будет? Или раздел?

Автор:  Иван Денисов [ Суббота, 18 Июль, 2020 06:48 ]
Заголовок сообщения:  Re: Sdl2 + Sd2_ttf + Sdl2_image + Sdl2_mixer

Info21 писал(а):
А ветка про x64 будет? Или раздел?

По просьбе трудящихся viewtopic.php?f=127&t=6640

Автор:  Иван Денисов [ Суббота, 18 Июль, 2020 06:50 ]
Заголовок сообщения:  Re: Sdl2 + Sd2_ttf + Sdl2_image + Sdl2_mixer

Теперь по теме. Что нового в подсистеме Sdl2.

Добавлено управление звуком через Sdl2_mixer.

Играет фоновая музыка:
Код:
VAR
музыка: Sdl2Mixer.Music; 
звук: Sdl2Mixer.Chunk;

музыка := Sdl2Mixer.LoadMUS(музыкальныйФайл);
IF музыка # NIL THEN
   результат := Sdl2Mixer.PlayMusic(музыка, -1)
END;

звук := Sdl2Mixer.LoadWAV(звуковойФайл);

и в нужный момент запускается звук
Код:
IF (звук # NIL) & (паузаПередЗвуком = времяДвиженияТекста - времяДвиженияТекстаПер) THEN
   результат := Sdl2Mixer.PlayChannel(1, звук, 0);
   Log.String("запуск звука"); Log.Ln;
END;


Проверено, что загрузка 20 минутного трека в Chunk — приводит к ошибке в Sdl2 :)
Так что используйте Music для длинных треков, а Chunk — для коротких звуков.

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/