SFML- произвольно масштабируемый спрайт
Я программирую клона Flappy Bird и у меня проблемы с препятствиями. Я хочу сделать его случайным образом масштабируемым (чтобы зазор был на случайной высоте). Я понятия не имею, как это сделать. Я создал изображение PNG, которое выглядит так:
и попытался проверить, как это будет выглядеть, когда я его масштабирую (просто sf::Sprite.setScale()
). Я не был удивлен, что это выглядит так:,
Итак, мой вопрос, как сделать так, чтобы это выглядело так:
Какую графику я должен сделать и как кодировать масштабирование?
1 ответ
Вы не должны использовать sf::Sprite.setScale()
, это сделает ваши изображения "масштабированными" и несовместимыми с "миром", который вы создаете.
Опции
Другими вариантами является создание мира с "плитками", с ними будет проще обращаться в будущем.
Вы можете создать мир на основе плиток со следующими параметрами:
- С помощью плиточного инструмента редактирования карт (вам придется создавать карты вручную).
- Создание собственной системы для случайного создания миров с помощью плиток (это может быть сложно, но в итоге вы получите хороший дизайн).
Могу ли я использовать активы, которые я уже сделал с системой плиток?
Да, ты можешь. Вам нужно только разделить свои активы на плитки.
Хотя вы всегда можете использовать описанную вами систему, если вам будет проще.