gpt4 book ai didi

python - Pygame:get_at 始终返回 'None'

转载 作者:行者123 更新时间:2023-12-01 00:56:17 24 4
gpt4 key购买 nike

我试图通过检测玩家矩形下方像素的颜色来检测 Pygame 中的玩家(红色矩形)是否与红色框发生碰撞;然而,当我在 Pygame 中使用 get_at() 方法时,即使玩家处于某种颜色上,它也会始终返回“None”。

这是检测颜色的函数:

def get_color(x, y):
screen.get_at((x, y))

这是我调用该函数的地方(p1.x是玩家1的x坐标,p1.y是玩家1的y坐标,而且,我的背景是黑色的,因为我没有用任何填充背景整个程序的颜色):

if get_color(p1.x, p1.y) != black:
print(get_color(p1.x, p1.y))

即使玩家明显位于红色框的顶部,上面的最后一个打印语句也会继续返回“None”。

最佳答案

您必须在函数中使用 return 才能从 get_at() 返回值

def get_color(x, y):
return screen.get_at((x, y))

如果你不使用return,那么Python默认使用return None,所以它的工作方式就像

def get_color(x, y):
screen.get_at((x, y))
return None

关于python - Pygame:get_at 始终返回 'None',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56226583/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com