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
Jeff Ahern
2 hours agoThe Saturday Show with Jeff Ahern
1,945 watching -
1:38:52
Michael Franzese
15 hours agoEpstein. Diddy. Coverups. What the Government Isn’t Telling You
40.3K88 -
2:23:40
Robert Gouveia
5 hours agoObama Traitors get CRIMINAL REFERRAL! Motion to UNSEAL! Rupert Murdoch SUED!
35.2K50 -
LIVE
GritsGG
4 hours agoWin Streaking! Most Wins 3100+! 🔥
306 watching -
10:24
Zoufry
6 hours agoThe Building That Shouldn't Exist : Fort Boyard
31.3K10 -
4:25:19
Grant Cardone
6 hours agoHow to Build Wealth in 2025 - Grant Cardone LIVE!
35.3K3 -
3:03:03
I_Came_With_Fire_Podcast
12 hours agoEschatologist: This is EVIDENCE the Biblical END TIMES Are Coming Close
27.2K3 -
2:55:04
Beyond_Bitz
3 days agoDeath Stranding - Part 3 - Mule Mercenaries & Electric Bicycles
16.4K -
LIVE
BBQPenguinn
4 hours ago $0.58 earnedNEW WIPE! Tasking & PVP
58 watching -
18:11
Actual Justice Warrior
6 hours agoMamdani Is In BIG TROUBLE
35.4K53