【问题标题】:What are the different colors for pygame.draw.rect() in Python?Python 中 pygame.draw.rect() 有哪些不同的颜色?
【发布时间】:2020-07-18 14:41:10
【问题描述】:

我正在学习使用 PyGame 制作蛇游戏。下面是目前代码的样子(不完整,请不要给出制作蛇游戏的实际代码!):

# Setting up PyGame and a window
import pygame
pygame.init()
dis = pygame.display.set_mode((400, 300))
pygame.display.update()
pygame.display.set_caption('Snake game by snoopstick')
game_over = False

# Creating Colors
blue = (0, 0, 225)
red = (255, 0, 0)

while not game_over:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            game_over = True
    pygame.draw.rect(dis, blue, [200, 150, 10, 10])
    pygame.display.update()

pygame.quit()
quit()

您可以看到我已经可以制作红色和蓝色,但我想知道如何制作更多颜色或更多不同类型的游戏。什么不同的参数可以代替蓝色和红色。

【问题讨论】:

标签: python pygame


【解决方案1】:

pygame 预定义了大量的命名颜色,这很有用。您可以从 pygames 预定义列表中获取红色和蓝色,而不是自己重新定义它们:

red = pygame.Color('red')
blue = pygame.Color('blue')

您可以通过查看 dict pygame.color.THECOLORS 直接查看所有颜色,但要查看的颜色很多。 Here 是我对类似问题的先前答案的回答的链接。也许我应该把它留给答案的链接?不确定,所以我将包含足够有用的内容。

我发现这段代码 sn-p 可以方便地在交互式会话中执行,然后我可以在实际代码中使用我想要的代码。

import pygame
from pprint import  pprint

def print_colors(color_name):
    color_list = [(c, v) for c, v in pygame.color.THECOLORS.items() if color_name in c]
    pprint(color_list)

print_colors('slategrey')

哪个输出:

[('darkslategrey', (47, 79, 79, 255)),
 ('slategrey', (112, 128, 144, 255))
 ('lightslategrey', (119, 136, 153, 255))]

我在交互式会话中执行此操作以获取包含“slategrey”的所有名称,然后在我的实际代码中我可以像这样使用我想要的名称:

darkslategrey = pygame.Color('darkslategrey')

【讨论】:

    【解决方案2】:

    那些是RGB colors,在提供的链接中有一个选择器!

    【讨论】:

      【解决方案3】:

      颜色是红色、绿色和蓝色的混合。就像油漆一样。您可以使用 0 到 255(含)之间的值来控制混合中每种物质的数量。

      您可以使用 Pygame Color 类 - https://www.pygame.org/docs/ref/color.html 制作任何您想要的颜色

      查看Color 类构造函数,了解各种创建颜色的方法。

      如果您想尝试一些颜色混合,请使用HTML color picker page

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-03-08
        • 2020-10-13
        • 2021-10-22
        • 1970-01-01
        • 2020-02-13
        • 2017-09-18
        相关资源
        最近更新 更多