Pygame:更新分数时遇到问题
Pygame: Trouble with updating score
我正在创建一个唱首歌游戏,在刚开始的时候我正在制作你点击以增加金钱的整体按钮。虽然分数增加得很好,但当将分数传送到屏幕时,它不会更新分数,它只是将它放在前一个分数之上,如 here。
这是我的代码:
import pygame
import button
SCREEN_WIDTH = 700
SCREEN_HEIGHT = 900
pygame.init()
screen = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT))
pygame.display.set_caption('Cocaine Clicker')
clock = pygame.time.Clock()
screen.fill('lightblue')
font = pygame.font.Font('Pacifico-Regular.ttf', 100)
score = 0
score_increase_factor = 1
def disp_score(score):
score_surf = font.render(f'${score}', False, (0,0,0))
score_rect = score_surf.get_rect(center = (350, 50))
screen.blit(score_surf, score_rect)
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
exit()
disp_score(score)
if money_sprite.draw(screen):
score = score + score_increase_factor
print(score)
pygame.display.update()
clock.tick(60)
Button 是一个不同的文件,带有创建按钮机制的 class。
我是代码新手,所以如果您还需要其他任何东西,请询问,谢谢。
每次调用 'disp_score' 时,您都在绘制之前绘制的内容。您可以通过重绘屏幕来避免这种情况。他们在本文档的开头更深入地解释了这个概念:https://www.pygame.org/docs/tut/MoveIt.html
我正在创建一个唱首歌游戏,在刚开始的时候我正在制作你点击以增加金钱的整体按钮。虽然分数增加得很好,但当将分数传送到屏幕时,它不会更新分数,它只是将它放在前一个分数之上,如 here。 这是我的代码:
import pygame
import button
SCREEN_WIDTH = 700
SCREEN_HEIGHT = 900
pygame.init()
screen = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT))
pygame.display.set_caption('Cocaine Clicker')
clock = pygame.time.Clock()
screen.fill('lightblue')
font = pygame.font.Font('Pacifico-Regular.ttf', 100)
score = 0
score_increase_factor = 1
def disp_score(score):
score_surf = font.render(f'${score}', False, (0,0,0))
score_rect = score_surf.get_rect(center = (350, 50))
screen.blit(score_surf, score_rect)
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
exit()
disp_score(score)
if money_sprite.draw(screen):
score = score + score_increase_factor
print(score)
pygame.display.update()
clock.tick(60)
Button 是一个不同的文件,带有创建按钮机制的 class。 我是代码新手,所以如果您还需要其他任何东西,请询问,谢谢。
每次调用 'disp_score' 时,您都在绘制之前绘制的内容。您可以通过重绘屏幕来避免这种情况。他们在本文档的开头更深入地解释了这个概念:https://www.pygame.org/docs/tut/MoveIt.html