2D Godot 2D 게임 기초

move_and_slide

메서드

velocity 방향으로 움직이되, 벽에 부딪히면 멈추지 않고 벽을 따라 미끄러진다.

delta 를 내부에서 곱해준다. 벽에 수직인 성분만 제거하고 벽을 따라가는 성분은 유지하므로 비스듬히 밀어도 부드럽게 이동한다. 부딪힌 목록은 get_slide_collision() 으로 조회한다.

비슷하지만 다른 것

  • move_and_collide닿으면 그 자리에서 멈춘다. 총알·튕기는 공처럼 미끄러지면 안 되는 것에. delta 를 직접 곱해야 한다.
주의

velocity 에 delta 를 곱하면 안 된다. 두 번 곱해져 엄청 느려진다.

본문에 나오는 곳: 8강 · 9강