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
-
13:48
dragantula
2 years agoPygame RPG Tutorial part 5 | Python 2022 | Creating enemies and animations
42 -
13:13
dragantula
2 years agoPygame RPG Tutorial part 3 | Python 2022 | Player movement and Animation
30 -
1:01:14
HbCoding|Python
1 year agoPong - Full Tutorial | Python | Pygame Module | Programming Beginners
56 -
10:00
coolcodingcat
1 year agoPython Tetris Part 1 (Starter pygame code)
8 -
58:45
Tech With Tim
3 years agoPython/Pygame Checkers Tutorial (Part 3) - Jumping and King Movement
14 -
27:04
Tech With Tim
3 years agoPython/Pygame Checkers Tutorial (Part 2) - Pieces and Movement
14 -
33:25
Tech With Tim
3 years agoPython/Pygame Checkers Tutorial (Part 1) - Drawing the Board
22 -
37:50
HbCoding|Python
1 year agoBattleship - Adding Tokens and Explosion Anims | Python | Pygame Module | Programming Beginners
14 -
0:44
HbCoding|Python
1 year agoPong - Demo | Python | Pygame Module | Programming Beginners
7 -
1:35:21
Tech With Tim
3 years ago $0.02 earnedPygame in 90 Minutes - For Beginners
20