Имеет ли Бурундук / Пимумк отбраковку объектов, находящихся за пределами экрана? - PullRequest
1 голос
/ 01 апреля 2019

Я нашел только выбраковку при пространственном хешировании для столкновений.Я имею в виду вид отсечения задней стороны, выполняемый библиотеками трехмерной графики, когда все, что не должно быть видимым, не отображается.

Есть ли в Chipmunk2D / Pymunk какие-либо условия, позволяющие не рисовать объекты, находящиеся за пределами экрана, или этот пользователь должен сам это реализовать?
Например:
enter image description here

Красный прямоугольник - это граница экрана.Все синие объекты должны быть нарисованы, потому что они находятся внутри экрана.Зеленые объекты не должны быть нарисованы.

Я надеялся, что debug_draw() будет иметь функцию отбраковки.

ps: кстати, если я не использую debug_draw() для рисования, какой другой способ рисования?Я не вижу функции draw() или release_draw().Так должен ли пользователь писать код для индивидуальной итерации всех объектов и их рисования?Я думаю, что это будет работать нормально, потому что тогда пользователь может выполнить тест пересечения прямоугольника и решить, какие объекты отбраковывать.Возможно, debug_draw можно переименовать в drawAll().

1 Ответ

1 голос
/ 01 апреля 2019

Метод отладочной отрисовки в основном предназначен для отладки и быстрого создания прототипов, поэтому более сложные функции, такие как отбор, выходят за рамки его реализации.

Если вы чувствуете себя ограниченным отладочным отрисовкой, возможно, пришло время перейти к вашему собственному коду рисования, где у вас есть полный контроль. Должно быть довольно легко подражать тому, что делает отладочное рисование самостоятельно, некоторые примеры кода выполняют пользовательское рисование.

...