Столкновение PyGame с отображенной плиткой - PullRequest
0 голосов
/ 17 февраля 2012

У меня проблемы с рендерером плиток, который просматривает текстовый файл и находит символы, преобразуя их в ректы.Моя проблема в том, что только самые последние плитки / прямоугольники учитываются для столкновений.

Видео моей проблемы: 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 Ответ

2 голосов
/ 21 февраля 2012

Вы только что ответили себе, вы должны сделать итерацию со всеми тестами, которые нужно протестировать:

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