Я создаю игру, похожую на этот и я пытаюсь выяснить, как генерировать вражеских рыб случайных размеров. Насколько я могу судить, спрайты, которые вы создаете в SDL, принимают размер изображения, которое вы им даете, но я хочу указать размер моего изображения, когда рыба создается динамически, используя случайные значения для его размер.
Мое задание использует SDL и предоставленную нам платформу, поэтому я не могу импортировать какие-либо модные библиотеки.
Кто-нибудь может указать мне правильное направление с этим?
То, что вы ищете, называется scaling
, Вы можете проверить это руководство чтобы легко добавить функцию в вашу игру. Предлагаемый rotozoom
можно найти в SDL_gfx
, имеется в наличии Вот.
Если вы идете по этому пути и решили написать свой собственный код для целей обучения, просто имейте в виду, что масштабирование вручную SDL_Surface
это дорого, поэтому вы, вероятно, должны делать это только тогда, когда вы нерестите рыбу и сохраняете поверхность на протяжении всей жизни рыбы.
Другой вариант — сделать 2D-игру с использованием 3D-графики; в основном вы просто растягиваете треугольники так, как хотите, и текстура подстраивается под нее.
Других решений пока нет …