Если мы приведем ваш пример к псевдо (python) -коду, он будет выглядеть примерно так:
for block in blocks:
if collide(player, block):
touching = True
else:
touching = False
Если вы сейчас сделаете это, либо в уме, либо с помощью отладчика, вы поймете,касание устанавливается каждый раз при выполнении тела цикла, перезаписывая предыдущее значение. Чтобы исправить это, установите только touching = True
в теле цикла.
for block in blocks:
if collide(player, block):
touching = True
Но теперь touching
, возможно, не было инициализировано. Это можно исправить, установив touching = False
перед циклом:
touching = False
for block in blocks:
if collide(player, block):
touching = True