Лучший способ повернуть изображение с помощью SDL?

Не помню, было ли это, но вы могли бы сделать это самостоятельно, посмотрев на исходный код ArrayList. Разработчики Java должны использовать преимущества исходного кода, поставляемого в комплекте с SDK.

13
задан Justen 26 July 2009 в 06:28
поделиться

2 ответа

С SDL у вас есть несколько вариантов.

  1. Поверните все свои спрайты заранее (предварительно отрендерив все возможные вращения) и отрендерив их, как любой другой спрайт. Этот подход быстрый, но требует больше памяти и больше спрайтов. Как отметил @Nick Wiggle , RotSprite - отличный инструмент для создания преобразований спрайтов.

  2. Используйте что-то вроде SDL_gfx для вращения / масштабирования в реальном времени . (Не рекомендуется, очень медленно)

  3. Используйте SDL в режиме OpenGL и визуализируйте ваши спрайты в примитивы, применяя вращение к примитивам.

Вариант 3, вероятно, ваш лучший выбор, потому что вы получаете все преимущества использования OpenGL. Вам действительно решать, как это сделать. Также есть возможность загрузить свои спрайты, выполнить все расчеты поворота с помощью SDL_gfx, а затем сохранить повернутые версии на SDL_Surface в памяти.

РЕДАКТИРОВАТЬ: В ответ на ваш комментарий я бы рекомендовал проверить туториалы Lazyfoo по SDL. В частности, это вращение . Также существует функция OpenGl, glRotatef , которая может быть полезна в вашем случае. Быстрый поиск вернул этот небольшой лакомый кусочек , который также может оказаться полезным.

20
ответ дан 1 December 2019 в 21:38
поделиться

Вы можете использовать такую ​​библиотеку, как SDL_gfx

2
ответ дан 1 December 2019 в 21:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: