Я безуспешно пытался понять, как нарисовать текстуру внутри круга.
Например, у меня есть многоугольник красного цвета, который я нарисовал на поверхности, называемой сёрф, используя pg.draw.polygon
. Теперь я хочу обрезать эту поверхность в круг (см. Изображения ниже)
Из этого
К этому.
То, как я это делал, было:
- Создать
surf1
с белым кружком и черным фоном - Создать
surf2
с белым многоугольником и черным фоном - Blit
surf1
в surf2
с режимом умножения смешивания - Наконец, Blit
surf2
в поверхность отображения основной игры
Но это слишком медленно, чтобы даже считаться хорошей идеей ... Так есть ли эффективный способ создать это?