繁体   English   中英

PyGame 背景颜色不变

[英]PyGame background color is not changing

我找不到背景有什么问题,即使使用调试器它也没有做任何事情

#importing
from turtle import width
import pygame

#resolution
pygame.display.set_caption("Tanks")
WIDTH, HEIGHT = 900, 500
WIN = pygame.display.set_mode((WIDTH, HEIGHT))

#background color (my problem)
def draw_window():
    WIN.fill((255, 0, 0))
    pygame.display.update()

#main functions
def main():
    run = True
    while run:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                run = False
    
    pygame.quit()

#game start
if __name__ == "__main__":
    main()

您必须在应用程序循环中调用draw_window

#importing
import pygame

#resolution
pygame.display.set_caption("Tanks")
WIDTH, HEIGHT = 900, 500
WIN = pygame.display.set_mode((WIDTH, HEIGHT))
clock = pygame.time.Clock()

#background color (my problem)
def draw_window():
    WIN.fill((255, 0, 0))
    pygame.display.update()

#main functions
def main():
    run = True
    while run:
        clock.tick(100)
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                run = False

        draw_window()
    
    pygame.quit()

#game start
if __name__ == "__main__":
    main()

典型的 PyGame 应用循环必须:

当你写一个 function 时,它只是 memory 上的一些指令,除非你调用它,否则它不会运行。 情况就是这样。 您编写了一组指令draw_window ,但您从不调用它。 你需要做的是在游戏循环之前,调用draw_window 所以代码会是这样的。

#importing
from turtle import width
import pygame

#resolution
pygame.display.set_caption("Tanks")
WIDTH, HEIGHT = 900, 500
WIN = pygame.display.set_mode((WIDTH, HEIGHT))

#background color (my problem)
def draw_window():
    WIN.fill((255, 0, 0))
    pygame.display.update()

#main functions
def main():
    run = True
    while run:
        draw_window()
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                run = False
    
    pygame.quit()

#game start :)
if __name__ == "__main__":
    main()

这样,结果将是红色 window,即 rgb(0, 0)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM