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
-
4:34
Legal Money Moves
5 days agoThe AI Panic: Are You Next?
6 -
25:41
Robbi On The Record
2 days ago $6.31 earnedThe Billion-Dollar Lie Behind OnlyFans “Empowerment” (Her Testimony Will Shock You) | part II
29.8K23 -
1:06:09
Man in America
14 hours agoExposing HAARP's Diabolical Mind Control Tech w/ Leigh Dundas
61K47 -
1:47:16
Tundra Tactical
10 hours ago $101.50 earnedGlock Interview From Beyond The Grave//Whats the Future of Home Training??
45.2K7 -
2:16:35
BlackDiamondGunsandGear
9 hours agoEBT Apocalypse? / Snap Down SHTF / After Hours Armory
17.4K8 -
14:05
Sideserf Cake Studio
20 hours ago $14.45 earnedHYPERREALISTIC HAND CAKE GLOW-UP (Old vs. New) 💅
52.1K9 -
28:37
marcushouse
22 hours ago $8.06 earnedSpaceX Just Dropped the Biggest Starship Lander Update in Years! 🤯
24.2K8 -
14:54
The Kevin Trudeau Show Limitless
3 days agoThe Hidden Force Running Your Life
104K23 -
2:16:35
DLDAfterDark
9 hours ago $7.98 earnedIs The "SnapPocalypse" A Real Concern? Are You Prepared For SHTF? What Are Some Considerations?
25.1K10 -
19:58
TampaAerialMedia
20 hours ago $8.87 earnedKEY LARGO - Florida Keys Part 1 - Snorkeling, Restaurants,
41.6K17