player_rect = Pfront_n.get_rect()
Здесь Pfront_n - это спрайт, и я получаю прямоугольник для этого спрайта. Это за пределами основного l oop. Когда внутри основного l oop, print(player_rect)
показывает, что когда мой игрок движется, прямоугольник не следует. Моя система движений игроков основана на скорости, если это имеет значение. Как сделать так, чтобы прямоугольник оставался вокруг игрока?
После этого у меня есть еще один похожий вопрос ...
for layer in room2:
r_x = 0
for tile in layer:
if tile == '2':
bat_create()
if tile == '1':
screen.blit(grass, (r_x*40, r_y*40))
if tile != '0':
tile_rects.append(pygame.Rect)
r_x += 1
r_y += 1
За пределами основного l oop, я создал прямоугольник для grass
так же, как и для моего плеера. В методе, который я использую в приведенном выше коде, несколько grass
блоков появляются в позициях, предварительно определенных массивом Как я могу получить ректы за каждый отдельный блок grass
? Довольно нерелевантный Sidenote для контекста. Конечная цель - использовать прямоугольник моих игроков и прямоугольник grass
, чтобы мой игрок останавливался при попадании в grass
. Любая помощь по любому из этих вопросов будет отличной. Спасибо!