один способ получить координаты довольно легко, это:
y = int( math.cos(x/70) * 30 + surface.get_height()/2 )
при условии, что вы используете разрешение 640x480, это приблизительно опишет ваш путь
другим способом было бы сделатьнекоторый код Pygame для рисования пути и сохранения его в виде списка, который мы можем назвать, например, «путь».тогда вы можете получить любые координаты x, соответствующие координате y, сказав
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
, конечно, есть некоторые проблемы, которые вы должны решитьнапример, если координата не была отображена, она будет равна 0, и ваш шар не будет двигаться очень плавно
вы можете сгенерировать список 'path', используя эту 'cos' -функцию, например,
path = []
for x in range(len(screen.get_width())):
y = int( math.cos(x/70) * 30 + surface.get_height()/2 )
path.append(y)
также, как Мизипзор сказал, что вам нужно будет отрегулировать мяч так, чтобы он выглядел так, как будто он катится по вершине кривой, а не через него
=)