Python 中的 pygame.draw.rect() 有哪些不同的颜色?

我正在学习使用 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()

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


守着一只汪
浏览 110回答 3
3回答

HUX布斯

pygame 有大量预定义的命名颜色,这很有用。您无需自己重新定义它们,只需从 pygames 预定义列表中获取红色和蓝色即可:red = pygame.Color('red')blue = pygame.Color('blue')你可以通过查看字典 pygame.color.THECOLORS 直接看到所有的颜色,但是要遍历很多颜色。这是我对类似问题的先前回答的回答的链接。也许我应该把它留给答案的链接?不确定,所以我将包含足够有用的内容。我发现这个代码片段很容易在交互式会话中执行,然后我可以在我的实际代码中使用我想要的那个。import pygamefrom pprint import  pprintdef 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')

倚天杖

颜色是红色、绿色和蓝色的混合。就像油漆一样。您可以使用 0 到 255(含)之间的值来控制混合中每个的数量。您可以使用 PygameColor类制作任何您想要的颜色 - https://www.pygame.org/docs/ref/color.html查看Color类构造函数,了解创建颜色的各种方法。如果您想尝试一些颜色混合,请使用HTML 颜色选择器页面。

慕丝7291255

这些是RGB 颜色,提供的链接中有一个选择器!
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python