Как мне правильно обнаружить столкновение в pygame?Python

Программы на Python
Anonymous
Как мне правильно обнаружить столкновение в pygame?

Сообщение Anonymous »

Вот как выглядит столкновение: быстрое, а не медленное

https://imgur.com/a/JNVEdUV

Код: Выделить всё

player = Block(500, 300, 20, 20, "blue")

surfaceList = [Block(500, 100, 60, 10, "orange"),
Block(500, 110, 60, 30, "red"),
Block(500, 140, 60, 10, "orange")]

--- MAIN LOOP ---

# COLLISION
collision_target = None # Track which surface the player is colliding with

target = player.rect.collidelist(surfaceList)

if target != -1:
collision_target = target

if collision_target == 1 and key[pygame.K_SPACE] == target:
player.color = "green"
else:
player.color = "blue"

# Draw
for i in surfaceList:
i.drawSurface(screen)
Я пытаюсь заставить блок обнаружить, когда я нажимаю пробел.
То, что я сделал до сих пор, это изменил FPS, добавил цель для определения точного столкновения, но все еще не обнаруживает должным образом, особенно когда FPS увеличен до желаемого значения.
Я знаю, что без цели это работает, но все равно неточно
Как это исправить

Вернуться в «Python»