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
-
2:26:47
FreshandFit
4 hours agoRatchet Chick Gets Kicked Out "Gracefully" For THIS...
52.1K49 -
2:05:17
TimcastIRL
7 hours agoDemocrat ACTBLUE In CHAOS, Theories Over DOGE Cutting SLUSH FUND Go Wild w/Hotep Jesus | Timcast IRL
145K137 -
1:11:43
Roseanne Barr
12 hours ago $37.41 earned"They are all Monsters" | The Roseanne Barr Podcast #89
64.7K75 -
9:26:16
Dr Disrespect
16 hours ago🔴LIVE - DR DISRESPECT - WARZONE - PR ATTEMPTS
103K28 -
3:48:30
Akademiks
7 hours agoDay 1/30. Lebron checks stephen a Smith. TOry Lanez talking CRAZY asf. Lil Ronnie K*Ilers Caught
63.9K2 -
3:47:54
I_Came_With_Fire_Podcast
11 hours agoDEPARTMENT OF EDUCATION AXED | GAZA ULTIMATUM
37.2K15 -
2:16:53
FreshandFit
8 hours agoCall-In Show
69.2K12 -
4:27:46
Nerdrotic
12 hours ago $51.32 earnedDaredevil Born Again REVIEW, Harry Potter Show DOA, DC HACKED! | Friday Night Tights 344 Paul Chato
143K39 -
1:15:15
Glenn Greenwald
9 hours agoWeek in Review: Lee Fang and Leighton Woodhouse on Ukraine War and NYT Piece Revealing Tensions within Trump Admin; PLUS: Lee Fang Takes Audience Questions on DOGE and Big Tech | SYSTEM UPDATE #420
85.6K46 -
1:03:30
Sarah Westall
11 hours agoMassive Government Overhaul: FBI, CIA, IRS and more to be Gutted w/ Sam Anthony
94.5K30