본문 바로가기
GameMaker강좌[GMS2]/DnD(드래그앤드롭)기초

[게임메이커 강좌-DnD][GMS2] DnD : 일정한 거리에서 회전

by 타락카얀 2021. 4. 2.
728x90

 

 

GAME MAKER 강좌

 

 

KAYAN


 

 

 

 

 

◈ 일정한 거리에서 회전

 

 

일정한 거리에서 회전시킨 좌표를 얻을 때 아래와 같은 함수를 사용합니다.

 

   ◎ lengthdir_x(len,direction) : x좌표

   ◎ lengthdir_y(len,direction) : y좌표

 

함수는 len 에 거리를 direction에 방향을 지정합니다.

 

(▲ lengthdir_x, lengthdir_y 함수)

 

lengthdir_xlengthdir_y는 각각 x좌표와 y좌표에 해당하기 때문에 정확한 위치를 구하려면

두 함수를 같이 사용해야 해요.

그리고 lengthdir_xlengthdir_y 거리(len)가 같으면 정원 형태의 경로로 이동시킬 수 있으며,

두 거리가 같지 않으면 타원 형태의 좌표를 얻을 수 있습니다.

 

Movement[Jump To Point] 액션을 사용한다면 좌표에 해당하는 함수를 사용하면 됩니다.

 

(▲ Jump To Point 액션)

 

예를 들어 아래와 같이 중심점으로 부터 128 픽셀 떨어져 30도 방향에 있는 좌표에 이동한다고

가정해봅시다.

 

(▲ 일정한 거리의 좌표)

 

중심점(x, y)와 lengthdir_x, lengthdir_y 함수를 이용하여 아래와 같이 좌표를 이동 시킬 수 있습니다.

 

(▲ Jump To Point 액션으로 이동)

 

중심점(x, y)는 고정 좌표여야 일정한 거리를 얻을 수 있습니다.

중심점에 특정 좌표를 지정하거나, 다른 오브젝트를 중심점에 배치하고, 그 좌표를 중심점으로 설정하면

고정된 좌표로 간단하게 처리할 수 있습니다.

 

또한 일정거리 만큼 회전하는 좌표를 구할 경우에도 사용할 수 있습니다.

 

(▲ 일정한 거리에서 회전)

 

예를 들어, 중심점 target 의 (x, y)좌표로 부터 128 거리에서 direction 변수를 이용하여 회전할 경우

아래와 같이 할 수 있습니다.

 

(▲ 일정한 거리에서 회전)

 

만약 이동하지 않고, 값만 얻고 싶다면 Common[Assign Variable] 액션을 사용하여 함수를 통해

값을 변수에 할당하면 됩니다.

 

(▲ 중심점으로 부터 일정한 거리에 있는 좌표 구하기)

 

lengthdir_x, lengthdir_y 함수는 사용에 따라 다양하게 응용할 수 있어요.

 

 

 

 

 

 

◈ 일정한 거리만큼 이동

 

 

일정한 거리 또는 속도만큼 이동 시킬 때도 lengthdir_x, lengthdir_y 함수를 활용할 수 있습니다.

예를 들어, 5의 속도로 direction 방향으로 이동한다면, Movement[Jump To Point] 액션사용하여

아래와 같이 이동시킵니다.

 

(▲ 일정한 거리만큼 이동)

 

Relative 를 체크하면 현재 좌표에서 지정 좌표만큼 일정한 거리로 이동하게 됩니다.

 

 

 

 

 

 

 

 

300x250

댓글