PyGame碰撞与瓷砖渲染地图?

时间:2012-02-17 19:42:58

标签: python render pygame overwrite tile

我的瓷砖渲染器出现问题,它通过文本文件找到字符,然后将它们转换为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!"

玩家的矩形被定义为碰撞。我认为问题是,对于每个墙砖,变墙会被覆盖,那么我该如何解决这个问题呢?

1 个答案:

答案 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!"