Pygame colliderect() 函数返回 0(零)和 1(一)而不是 True 和 False?
Pygame colliderect() function returning 0 (zeros) and 1 (ones) instead of True and False?
colliderect()
函数不会 return True
和 False
;相反,它是 returning 0
和 1
。当我使用函数类型时,它显示 int
而不是 bool
。如果我使用 0
和 1
而不是布尔值进行编码,代码可以正常工作,但为什么会发生这种情况? Pygame 文档没有提及任何相关内容。
def collisions():
tileHitsList = []
for rect in tileList:
print(testcube.colliderect(rect)) #it weirdly prints 0 and 1 instead of False and True
#tileList is a list which contains the rects of the tiles being rendering on the display
#testcube is a rect that hits the tiles
if testcube.colliderect(rect) == True:
tileHitsList.append(rect)
return tileHitsList
如果 pygame 文档没有说明这很正常,因为 1
和 0
非常常用来替换 True
和 False
.
你可以做到
if testcube.colliderect(rect):
# Your code
没有 ==
.
这是关于此事的文档:https://docs.python.org/3/reference/datamodel.html#index-10
colliderect()
函数不会 return True
和 False
;相反,它是 returning 0
和 1
。当我使用函数类型时,它显示 int
而不是 bool
。如果我使用 0
和 1
而不是布尔值进行编码,代码可以正常工作,但为什么会发生这种情况? Pygame 文档没有提及任何相关内容。
def collisions():
tileHitsList = []
for rect in tileList:
print(testcube.colliderect(rect)) #it weirdly prints 0 and 1 instead of False and True
#tileList is a list which contains the rects of the tiles being rendering on the display
#testcube is a rect that hits the tiles
if testcube.colliderect(rect) == True:
tileHitsList.append(rect)
return tileHitsList
如果 pygame 文档没有说明这很正常,因为 1
和 0
非常常用来替换 True
和 False
.
你可以做到
if testcube.colliderect(rect):
# Your code
没有 ==
.
这是关于此事的文档:https://docs.python.org/3/reference/datamodel.html#index-10