Pygame问题我尝试关闭窗口,图像闪烁,然后取消闪烁…什么?

2024-06-11 18:23:30 发布

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

这是一个奇怪的情况

因此,我正试图用python制作一个游戏,它要求我用blit制作一个角色的图片(名字是Minty,只是为了说明代码),我按照任何人通常的方式来做。然而,这种情况会发生:

我运行代码。Pygame窗口打开。到现在为止,一直都还不错。 然而,没有图像。 没有回溯。 我试着用X除掉这个程序。然后图像突然出现。 等等,什么

为什么会这样? 这发生在谁身上了吗? 这是我的代码(我删掉了所有不必要的部分。)

import sys
import time
import pygame
from pygame.locals import *

pygame.init()
#MAIN GAME LOOP
while True:

    for events in pygame.event.get():
        if events.type == QUIT:
            quit()
            exit()

    #INITIALISING THE WINDOW. kept this in case anyone decides to try this out
    #CONSTANTS ARE CAPITAL, VARIABLES ARE LOWERCASE
    SCREENWIDTH = 900
    SCREENHEIGHT = 600
    SCREENSIZE = [SCREENWIDTH, SCREENHEIGHT]
    screen = pygame.display.set_mode(SCREENSIZE)
    BG_COL = [255, 123, 67]
    clock = pygame.time.Clock()
    screen.fill(BG_COL)
    pygame.display.update()
    clock.tick(60)

    #INITIALISE ALL OBJECTS.

    class Opponent(pygame.sprite.Sprite):
        def __init__(self, name, title, sprite):
            self.name = name
            self.title = title
            self.sprite = sprite

    #INITIALISING CHARACTERS.

    Minty = Opponent("Minty Portal", "Fairy of Many Worlds", pygame.image.load("Portraits/minty-normal.png"))

    #BLIT CHARACTER
    screen.blit(Minty.sprite, [300, 90])
    pygame.display.update()

我不知道我发布的是否正确,我应该做的任何编辑,请在下面评论。
谢谢你的帮助:)


Tags: 代码name图像importselftimetitleinit
1条回答
网友
1楼 · 发布于 2024-06-11 18:23:30

我认为问题在于,您正在重新定义主函数中每个gameloop的屏幕变量。我建议在主gameloop之外初始化窗口。 尝试初始化所有你只想初始化一次的东西,在主游戏循环之外

相关问题 更多 >