2021年3月5日星期五

player gets stuck after hitting boundary in pygame

When my player hits one of the boundaries with the value 0 it is perfectly fine and can move freely throughout the world. But when my player hits a boundary with the value 485, it fine until you try and move up. Then depending on the boundary you hit it will get stuck at playerX = 249 or playerY = 249
import pygame import time

pygame.init()    playerX = 250 # Player X locale  playerY = 250 # Players Y locale  playerSpeed = 2    backgroundX = 0 # Background X locale  backgroundY = 0 # Background Y locale    ### LOADS PLAYER IMAGES ###  playerFrontImg = pygame.image.load("Images/Player Images/playerBackOne.png")  playerBackImg = pygame.image.load("Images/Player Images/playerFrontOne.png")  playerLeftImg = pygame.image.load("Images/Player Images/playerLeftOne.png")  playerRightImg = pygame.image.load("Images/Player Images/playerRightOne.png")  playerCurrentImg = playerFrontImg  ### LOADS PLAYER IMAGES ###    ### LOADS MAP IMAGES ###  testMap = pygame.image.load("Images/Map Images/TEST_MAP.png")  ### LOADS MAP IMAGES ###    screen = pygame.display.set_mode((500, 500))  clock = pygame.time.Clock()    running = True  while running:      clock.tick(60)      for event in pygame.event.get():          if event.type == pygame.QUIT:              running = False        ### KEYBOARD INPUTS AND MOVEMENTS ###      keys = pygame.key.get_pressed() # gets pressed keys and assigns it TRUE or FALSE      if keys[pygame.K_w]: # Checks if "w" is pressed            playerCurrentImg = playerFrontImg # Changes current image to correct image            if playerY == 250:              if backgroundY < 0:                  backgroundY += playerSpeed          if backgroundY >= 0 or playerY > 250:              playerY -= playerSpeed          if playerY <= 0:              playerY = 0        if keys[pygame.K_s]: # Checks if "s" is pressed            playerCurrentImg = playerBackImg # Changes current image to correct image            if playerY == 250:              if backgroundY > -500:                  backgroundY -= playerSpeed          if backgroundY <= -500 or playerY < 250:              playerY += playerSpeed          if playerY >= 485:              playerY = 485 # THIS SEEMS TO BE WHERE THE ISSUE IS        if keys[pygame.K_a]:            playerCurrentImg = playerLeftImg # Changes current image to correct image            if playerX == 250:              if backgroundX < 0:                  backgroundX += playerSpeed          if backgroundX >= 0 or playerX > 250:              playerX -= playerSpeed          if playerX <= 0:              playerX = 0        if keys[pygame.K_d]:            playerCurrentImg = playerRightImg # Changes current image to correct image            if playerX == 250:              if backgroundX > -500:                  backgroundX -= playerSpeed          if backgroundX <= -500 or playerX < 250:              playerX += playerSpeed          if playerX >= 485:              playerX = 485        if keys[pygame.K_f]: # TROUBLE SHOOTING KEY          print(playerX, playerY, "\n", backgroundX, backgroundY)          time.sleep(1)        ### KEYBOARD INPUTS AND MOVEMENTS ###        screen.blit(testMap, (backgroundX, backgroundY))      screen.blit(playerCurrentImg, (playerX, playerY))        pygame.display.update()  pygame.quit()  quit()  
https://stackoverflow.com/questions/66500974/player-gets-stuck-after-hitting-boundary-in-pygame March 06, 2021 at 07:45AM

没有评论:

发表评论