【问题标题】:is there a way i can change the colour of many shapes in pygame with a function有没有办法我可以用函数改变pygame中许多形状的颜色
【发布时间】:2019-11-25 15:26:26
【问题描述】:

我正在尝试编写一个带有头发的小丑,用户可以根据用户输入更改其颜色。如何将 BLUE 更改为变量以允许用户输入颜色?我只使用了带数字的函数。

def hair():
pygame.draw.circle(gameWindow, BLUE, (240, 200), 40, 0)
pygame.draw.circle(gameWindow, BLUE, (180, 230), 30, 0)
pygame.draw.circle(gameWindow, BLUE, (300, 230), 30, 0)
pygame.draw.circle(gameWindow, BLUE, (320, 270), 20, 0)
pygame.draw.circle(gameWindow, BLUE, (160, 270), 20, 0)
pygame.draw.circle(gameWindow, BLUE, (210, 230), 20, 0)
pygame.draw.circle(gameWindow, BLUE, (270, 230), 20, 0)
pygame.draw.circle(gameWindow, BLUE, (200, 200), 20, 0)
pygame.draw.circle(gameWindow, BLUE, (280, 200), 20, 0)
pygame.draw.circle(gameWindow, BLUE, (150, 250), 20, 0)
pygame.draw.circle(gameWindow, BLUE, (330, 250), 20, 0)

【问题讨论】:

  • 如果你想要一些用户输入,你大概在你的代码中使用了一些“前端”。请多分享一下您的代码在哪里实现。

标签: python function input graphics pygame


【解决方案1】:

您可以通过多种方式做到这一点。一种方法是显示具有不同颜色的矩形。当用户单击矩形时,颜色会相应更改,在您的事件循环中是这样的:

for event in pygame.event.get():
    if event.type == pygame.MOUSEBUTTONDOWN and event.button == 1:
        pos = pygame.mouse.get_pos()

        # Different buttons here
        if yellow_button.collidepoint(pos):
            color = YELLOW
        if blue_button.collidepoint(pos):
            color = BLUE

然后您只需将代码中的“BLUE”替换为“color”即可。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-21
    • 1970-01-01
    • 2020-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多