Last modified: Jan 08, 2025 By Alexander Williams

Python Pygame Time Get Ticks Guide

In game development, timing is crucial. Pygame, a popular Python library, provides a handy function called time.get_ticks() to help you manage time effectively.

What is time.get_ticks()?

The time.get_ticks() function returns the number of milliseconds since Pygame was initialized. This is useful for timing events, animations, and more.

How to Use time.get_ticks()

To use time.get_ticks(), you first need to import the Pygame library and initialize it. Here's a simple example:


import pygame

pygame.init()

start_time = pygame.time.get_ticks()
print(f"Game started at: {start_time} ms")
    

In this example, start_time will store the time when the game started. You can use this value to calculate elapsed time later.

Calculating Elapsed Time

To calculate the elapsed time, subtract the start time from the current time. Here's how you can do it:


import pygame

pygame.init()

start_time = pygame.time.get_ticks()

# Simulate some game activity
pygame.time.delay(2000)  # Delay for 2 seconds

elapsed_time = pygame.time.get_ticks() - start_time
print(f"Elapsed time: {elapsed_time} ms")
    

Elapsed time: 2000 ms
    

This code will output the elapsed time in milliseconds. The pygame.time.delay() function is used to simulate a delay of 2 seconds.

Practical Applications

time.get_ticks() is useful in various scenarios. For example, you can use it to control the frame rate, time animations, or manage game events.

If you're working with sound, you might also find our Python Pygame Mixer Music Play Guide helpful.

Example: Frame Rate Control

Here's an example of how to use time.get_ticks() to control the frame rate of your game:


import pygame

pygame.init()

clock = pygame.time.Clock()
start_time = pygame.time.get_ticks()

running = True
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

    # Calculate elapsed time
    elapsed_time = pygame.time.get_ticks() - start_time
    print(f"Elapsed time: {elapsed_time} ms")

    # Control frame rate
    clock.tick(30)  # 30 FPS
    

This code will print the elapsed time every frame and ensure the game runs at 30 frames per second.

Conclusion

Using time.get_ticks() in Pygame is a simple yet powerful way to manage time in your games. Whether you're timing events, controlling frame rates, or animating sprites, this function is essential.

For more advanced Pygame techniques, check out our Python Pygame Draw Circle Guide and Python Pygame Image Load Guide.