【问题标题】:Changing color characters with pygame用 pygame 改变颜色字符
【发布时间】:2022-10-06 03:43:50
【问题描述】:

我正在编写我自己版本的矩阵雨代码。下面我有一个循环。

chars = []

for char in characters:
    item = font.render(char, True, (random.randrange(
        0, 100), 255, random.randrange(0, 100)))
    chars.append(item)

我试图通过单击左、右、下等来更改颜色。当我按下它们在终端上给我输入的键时,但我不知道如何绑定这两个。

    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            run = False
        if event.type == pygame.KEYDOWN:
            if event.key == pygame.K_ESCAPE:
                quit()
            if event.key == pygame.K_UP:
                colour = red
                print(\'red\')
            if event.key == pygame.K_DOWN:
                colour = blue
                print(\'blue\')
            if event.key == pygame.K_RIGHT:
                colour = cyan
                print(\'cyan\')
            if event.key == pygame.K_LEFT:
                colour = magenta
                print(\'magenta\')

我将 for 循环简化为此

chars = []

for char in characters:
    item = font.render(char, True, (pygame.color))
    chars.append(item)

    if event.key == pygame.K_g:
        color = (0, 255, 0)

但现在我遇到了错误

TypeError: invalid color argument

    标签: python python-3.x pygame


    【解决方案1】:

    这行得通吗?

    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            run = False
        elif event.type == pygame.KEYDOWN:
            if event.key == pygame.K_ESCAPE:
                quit()
            elif event.key == pygame.K_UP:
                colour = red
                print('red')
            elif event.key == pygame.K_DOWN:
                colour = blue
                print('blue')
            elif event.key == pygame.K_RIGHT:
                colour = cyan
                print('cyan')
            elif event.key == pygame.K_LEFT:
                colour = magneta
                print('magenta')
    
            for char in characters:
                item = font.render(char, True, colour)
                chars.append(item)
    

    【讨论】:

    • 不,它不起作用,因为列表中有很多items。
    • 请不要发布仅代码的答案,解释将有助于作者和其他读者理解您的意图。
    猜你喜欢
    • 2021-06-30
    • 2014-07-28
    • 2022-11-18
    • 2022-01-22
    • 1970-01-01
    • 2014-12-03
    • 1970-01-01
    • 2013-10-08
    • 2014-01-16
    相关资源
    最近更新 更多