Помните из ваших уроков физики, v = dx/dt
:
скорость = изменение положения / изменение во времени
Примените это здесь.Изменение времени указывается здесь time.sleep(0.2)
- 1/5 секунды.Вы, вероятно, не хотите изменять это, поэтому другая вещь, которую вы можете изменить, чтобы изменить скорость, - это изменение позиции для каждого временного интервала.
Вот где приходит canvas.move()
-это смена позиции.Вы вызываете его дважды в своем скрипте, один раз для rc1
и один раз для rc2
, и оба раза с одинаковыми x
и y
.Поскольку изменение положения одинаково, а изменение во времени одинаково, rc1
и rc2
будут двигаться с одинаковой скоростью.
Решение?Просто используйте разные переменные.Скажем, мы хотим, чтобы rc2
двигался вдвое быстрее, чем rc1
в том же направлении:
canvas.move(rc1, x, y)
canvas.move(rc2, 2*x, 2*y)
Или, скажем, мы хотим, чтобы rc1
двигался вдоль оси x
, тогда как мы хотим rc2
для перемещения на то же расстояние, но вдоль оси y
вместо:
canvas.move(rc1, x, y)
canvas.move(rc2, y, x)
Или мы хотим, чтобы они двигались по совершенно другим траекториям и скоростям:
x1, y1 = 5, 0
x2, y2 = -13, 7
canvas.move(rc1, x1, y1)
canvas.move(rc2, y2, x2)
Это последнее решениенаиболее гибким, и это то, на что вы, вероятно, должны полагаться.