один способ, которым Вы можете получить координаты довольно легко это:
y = int(math.cos(x/70) * 30 + surface.get_height()/2)
если вы используете разрешение 640х480, это будет приблизительно описать свой путь
другой путь был бы сделать некоторые Pygame код для рисования пути и сохранения его в виде списка, который мы можем назвать «путь», например. то вы можете получить любые координаты х, соответствующие координату говоря
path[x]
код, который вы хотите, может выглядеть примерно так:
path = list(0 for x in range(screen.get_width())) #make every y to 0 originally
while not <exit condition>:
if pygame.mouse.get_pressed()[0]: #if lmb is pressed
mpos = pygame.mouse.get_pos()
x, y = mpos[0], mpos[1] #redundant, but for demonstrating
path[x] = y #so this will map y coordinates to x coordinates
draw_path(screen, path) #some function to draw you path, so its easier to make
конечно Theres некоторые вопросы, вы должны решить, как если координата не была нанесена на карту, она будет 0, и ваш мяч не будет двигаться очень плавно.
вы можете сгенерировать список «путь», используя эту функцию «cos», например;
path = []
for x in range(len(screen.get_width())):
y = int(math.cos(x/70) * 30 + surface.get_height()/2)
path.append(y)
также как mizipzor сказал, что вы должны сделать отрегулировать мяч так, похоже, его прокатки на вершине кривой, а не через него
=)
В этом проблема. Я не знаю координат каждой точки от пути. Есть ли способ автоматизировать это? – Marconi
Понятно, что теперь очевидным маршрутом является обновление вашего ответа с тем, как создается путь. Как вы нарисуете линию, которая указывает, что вы не знаете? Вы используете библиотеку? – Mizipzor
pygame - единственная зависимость, но вот что я сделал: я редактирую изображение и рисую трассировку по пути, который я хочу, с красной линией, а затем в pygame. Я просматривал пиксели слева направо, а затем сверху вниз. каждый раз, когда я нажимаю красный пиксель, я записываю его координаты. – Marconi