Pygame colliderect() 函数返回 0(零)和 1(一)而不是 True 和 False?

Pygame colliderect() function returning 0 (zeros) and 1 (ones) instead of True and False?

colliderect() 函数不会 return TrueFalse;相反,它是 returning 01。当我使用函数类型时,它显示 int 而不是 bool。如果我使用 01 而不是布尔值进行编码,代码可以正常工作,但为什么会发生这种情况? 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 文档没有说明这很正常,因为 10 非常常用来替换 TrueFalse.

你可以做到

if testcube.colliderect(rect):
   # Your code

没有 ==.

这是关于此事的文档:https://docs.python.org/3/reference/datamodel.html#index-10