2014-10-05 61 views
0

嗨,我是想做一个黑色的白色渐变Pygame的它工作得很好,从表面开始到结束,但是当我尝试一些像素后启动颜色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 

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

回答

1

因为对于大于或等于192x值的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 
+0

非常感谢它工作得很好:d – LOLerKing 2014-10-05 11:19:46

+0

@LOLerKing http://overcompensating.com/oc/index.php?comic=272 – jonrsharpe 2014-10-05 11:20:33

+0

@LOLerKing也http://stackoverflow.com/help/someone-答案 – jonrsharpe 2014-10-05 12:30:53