【问题标题】:PyGame Collision with Tile Rendered map?PyGame与Tile Rendered地图碰撞?
【发布时间】:2012-02-17 19:42:58
【问题描述】:

我的图块渲染器出现问题,它通过文本文件查找字符,然后将它们转换为矩形。我的问题是只有最近的图块/矩形才会被计算为碰撞。

我的问题的视频: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!"

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

【问题讨论】:

    标签: python render pygame overwrite tile


    【解决方案1】:

    您刚刚回答了自己,您应该对所有要测试的矩形进行迭代:

     #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!"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多