空白游戏屏幕

2024-04-18 05:04:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我知道那不是一个真正的空白屏幕,但现在我有一个问题。 加载游戏需要很长时间。 每次我关上窗户,它就满负荷的???? 如果你需要密码,问吧。你知道吗

请帮忙


Tags: 游戏密码屏幕空白窗户
1条回答
网友
1楼 · 发布于 2024-04-18 05:04:28

您必须装箱一个PlayerClass对象,并且必须将^{}添加到^{}

player = PlayerClass('player_1_0.png', [5, 0])

all_sprites = pygame.sprite.Group()
all_sprites.add(player)

在主循环中,您必须更新播放器的位置(player.move())。清除显示,绘制精灵并更新显示(例如通过^{}):

while running:

    # [...]

    player.move()    

    screen.fill([255, 255, 255]) 
    all_sprites.draw(screen)
    pygame.display.update()

工作示例:

import pygame, sys

screen = pygame.display.set_mode([640,480])
clock = pygame.time.Clock()

class PlayerClass(pygame.sprite.Sprite): 
    def __init__(self, image_file, speed, location = [0,0]): 
        pygame.sprite.Sprite.__init__(self)
        self.image = pygame.image.load(image_file)
        self.rect = self.image.get_rect() 
        self.rect.center = [320, 100] 
        self.speed = speed
        self.angle = 90

    def move(self): 
        global points, score_text
        self.rect = self.rect.move(self.speed) 
        if self.rect.left < 0 or self.rect.right > screen.get_width():
            self.speed[0] = -self.speed[0]  

        if self.rect.top <= 0 : 
            self.speed[1] = -self.speed[1] 
            points = points + 1 
            score_text = font.render(str(points), 1, (0, 0, 0)) 

player = PlayerClass('player_1_0.png', [5, 0])

all_sprites = pygame.sprite.Group()
all_sprites.add(player)

running = True
while running:
    clock.tick(60)

    for event in pygame.event.get(): 
        if event.type == pygame.QUIT: 
            running = False

    player.move()    

    screen.fill([127, 127, 127])
    all_sprites.draw(screen)
    pygame.display.update()

pygame.quit()

相关问题 更多 >