Я не знаю, поможет ли это, но вы можете попробовать либо сделать переменные движения, чтобы сигнализировать, может ли человек двигаться таким образом, и когда вы сталкиваетесь с этой областью координат (вода), вы можете установить эти координаты ложно. Если вы сделали координаты (x и y для перемещения вашего персонажа), это не должно быть сложно.
Обратите внимание, что я просто использую область случайных координат
MOVE_RIGHT = True
MOVE_LEFT = True
MOVE_UP = True
MOVE_DOWN = True
if x == 250:
MOVE_RIGHT = False
if event.key == K_RIGHT and MOVE_RIGHT == True:
x += 1
Надеюсь, это поможет!