SFMLтекстура в форме плеера - PullRequest
1 голос
/ 13 июля 2020

Итак, я делал свой собственный шутер на C ++, используя библиотеку SFML. Я не смог найти правильный ответ на возникшую проблему. Есть ли в SFML какая-либо функция, которая бы установила спрайты игрока и врагов не в соответствии с размером их текстур (просто прямоугольники), а в «цветные» области исходного файла png, чтобы спрайт соответствовал форме игрока?

1 Ответ

2 голосов
/ 14 июля 2020

Итак, насколько я понимаю, вы, вероятно, захотите создать спрайт с теми же границами, что и ваша текстура, при условии, что ваш игрок «цветной», а остальная часть вашей текстуры прозрачна. Во-первых, ваша текстура и спрайт (sf :: Sprite) будут иметь те же границы, что и изображение (png), и установленный вами масштаб в зависимости от размера изображения. Однако единственное, что будет отображаться на экране, будет ваша «цветная» часть, поскольку остальная часть изображения имеет значение альфа 0 (прозрачное). Таким образом, нет необходимости создавать спрайт, который имеет те же «границы», что и его видимые части. Если вы не обрабатываете коллизии.

Если вы действительно обрабатываете коллизии, пожалуйста, обратите внимание на то, что называется обнаружением коллизий с точностью до пикселя. (Функция "пересечения" SFML использует обнаружение ограничивающей рамки, если вы ее используете.)

Если это не тот ответ, который вы ищете, уточните вопрос, и я помогу:)

...