gpt4 book ai didi

python - 如何在pygame中清除屏幕?

转载 作者:行者123 更新时间:2023-12-04 15:35:22 61 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Why is my PyGame application not running at all?

(1 个回答)


8 个月前关闭。




我和我的 friend 正在 PyGame 中制作一个问答游戏,想知道当用户按下按钮时,他如何可以转到下一个问题(不留下之前的文本)。

最佳答案

首先,我建议您访问 PyGame 文档并阅读一些有关 PyGame 的信息。 ( Link )

但是,为了节省您的时间,您必须在屏幕上绘制一组新的形状/文字之前使用函数 screen.fill(#Your chosen colour) .这就是 PyGame 中的功能,它摆脱了旧屏幕,并允许您在清晰的屏幕上绘制新项目,而无需在那里留下以前的图纸。

例子:

import pygame
import sys
from pygame.locals import *

white = (255,255,255)
black = (0,0,0)
red = (255, 0, 0)

class Pane(object):
def __init__(self):
pygame.init()
self.font = pygame.font.SysFont('Arial', 25)
pygame.display.set_caption('Box Test')
self.screen = pygame.display.set_mode((600,400), 0, 32)
self.screen.fill((white))
pygame.display.update()


def addRect(self):
self.rect = pygame.draw.rect(self.screen, (black), (175, 75, 200, 100), 2)
pygame.display.update()

def addText(self):
self.screen.blit(self.font.render('Hello!', True, black), (200, 100))
pygame.display.update()

def addText2(self):
self.screen.blit(self.font.render('Hello!', True, red), (200, 100))
pygame.display.update()


def functionApp(self):
if __name__ == '__main__':
self.addRect()
self.addText()
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit(); sys.exit();

if event.type == pygame.KEYDOWN:
if event.key == pygame.K_ESCAPE:
self.screen.fill(white)
self.addRect()
self.addText2() #i made it so it only changes colour once.



display = Pane()
display.functionApp()

关于python - 如何在pygame中清除屏幕?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21257865/

61 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com