2012-02-17 24 views
0

タイルレンダラーに問題があります。タイルレンダラーは、テキストファイルを通過し、文字を見つけてrectに変換します。私の問題は、最新のタイル/矩形だけが衝突のために数えられることです。PyGame Tileレンダリングマップとの衝突?

私の問題のビデオ: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壁が上書きされることです。これを修正するにはどうしたらいいですか?

答えて

2

あなたはちょうどあなたがテストするためにすべてのrectsで反復可能にする必要があり、自分で答え:

#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!" 
関連する問題