Premium Only Content

Pygame tutorial | Learn to code with python | Animations and Tile mapping
In this tutorial, we will be walking through some animation ideas and functions that can help you better understand how to place things on the screen with Pygame in Python.
Got an error? Compare your code below. Angle brackets aren't allow in description so I will replace them with "less than" and "greater than"
main.py code:
import math
import pygame
win_width = 800
win_height = 600
FPS = 60
tilesize = 32
speed = 32
def get_sprite(sheet, x, y, w, h):
sprite = pygame.Surface([w, h])
sprite.blit(sheet, (0, 0), (x, y, w, h))
sprite.set_colorkey('white')
return sprite
animation_list = [
[0, 0],
[32, 0],
[64, 0],
[96, 0],
[128, 0],
[0, 32],
[32, 32],
[64, 32],
[96, 32],
[128, 32],
]
def main():
pygame.init()
screen = pygame.display.set_mode((win_width, win_height), pygame.SCALED)
pygame.display.set_caption('Animation')
background = pygame.Surface(screen.get_size())
background = background.convert()
background.fill((100, 100, 100))
screen.blit(background, (0, 0))
clock = pygame.time.Clock()
spritesheet = pygame.image.load('numbers.png').convert()
animation_loop = 0
pic_x = 0
pic_y = 0
running = True
while running:
clock.tick(FPS)
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_UP:
pic_y -= speed
elif event.key == pygame.K_DOWN:
pic_y += speed
elif event.key == pygame.K_LEFT:
pic_x -= speed
elif event.key == pygame.K_RIGHT:
pic_x += speed
if animation_loop "less than" 9:
pic = get_sprite(spritesheet, animation_list[math.floor(animation_loop)][0], animation_list[math.floor(animation_loop)][1], tilesize, tilesize)
animation_loop += 1
else:
pic = get_sprite(spritesheet, animation_list[math.floor(animation_loop)][0], animation_list[math.floor(animation_loop)][1], tilesize, tilesize)
animation_loop = 0
max_x = win_width / tilesize
max_y = win_height / tilesize
if pic_y "less than" win_height:
if pic_x "less than" win_width:
pic_x += speed
else:
pic_y += speed
pic_x = 0
else:
pic_x = 0
pic_y = 0
# screen.blit(background, (0, 0))
screen.blit(pic, (pic_x, pic_y))
pygame.display.flip()
if __name__ == '__main__':
main()
#python #pygame #animation
-
LIVE
Sean Unpaved
2 hours agoBills-Dolphins TNF Battle, Steelers' D in Crisis, & Coaching Hot Seat Alert!
275 watching -
LIVE
Human Events Daily with Jack Posobiec
55 minutes agoHUMAN EVENTS DAILY WITH JACK POSOBIEC
1,188 watching -
LIVE
LindellTV
36 minutes agoMIKE LINDELL RESPONDS TO JIMMY KIMMEL "INDEFINITE SUSPENSION"
279 watching -
1:57:27
The Charlie Kirk Show
2 hours agoMegyn Kelly Remembers Charlie + Jimmy Kimmel Off the Air | 9.18.2025
147K57 -
LIVE
SternAmerican
23 hours agoElection Integrity Call – Thurs, Sept 18 · 2 PM EST | Featuring Rhode Island
70 watching -
4:22
Michael Heaver
2 hours agoLabour Face Brutal UK WIPEOUT
12 -
10:32
Faith Frontline
17 hours agoKenneth Copeland EXPOSED as America’s CREEPIEST Pastor Yet
613 -
4:33:50
Right Side Broadcasting Network
21 hours agoLIVE REPLAY: President Trump Holds a Press Conference with Prime Minister Keir Starmer - 9/18/25
52.8K38 -
1:01:35
The Rubin Report
3 hours agoJimmy Kimmel Humiliated as NY Post Exposes His Dark Reaction to Being Canceled
49.2K88 -
12:49
Clownfish TV
9 hours agoJimmy Kimmel Pulled OFF THE AIR for Charlie Kirk Comments?! | Clownfish TV
5.42K19