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
TheSaltyCracker
1 hour agoSaltCast 9-25-25
3,955 watching -
LIVE
Barry Cunningham
3 hours agoPRESIDENT TRUMP NEEDS TO STAND FIRM AND SHUT THE GOVERNMENT DOWN IF HE HAS TO!
1,841 watching -
LIVE
StoneMountain64
54 minutes agoBattlefield 6 News and Extraction Gaming
222 watching -
DVR
Stephen Gardner
37 minutes agoCharlie Kirk Bombshell: Fresh Video Footage Shatters the Narrative!😱
12 -
LIVE
Silver Dragons
1 hour agoSILVER PRICE SOARING - Is Silver In the END GAME Now?
18 watching -
1:28:13
Russell Brand
3 hours agoThe Truth About UK Corruption – Andrew Bridgen Speaks Out - SF640
133K25 -
2:11:52
Side Scrollers Podcast
3 hours agoYouTube ADMITS BLATANT Censorship + California Wants to FINE “Hate Speech” + More | Side Scrollers
31.3K1 -
15:26
Simply Bitcoin
1 day ago $0.17 earned$60 Trillion Incoming? | Why Gold & Bonds are Screaming "BUY BITCOIN"
4243 -
1:55:59
The Charlie Kirk Show
3 hours agoDebunking the Lies and Smears about Charlie | ThoughtCrime Team | 9.25.2025
82K45 -
DVR
Sean Unpaved
2 hours agoCup Swings, Homer Kings, & TNF Zzzz's
16K2