我的瓷砖渲染器出现问题,它通过文本文件找到字符,然后将它们转换为rects。我的问题是只计算最近的tile / rect用于碰撞。
我的问题视频:http://youtu.be/7wAHp-vgrLU
我的代码是这样的:
wall = pygame.draw.rect(screen, (40,40,40), (current_tile_x,current_tile_y,tile_size,tile_size), 0)
if wall.colliderect(collision) == 1:
print "Collision!"
玩家的矩形被定义为碰撞。我认为问题是,对于每个墙砖,变墙会被覆盖,那么我该如何解决这个问题呢?
答案 0 :(得分:2)
你刚回答自己,你应该对所有要测试的部分进行迭代:
#load all the rects in one list for example
walls = get_wall_list() #returns a list [rect0,rect1,rectn]
for wall in walls:
if wall.colliderect(collision): #'if True == 1:' works as the same 'if True:'
print "Collision!"