如何在2D游戏中获得一种像素RGB颜色?我需要将它与红色(255,0,0)进行比较,所以我需要它(R,G,B)。我尝试使用这样的get_at()方法:
if background.get_at(x,y) == (255,0,0):
print("same")
else:
print("not same")
但它没有用。
答案 0 :(得分:0)
代码:
import pygame
pygame.init()
background = pygame.display.set_mode([640,480])
background_colour = (3, 3, 251)
background.fill(background_colour)
pygame.display.flip()
print(background.get_at(2,2))
if background.get_at(background(2,2)) == background_colour:
print("Same")
else:
print("Not same:")
错误:
Traceback (most recent call last):
File "C:/Users/Kaspar/Desktop/proov13.py", line 8, in <module>
print(background.get_at(2,2))
TypeError: function takes exactly 1 argument (2 given)
答案 1 :(得分:0)
查看Pygame文档:http://www.pygame.org/docs/ref/surface.html#pygame.Surface.get_at 你需要这样做:
background.get_at((2,2))
这是将一个参数传递给函数,在这种情况下,参数是元组(2,2)
此外,如果您想要表单中的颜色(255,0,0),则需要调用tuple(background.get_at((2,2)))
(假设您使用的是pygame版本&gt; 1.9.0)。