GAME MAKER 강좌
KAYAN
◈ 장애물 인지 이동
이번 강좌에서는 이동할 때 장애물을 인지하여 이동하는 방법에 대해 알아봅시다.
(▲ 장애물을 인지하고 이동)
플레이어가 이동할 때, 장애물을 인지하지 않고 이동하다보면 플레이어가 장애물에 끼어 움직이지 못하는
상황이 생깁니다.
(▲ 장애물에 끼이면 움직이지 못할 수 있음)
이것을 방지하려면, 이동할 때 장애물이 있는지 미리 체크하고 이동하는 것이 좋습니다.
(▲ 장애물을 먼저 체크하고, 그 다음에 이동)
예를 들어, 현재 좌표에서 오른쪽으로 5픽셀 이동한다면,
예) 현재 좌표에서 오른쪽으로 5픽셀 이동하고자 할 때
|
이와 같이 할 수 있을 거에요.
이동 방향으로 먼저 x+5 위치에 장애물을 체크한 후, x 좌표를 5 정도 이동하는 것이지요.
그리고 만약 장애물이 있다면, 좌표 이동은 실행되지 않아 멈추게 됩니다.
이동거리가 긴 경우는 그 이동거리를 짧게 나누어 장애물을 체크해야합니다.
왜냐하면 이동거리가 길고, 장애물 폭이 짧을 때 장애물을 건너 뛸 수도 있기 때문이지요.
예를 들어, 오른쪽으로 320 만큼 이동한다면,
예) 오른쪽으로 320 만큼 이동할 때, solid 오브젝트를 체크하는 경우. { |
이와 같이 반복문으로 오른쪽 1픽셀씩 체크하여 solid 오브젝트가 없으면 오른쪽으로 1픽셀 이동하는
방법을 사용할 수 있습니다. 이것은 1스텝에 이루어지는 이동이기 때문에 실제로는 320 범위내에
이동 가능한 위치까지 바로 이동하는 것처럼 보일 거에요.
'GameMaker강좌[GM8] > 기초강좌' 카테고리의 다른 글
[게임메이커강좌-기초] 중력에 의한 이동 (2) | 2017.02.13 |
---|---|
[게임메이커강좌-기초] 장애물 인지 이동 2 (0) | 2017.01.09 |
[게임메이커강좌-기초] 방향과 속도에 의한 이동 (0) | 2017.01.07 |
[게임메이커강좌-기초] 좌표를 통한 이동 (5) | 2017.01.06 |
[게임메이커강좌-기초] 로컬 하이 스코어 표시 (4) | 2017.01.06 |
댓글