【问题标题】:how to configure a rect after drawing with pygame?用pygame绘图后如何配置矩形?
【发布时间】:2022-01-23 20:23:44
【问题描述】:

像 Tkinter 一样,您可以在使用 ex: widget.config(...) 绘制后配置您的小部件, 在pygame中绘制矩形后如何更改矩形的颜色(例如)? 非常感谢。

【问题讨论】:

  • 你完全误解了pygame是什么。
  • pygame 中没有小部件,它有更多“原始”内容(如果需要,您可以从中创建小部件,在这种情况下,您可以添加类似 config 的内容,但您会拥有自己做)
  • 实际上,我知道 pygame 是什么,但我想问是否可以在绘制矩形后重新配置它(例如它的颜色或尺寸)。如果你理解我并且你有答案,请帮助我。谢谢
  • @Houssem_coder “实际上,我知道 pygame 是什么,但我想问是否可以在绘制矩形后重新配置它...” - 这个问题很清楚说明你不知道 pygame 是什么。用pygame绘制的矩形只是屏幕上一堆相同颜色的像素。没有什么可以配置的。
  • @Rabbid76 和 Matiiss,谢谢你们,这真的很有帮助......我想我必须加深对这些模块的理解。

标签: python oop tkinter pygame config


【解决方案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)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-02-08
    • 2023-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-21
    • 1970-01-01
    相关资源
    最近更新 更多