본문 바로가기
GameMaker강좌[GMS2]/GMS2기초강좌

[게임메이커 강좌-기초][GMS2] 룸의 좌표

by 타락카얀 2018. 4. 11.
728x90

 

 

GAME MAKER 강좌

 

 

KAYAN

 

 

 

 

 

 

◈ 룸의 좌표

 


게임메이커의 룸 좌표는 x, y 축 2축으로 되어있습니다. 왼쪽에서 오른쪽이 x축이고, 위쪽에서 아래쪽이 y축이며 룸의

왼쪽-위 꼭지점의 좌표가 (0,0)으로 시작합니다.
이 기준점으로부터 왼쪽이 음수(-)의 x좌표, 오른쪽이 양수(+)의 x 좌표이고, 위쪽이 음수(-)의 y좌표, 아래쪽이

양수(+)의 y좌표가 됩니다.

 


(▲ 룸의 좌표)


오브젝트의 이동은 현재 x, y 좌표에 이동할 값을 더하면, 오브젝트를 이동 시킬 수 있습니다.
x 좌표에 음수 값을 더하면 왼쪽으로 이동하고, y 좌표에 음수 값을 더하면 위쪽으로 이동합니다.
반대로 x 좌표에 양수 값을 더하면 오른쪽으로 이동하고, y 좌표에 양수 값을 더하면 아래쪽으로 이동하지요.

 


(▲ 현재 위치에서의 오브젝트 좌표)


예를 들어, 현재 좌표에서 오른쪽으로 5 픽셀 이동하고자 한다면,

 



   예)
   x+=5;

 


이와 같이 Step 이벤트에서 값을 더하면 5픽셀 만큼씩 이동하는 모습을 볼 수 있어요.

절대좌표로 오브젝트를 단번에 이동 시킬 수도 있습니다.
예를 들어, (320,240)의 위치에 이동시킨다고 한다면,

 



   예)
   x=320;
   y=240;



이와 같이 값을 대입하면 원하는 위치로 바로 이동 시킬 수 있지요.

오브젝트의 방향은 오른쪽 0도에서 반시계 방향으로 값이 올라갑니다.

 


(▲ 오브젝트의 방향)


이 방향은 이미지를 회전시키거나, 혹은 오브젝트를 지정된 방향으로 이동시킬 때 이용할 수 있지요.
방향에 대한 변수로, direction 을 사용할 수 있습니다.
예를 들어, 기본 이미지를 direction 방향으로 회전시킨다면,

 



   예)
   image_angle=direction;



이와 같이 이미지의 회전을 direction값에 동기화 할 수 있습니다.
방향을 5 씩 회전한다면,

 



   예)
   image_angle=direction;
   direction+=5; //방향 회전

 


이와 같이 할 수도 있지요.

direction 방향으로 이동시키고자 할 때, speed값을 이용하여 이동시킬 수도 있습니다.

 



   예) 45 방향으로 5씩 이동시킬 때

   direction=45;
   speed=5;

 


참고로 speed 값으로 이동시키는 경우, 이동을 멈추고자 할 때는 0값을 대입해야 멈춥니다.

 

 

 

300x250

댓글