用pygame绘图后如何配置矩形?
Posted
技术标签:
【中文标题】用pygame绘图后如何配置矩形?【英文标题】:how to configure a rect after drawing with pygame? 【发布时间】:2022-01-23 20:23:44 【问题描述】:像 Tkinter 一样,您可以在使用 ex: widget.config(...)
绘制后配置您的小部件,
在pygame中绘制矩形后如何更改矩形的颜色(例如)?
非常感谢。
【问题讨论】:
你完全误解了pygame是什么。pygame
中没有小部件,它有更多“原始”内容(如果需要,您可以从中创建小部件,在这种情况下,您可以添加类似 config
的内容,但您会拥有自己做)
实际上,我知道 pygame 是什么,但我想问是否可以在绘制矩形后重新配置它(例如它的颜色或尺寸)。如果你理解我并且你有答案,请帮助我。谢谢
@Houssem_coder “实际上,我知道 pygame 是什么,但我想问是否可以在绘制矩形后重新配置它...” - 这个问题很清楚说明你不知道 pygame 是什么。用pygame绘制的矩形只是屏幕上一堆相同颜色的像素。没有什么可以配置的。
@Rabbid76 和 Matiiss,谢谢你们,这真的很有帮助......我想我必须加深对这些模块的理解。
【参考方案1】:
要更改表面的颜色,您只需更改变量然后将其绘制到屏幕上。例如:
import pygame
from sys import exit as sys_exit
pygame.init()
WINDOW_SIZE = (800, 600)
WINDOW = pygame.display.set_mode(WINDOW_SIZE)
CLOCK = pygame.time.Clock()
FPS = 60
player_surf = pygame.Surface((100, 100))
player_rect = player_surf.get_rect(center=(200, 200))
draw_red = True
def quit_game():
pygame.quit()
sys_exit()
def draw():
WINDOW.fill("White")
if draw_red:
player_surf.fill("Red") # Now the player color is red.
else:
player_surf.fill("Blue") # Now the player color is blue.
WINDOW.blit(player_surf, player_rect)
pygame.display.update()
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
quit_game()
left, middle, right = pygame.mouse.get_pressed()
if left:
draw_red = False # When you press left mouse button, player's color should change
draw()
CLOCK.tick(FPS)
【讨论】:
以上是关于用pygame绘图后如何配置矩形?的主要内容,如果未能解决你的问题,请参考以下文章