【发布时间】:2022-11-04 19:38:53
【问题描述】:
我正在关注一个 pygame 教程,测试了播放器 blit 是否正常工作,但它没有,检查了问题但我找不到任何问题,然后我直接在游戏循环中测试了 .blit() 并且没有工作所以我现在已经被难住了。
下面的播放器类,“Player_Down”应该是无关紧要的,因为它只是一个图像
class Player():
def __init__(self, x, y):
direction = "down"
self.image = player_down
self.rect = self.image.get_rect()
self.rect.center = (x, y)
def draw(self):
screen.blit(self.image, self.rect)
ply = Player(SCREEN_WIDTH // 2 , SCREEN_HEIGHT - 150)
调用绘制函数的游戏循环
running = True
while running:
screen.fill((83,90,83))
ply.draw()
#event handler
for event in pygame.event.get():
if event.type == pygame.QUIT:
print("Game quit via X button")
running = False
pygame.display.update()
【问题讨论】:
-
我无法重现该问题。问题中的代码没有问题。请阅读How to create a Minimal, Reproducible Example
-
这是我能做的最好的事情,因为我没有发现代码有问题,而在问题出现之前我唯一修改的是类和 while 循环以添加 ply.draw()
-
所以我帮不了你。我复制了您的代码并在一个简单的示例中进行了尝试。它工作得很好。
-
似乎正在调用绘图函数,但 blit 不起作用
-
不,情况似乎并非如此。一切都很完美。您正在错误的地方寻找错误。
标签: python python-3.x pygame