【问题标题】:Color Pygame integer?颜色 Pygame 整数?
【发布时间】:2014-10-05 10:52:28
【问题描述】:

嗨,我正在尝试在 Pygame 中制作黑色和白色渐变,从表面开始到结束,它工作得很好,但是当我尝试在一些像素之后开始时

from pygame import gfxdraw 

surf = pygame.Surface([256,16], pygame.SRCALPHA, 32)

screen.blit(surf,(0,0))

for y in range(0,16,1):
    for x in range(0,256,1):
        colPos = [0.25,1]
        rG = int(1/(colPos[1]-colPos[0])*x)
        gG = int(1/(colPos[1]-colPos[0])*x)
        bG = int(1/(colPos[1]-colPos[0])*x)
        gfxdraw.pixel(surf, x, y, (rG,gG,bG,255))

但它告诉我:

Traceback (most recent call last):
File "C:\Users\Name\Desktop\game.py", line 76, in <module>
gfxdraw.pixel(surf4, x, y, (rG,gG,bG,255))
TypeError: invalid color argument

我的意思是它是一个整数,为什么会出现错误?

【问题讨论】:

    标签: python colors integer pygame gradient


    【解决方案1】:

    因为x 的值大于或等于192,所以int(1/(colPos[1]-colPos[0])*x) 的结果大于255,因此不是有效参数。

    >>> for x in range(190, 195):
        print x, int(x / 0.75) # I simplified the equation
    
    
    190 253
    191 254
    192 256
    193 257
    194 258
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-03-10
      • 2021-06-30
      • 2022-10-06
      • 2020-02-20
      • 1970-01-01
      • 2014-07-28
      • 1970-01-01
      相关资源
      最近更新 更多