gpt4 book ai didi

python - 如何在pygame中制作一个缩小的黑盒子

转载 作者:行者123 更新时间:2023-12-04 01:27:52 24 4
gpt4 key购买 nike

我正在尝试在 pygame 中制作一个缩小的黑框,其中黑框的角保持在 (0,0)。我编码了,但我真的找不到我的代码有什么问题,但它仍然不起作用。

import os
os.environ['SDL_VIDEO_WINDOW_POS'] = "%d, %d" %(250, 10)
import pygame
pygame.init()
SIZE = (650, 650)
screen = pygame.display.set_mode(SIZE)


RED = (255, 0, 0)
BLACK = (0, 0, 0)

pygame.draw.rect(screen, RED, (0,0, 650, 650))

while True:
x = 650
y = 650
if x >= 1:
x-1
pygame.draw.rect(screen, BLACK, (0,0, x, y))
pygame.display.flip()
pygame.time.wait(100)

pygame.display.flip()
pygame.time.wait(5000)
pygame.quit()

最佳答案

您必须清除每一帧中的显示。如果您不清除显示,则较小的框会绘制在最后一帧的较大框的顶部,并且收缩效果不可见。
此外,xy 必须在应用程序循环之前初始化,而 x-1 根本没有任何作用。如果要递减变量,则必须使用 -= 运算符 (x -= 1)。
最后,我建议处理事件并实现 pygame.QUIT 事件:

x = 650
y = 650

run = True
while run:
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False

if x >= 1:
x -= 1

# draw BLACK background
screen.fill(BLACK)

# draw RED box
pygame.draw.rect(screen, RED, (0,0, x, y))

pygame.display.flip()
pygame.time.wait(100)

请注意,背景颜色为BLACK,方框颜色为RED

关于python - 如何在pygame中制作一个缩小的黑盒子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61531491/

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