В принципе, я хотел вернуться в Python, поэтому решил сделать небольшую игру в pygame, где есть прыгающий шар, который вам нужно держать подпрыгивая в воздухе. Проблема в том, что когда я использую функции clock.tick()
и clock.get_time()
, get_time
должен вернуть время, прошедшее в миллисекундах, но оно проходит время в миллисекундах * 10.Функция часов Pygame возвращает странное значение
Мой код:
GRAVITY = 10
def move(self, delta):
self.x+= (self.vx * delta)
self.y+= (self.vy * delta)
def speed(self, delta):
self.vy += (GRAVITY * delta)
clock.tick()
while True:
clock.tick()
delta = (clock.get_time()/100) #should be /1000
ball.move(delta)
ball.speed(delta)
Он работает плавно, как и в реальном мире, когда его/100, но работает очень медленно, то его/1000.
Try с помощью 'clock.get_ticks', которые следует использовать милли. Это также следует учитывать в документах pygame: «Таймы в pygame представлены в миллисекундах (1/1000 секунд). Большинство платформ имеют ограниченное временное разрешение около 10 миллисекунд. Это разрешение в миллисекундах дается в константе TIMER_RESOLUTION. ' – TyrantWave