Difference between revisions of "Using Sprites"
(→Simple Sprite) |
|||
Line 26: | Line 26: | ||
SCREEN.fill(COLOR) | SCREEN.fill(COLOR) | ||
for events in pygame.event.get(): #get all pygame events | for events in pygame.event.get(): #get all pygame events | ||
+ | if events.type == pygame.QUIT: #if event is quit then shutdown window and program | ||
+ | pygame.quit() | ||
+ | sys.exit() | ||
+ | |||
+ | SCREEN.blit(b.image, b.rect) | ||
+ | pygame.display.update() | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | ==Example with movement== | ||
+ | <syntaxhighlight lang=python> | ||
+ | #Import statements are to enable the code to use the functions from the library | ||
+ | import pygame | ||
+ | import sys | ||
+ | import os | ||
+ | |||
+ | #initialize pygame & window | ||
+ | os.environ["SDL_VIDEO_CENTERED"] = "1" | ||
+ | pygame.init() | ||
+ | SCREENWIDTH = 500 | ||
+ | SCREENHEIGHT = 500 | ||
+ | SCREENSIZE = [SCREENWIDTH, SCREENHEIGHT] | ||
+ | SCREEN = pygame.display.set_mode(SCREENSIZE) | ||
+ | COLOR=[0,0,0] | ||
+ | |||
+ | pos = [0,0] # position of sprite on the screen | ||
+ | |||
+ | b = pygame.sprite.Sprite() # create sprite | ||
+ | b.image = pygame.image.load("hero.png").convert() # load hero image | ||
+ | b.rect = b.image.get_rect()# use image extent values | ||
+ | b.rect.topleft = pos # put the hero at position | ||
+ | |||
+ | #game loop | ||
+ | while True: | ||
+ | SCREEN.fill(COLOR) | ||
+ | for events in pygame.event.get(): #get all pygame events | ||
+ | if events.type == pygame.KEYDOWN: | ||
+ | if events.key == pygame.K_LEFT: | ||
+ | pos[0]=pos[0]-10 | ||
+ | elif events.key == pygame.K_RIGHT: | ||
+ | pos[0]=pos[0]+10 | ||
+ | elif events.key == pygame.K_UP: | ||
+ | pos[1]=pos[1]-10 | ||
+ | elif events.key == pygame.K_DOWN: | ||
+ | pos[1]=pos[1]+10 | ||
+ | b.rect.topleft = pos | ||
+ | |||
if events.type == pygame.QUIT: #if event is quit then shutdown window and program | if events.type == pygame.QUIT: #if event is quit then shutdown window and program | ||
pygame.quit() | pygame.quit() |
Latest revision as of 16:03, 10 March 2018
Sprites have many built in features in pygame, such as collision detection.
Simple Sprite
#Import statements are to enable the code to use the functions from the library
import pygame
import sys
import os
#initialize pygame & window
os.environ["SDL_VIDEO_CENTERED"] = "1"
pygame.init()
SCREENWIDTH = 500
SCREENHEIGHT = 500
SCREENSIZE = [SCREENWIDTH, SCREENHEIGHT]
SCREEN = pygame.display.set_mode(SCREENSIZE)
COLOR=[0,0,0]
b = pygame.sprite.Sprite() # create sprite
b.image = pygame.image.load("hero.png").convert() # load hero image
b.rect = b.image.get_rect()# use image extent values
b.rect.topleft = [0, 0] # put the hero in the top left corner
#game loop
while True:
SCREEN.fill(COLOR)
for events in pygame.event.get(): #get all pygame events
if events.type == pygame.QUIT: #if event is quit then shutdown window and program
pygame.quit()
sys.exit()
SCREEN.blit(b.image, b.rect)
pygame.display.update()
Example with movement
#Import statements are to enable the code to use the functions from the library
import pygame
import sys
import os
#initialize pygame & window
os.environ["SDL_VIDEO_CENTERED"] = "1"
pygame.init()
SCREENWIDTH = 500
SCREENHEIGHT = 500
SCREENSIZE = [SCREENWIDTH, SCREENHEIGHT]
SCREEN = pygame.display.set_mode(SCREENSIZE)
COLOR=[0,0,0]
pos = [0,0] # position of sprite on the screen
b = pygame.sprite.Sprite() # create sprite
b.image = pygame.image.load("hero.png").convert() # load hero image
b.rect = b.image.get_rect()# use image extent values
b.rect.topleft = pos # put the hero at position
#game loop
while True:
SCREEN.fill(COLOR)
for events in pygame.event.get(): #get all pygame events
if events.type == pygame.KEYDOWN:
if events.key == pygame.K_LEFT:
pos[0]=pos[0]-10
elif events.key == pygame.K_RIGHT:
pos[0]=pos[0]+10
elif events.key == pygame.K_UP:
pos[1]=pos[1]-10
elif events.key == pygame.K_DOWN:
pos[1]=pos[1]+10
b.rect.topleft = pos
if events.type == pygame.QUIT: #if event is quit then shutdown window and program
pygame.quit()
sys.exit()
SCREEN.blit(b.image, b.rect)
pygame.display.update()