У меня похожая проблема была (с лифтом). Тоесть была плитка и персонаж.
Сначала опускалась плитка, потом персонаж, и проверялось на коллизию. Всё было нормально. Но стоило таким же макаром поднимать плитку - персонаж просачивался сквозь неё. Непонятно.
Ща проверю 1 мысль - сначала поднять плитку и сразу же опусть. Типо 2 шага вперед, и 1 назад.
ВАХ, работает!
Кусок кода:
plita_speed_x#(1)=Sin(time)*0.1
If plita_speed_x#(1)<=0 Then PositionEntity (plita_m(1),EntityX(plita_m(1))+plita_speed_x#(1),EntityY(plita_m(1))+plita_speed_x#(1)/10,EntityZ(plita_m(1)))
If plita_speed_x#(1)>0 Then
PositionEntity (plita_m(1),EntityX(plita_m(1)),EntityY(plita_m(1))+plita_speed_x#(1)/10,EntityZ(plita_m(1)))
PositionEntity (plita_m(1),EntityX(plita_m(1))+plita_speed_x#(1),EntityY(plita_m(1))-plita_speed_x#(1)/5,EntityZ(plita_m(1)))
End If