当我没有背景时会发生这种情况: https ://www.youtube.com/watch?v=S-bv-j8le24
这是代码:
import pygame
pygame.init()
#####Variables#####
white = (255,255,255)
black = (0,0,0)
red = (255,0,0)
green = (0,255,0)
blue = (0,0,255)
gameWindowWidth = 1280
gameWindowHeight = 720
gameRunning = True
clock = pygame.time.Clock()
###################
#####Loading#####
ninja01 = pygame.image.load("C:\\Users\Tom\Desktop\gameImages\charSprite\s_Idle__000.png")
background = pygame.image.load("C:\\Users\Tom\Desktop\gameImages\Background\DistantCity\PNG\m_image.png")
#################
#####Classes#####
class player():
def __init__(self):
self.playerX = gameWindowWidth * 0.2
self.playerY = gameWindowHeight * 0.8
self.changeOnX = 0
def changingX(self):
if event.type == pygame.KEYDOWN and event.key == pygame.K_RIGHT:
self.changeOnX = 5
if event.type == pygame.KEYDOWN and event.key == pygame.K_LEFT:
self.changeOnX = -5
if event.type == pygame.KEYUP and event.key == pygame.K_RIGHT:
self.changeOnX = 0
if event.type == pygame.KEYUP and event.key == pygame.K_LEFT:
self.changeOnX = 0
def move(self):
self.playerX = self.playerX + self.changeOnX
gameWindow.blit(ninja01, (self.playerX, self.playerY))
################
ninja = player()
gameWindow = pygame.display.set_mode((gameWindowWidth, gameWindowHeight))
pygame.display.set_caption("Platformer Game")
while gameRunning == True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
gameRunning = False
#gameWindow.blit(background, (0, 0))
ninja.changingX()
ninja.move()
pygame.display.update()
clock.tick(144)
当我有背景时会发生这种情况: https ://www.youtube.com/watch?v=l89zZQ_8kzg
这是代码:
import pygame
pygame.init()
#####Variables#####
white = (255,255,255)
black = (0,0,0)
red = (255,0,0)
green = (0,255,0)
blue = (0,0,255)
gameWindowWidth = 1280
gameWindowHeight = 720
gameRunning = True
clock = pygame.time.Clock()
###################
#####Loading#####
ninja01 = pygame.image.load("C:\\Users\Tom\Desktop\gameImages\charSprite\s_Idle__000.png")
background = pygame.image.load("C:\\Users\Tom\Desktop\gameImages\Background\DistantCity\PNG\m_image.png")
#################
#####Classes#####
class player():
def __init__(self):
self.playerX = gameWindowWidth * 0.2
self.playerY = gameWindowHeight * 0.8
self.changeOnX = 0
def changingX(self):
if event.type == pygame.KEYDOWN and event.key == pygame.K_RIGHT:
self.changeOnX = 5
if event.type == pygame.KEYDOWN and event.key == pygame.K_LEFT:
self.changeOnX = -5
if event.type == pygame.KEYUP and event.key == pygame.K_RIGHT:
self.changeOnX = 0
if event.type == pygame.KEYUP and event.key == pygame.K_LEFT:
self.changeOnX = 0
def move(self):
self.playerX = self.playerX + self.changeOnX
gameWindow.blit(ninja01, (self.playerX, self.playerY))
################
ninja = player()
gameWindow = pygame.display.set_mode((gameWindowWidth, gameWindowHeight))
pygame.display.set_caption("Platformer Game")
while gameRunning == True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
gameRunning = False
gameWindow.blit(background, (0, 0))
ninja.changingX()
ninja.move()
pygame.display.update()
clock.tick(144)
该代码与“gameWindow.blit(background, (0, 0))”在第一个注释中的事实完全相同。
我的问题是为什么当我添加背景时我的角色会变得这么慢?
同样在第二个中,他的移动速度不会改变,直到我将时钟降低到 30 及以下。