You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Наше решение коллизий не является идеальным, но будем считать его достаточно хорошим для нашей игры. При желании можно превзойти эту реализацию.
Если коллизия не произошла (c.exists равно false), то ничего делать не нужно. Если коллизия по горизонтали (std::abs(c.overlap.x)) больше, чем по вертикали (std::abs(c.overlap.y)), то объект obj перемещается на величину c.overlap.x влево или вправо в зависимости от направления коллизии. В противном случае, объект перемещается на величину c.overlap.y вверх или вниз в зависимости от направления коллизии. Если перекрытие по вертикали отрицательное (c.overlap.y < 0), то у объекта obj обнуляются ускорение и скорость по оси y, а также устанавливается возможность прыгать (obj.physics.can_jump = true), если скорость по оси y была меньше 0. Если коллизия по вертикали положительна (c.overlap.y > 0), то скорость объекта по оси y обнуляется (obj.physics.speed.y = 0).
The text was updated successfully, but these errors were encountered:
Наше решение коллизий не является идеальным, но будем считать его достаточно хорошим для нашей игры. При желании можно превзойти эту реализацию.
Если коллизия не произошла (c.exists равно false), то ничего делать не нужно. Если коллизия по горизонтали (std::abs(c.overlap.x)) больше, чем по вертикали (std::abs(c.overlap.y)), то объект obj перемещается на величину c.overlap.x влево или вправо в зависимости от направления коллизии. В противном случае, объект перемещается на величину c.overlap.y вверх или вниз в зависимости от направления коллизии. Если перекрытие по вертикали отрицательное (c.overlap.y < 0), то у объекта obj обнуляются ускорение и скорость по оси y, а также устанавливается возможность прыгать (obj.physics.can_jump = true), если скорость по оси y была меньше 0. Если коллизия по вертикали положительна (c.overlap.y > 0), то скорость объекта по оси y обнуляется (obj.physics.speed.y = 0).
The text was updated successfully, but these errors were encountered: