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
-
21:06
Nikko Ortiz
12 hours agoBodycam's Zombie Update Is Crazy...
4.69K1 -
17:11
MetatronHistory
1 day agoMedieval Christianity in the Historical Context of Power
8.03K3 -
2:16:21
Side Scrollers Podcast
17 hours agoTwitch has a SERIOUS Problem + Leaflit’s VIRAL Interview + More | Side Scrollers
42.6K13 -
21:55
GritsGG
13 hours agoMega Win Streak On Warzone! Over 4100 Wins on BO6 WZ!
1.72K -
20:22
The Pascal Show
1 day ago $2.61 earnedARE THEY IGNORING HER?! Is The White House & FBI Ignoring Candace Owens' A**assination Claims?!
29.2K15 -
1:00:45
TruthStream with Joe and Scott
1 day agoMondays with Matt Geiger from Verity Metals: Gold, Silver, The Housing Market and more. Live 12/1 6pm pacific #519
9.6K -
2:17:46
The Connect: With Johnny Mitchell
3 days ago $14.70 earnedA Sitdown With The Real Walter White: How An Honest Citizen Became A Synthetic Drug Kingpin
81K1 -
2:40:08
PandaSub2000
10 hours agoDEATH BET | Solo Episode 01 (Edited Replay)
1.65K -
LIVE
Lofi Girl
3 years agolofi hip hop radio 📚 - beats to relax/study to
742 watching -
2:03:38
Inverted World Live
8 hours agoSatanic Pedophile Network in Australia | Ep. 149
233K55