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 LIVEThe Rubin Report40 minutes agoKamala Gets Visibly Angry as Her Disaster Interview Ends Her 2028 Election Chances1,252 watching
- 	
				 1:02:27 1:02:27VINCE2 hours agoA Very Trump Halloween | Episode 159 - 10/31/2543.3K27
- 	
				 LIVE LIVELFA TV14 hours agoLIVE & BREAKING NEWS! | FRIDAY 10/31/253,581 watching
- 	
				 LIVE LIVEBadlands Media10 hours agoBadlands Daily: October 31, 20254,017 watching
- 	
				 1:34:28 1:34:28Graham Allen2 hours agoSCARY: Kamala Had MELT DOWN Over Trump!! Does LSU Hate Charlie Kirk?! + Top Halloween Movies Of ALL TIME!!62.1K34
- 	
				 LIVE LIVECaleb Hammer1 hour agoShe Blames MAGA For Her Debt | Financial Audit129 watching
- 	
				 LIVE LIVEThe Big Migâ„¢2 hours agoWhat To Give The Man Who Has EVERYTHING!5,051 watching
- 	
				 LIVE LIVEBenny Johnson1 hour agoSHOCK: Massive Food Stamp FRAUD Exposed: 59% of Welfare are Obese Illegal Aliens!? Americans RAGE…4,710 watching
- 	
				 LIVE LIVEWendy Bell Radio6 hours agoAmerica Deserves Better6,863 watching
- 	
				 22:01 22:01DEADBUGsays2 hours agoDEADBUG'S SE7EN DEADLY HALLOWEENS4.49K5