У меня есть один или два вопроса. Я использую Pygame для создания графической игры.pygame: идеальное столкновение пикселей с линиями?
У нас есть шары, отскакивающие внутри на поверхности, друг против друга и стены. С помощью мыши вы можете нарисовать прямые линии, которые шары отскакивают и отскакивают.
Мячи нарисованы с использованием pygame.image, так как у нас есть ball.png, покрывающий поверхность и прямоугольник шаров. Но для строк мы просто используем pygame.draw.line(), который возвращает простые прямоугольники.
И моя нынешняя большая проблема:
Я решил нарисовать каждую линию на своем объекте поверхности, а затем блитирования их на большую "игру холст. Это связано с тем, что я хотел использовать идеальное обнаружение столкновения пикселов, предоставленное here, а также surfarray.array_colorkey(), и для этого мне нужна базовая поверхность (у шаров есть изображение Surface, возвращаемое pygame.image). Я хочу Поверхность для строк, чтобы я мог использовать аспект прозрачности алгоритма столкновения, иначе шары отскакивают от Rects, обертывающих линии.
Q1) Нет ли лучшего способа рисования линий? Я хотел бы использовать что-то похожее на изображение или Sprite. Что-то подобное существует?
Q2) Если нет, то как я должен создать поверхность для каждой линии так, чтобы рисовать линию на меньшую поверхность, используя координаты из «игры холст» относительно легко, линия не отсекается и пиксель совершенное столкновение, описанное выше, работает?
Q3) Если im полностью выключен/есть waaaay лучшие способы совершения столкновений, обнаружения, рисования и т. Д. Пожалуйста, я все уши.