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
-
TimcastIRL
3 hours agoIT'S GETTING WORSE | Timcast IRL #1443 ft. Chrissie Mayr & Adam Johnson
168K40 -
LIVE
Laura Loomer
3 hours agoEP170: MAGA Fights Back Against RINOs Pushing The Dignity Act
906 watching -
UPCOMING
Isabella Moody
3 hours agoLIVESTREAM: Topic TBD!
4.86K1 -
LIVE
Sam Tripoli
8 hours agoBS Live!: Epstein Fallout + Rothschild Connection + Evidence of Biblical Giants
114 watching -
LIVE
Alex Zedra
1 hour agoLIVE! Playing Arc Raiders
211 watching -
5:17
Russell Brand
5 hours agoThis Just BLEW UP In Her Face...
73.7K43 -
14:10
Amy Dangerfield
2 hours agoWhy I Left Valuetainment
5.03K3 -
LIVE
Flyover Conservatives
12 hours agoCan a Wave of Unified Christians Really Turn California Around? - Che Ahn | FOC Show
327 watching -
LIVE
MissesMaam
3 hours agoRUMBLE SHORTS ARE LIVE!?!?! | Fallout New Vegas 💚✨
127 watching -
14:06
Blackstone Griddles
2 hours agoThe Perfect Picanha on the Blackstone Open Flame Grill
7.82K