For some reason even though no error is appearing the player1 sprite is not moving even after I set the variables to global. I have checked several times and I can not see where the error is so i would be very great-full if anyone helped me out. I am using pygame, sys and os libraries. Sorry for the messy code.
Code:
from GGD import *
screen = pygame.display.set_mode((226, 318))
player_pos=[100,50]
pygame.display.set_icon(pygame.image.load('Sprites/Icon.png'))
pygame.display.set_caption("Knock Knight")
player1 = pygame.image.load('Sprites/Player.png')
player_rect = pygame.Rect(player_pos[0], player_pos[1], player1.get_width(), player1.get_height())
spriteGlobals()
clock = pygame.time.Clock()
while True:
screen.fill((0, 0, 0))
screen.blit(player1, player_pos)
spriteMovement(player1, player_pos)
pygame.display.update()
clock.tick(60)
pygame.quit()
GGD:
from pygame.locals import *
import pygame
import sys
import os
print('Loading[*]')
pygame.init()
moving_right = False
moving_left = False
moving_up = False
moving_down = False
def spriteGlobals():
global moving_up, moving_down, moving_left, moving_right
def spriteMovement(player1, player_pos=[0,0]):
global moving_up, moving_down, moving_left, moving_right
if moving_right == True:
player_pos[0] += 4
if moving_left == True:
player_pos[0] -= 4
if moving_up == True:
player_pos[1] -=4
if moving_down == True:
player_pos[1] +=4
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
if event.type == KEYDOWN:
if event.key == K_RIGHT:
moving_right = True
if event.key == K_LEFT:
moving_left = True
if event.key == K_UP:
moving_up = True
if event.key == K_DOWN:
moving_down = True
if event.type == KEYUP:
if event.key == K_RIGHT:
moving_right = False
if event.key == K_LEFT:
moving_left = False
if event.key == K_UP:
moving_up = False
if event.key == K_DOWN:
moving_down = False