Вы определили функцию для рисования изображения внутри основного l oop, но код на самом деле не вызывает рисование:
running = True;
while running:
screen.fill((255, 0, 0))
playerX += 0.2
def player(x, y): # <<-- HERE
screen.blit(playerImg, (x, y)) # <<-- HERE
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
player(playerX, playerY)
pygame.display.update()
Вероятно, просто перемещает функцию за пределы основного l oop, и вызов его с l oop будет работать:
import pygame
def player( screen, x, y ): # <<-- HERE
""" Draw the player bitmap at x,y """
screen.blit( playerImg, ( x, y ) )
pygame.init()
screen = pygame.display.set_mode((800, 600))
playerImg = pygame.image.load("spaceship.png")
playerX = 350
playerY = 500
playerX_change = 0
# Main Loop
clock = pygame.time.Clock()
running = True;
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
screen.fill((255, 0, 0))
playerX += 0.2
player( screen, playerX, playerY ) # <<-- HERE
pygame.display.update()
clock.tick( 60 ) # limit FPS