в дополнении к
я есть неподвижный игрок в центре экрана, и сейчас я перемещаю фон и элементы в противоположном направлении, чтобы создать иллюзию движения вперед с помощью клавиш со стрелками.
Но теперь я хочу определить положение мыши и переместить игрока в направлении мыши (как, например, в игре agar.io), и что ускорение зависит от расстояния до объекта (чем дальше мышь чем быстрее игрок продвигается вперед и если мышь находится на игроке, он больше не продвигается)
Моя программа работает так:
keys = pygame.key.get_pressed()
if keys[pygame.K_UP]:
if y_max > -1000:
y_max -= int(player_1.speed * dt)
bg_y += int(player_1.speed * dt)
if bg_y > 0:
bg_y = -400
if keys[pygame.K_DOWN]:
if y_max < 1000:
y_max += int(player_1.speed * dt)
bg_y -= int(player_1.speed * dt)
if bg_y < -HEIGHT:
bg_y = -400
if keys[pygame.K_LEFT]:
if x_max > -1000:
x_max -= int(player_1.speed * dt)
bg_x += int(player_1.speed * dt)
if bg_x > 0:
bg_x = -400
if keys[pygame.K_RIGHT]:
if x_max < 1000:
x_max += int(player_1.speed * dt)
bg_x -= int(player_1.speed * dt)
if bg_x < -WIDTH:
bg_x = -400
Я нашел это, чтобы помочь, но я не понимаю, как это работает:
dX, dY = pygame.mouse.get_pos()
rotation = math.atan2(dY - (float(HEIGHT) / 2), dX - (float(WIDTH) / 2)) * 180 / math.pi
и, возможно, я должен использовать синус и косинус, но я не знаю, как?
Спасибо за вашу помощь !