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

[게임메이커강좌-기초]좌표와 방향

by 타락카얀 2013. 2. 6.
728x90




◈GameMaker의 좌표



GameMaker에서 좌표는 가로가 X축 세로가 Y축입니다.



(▲ X축과 Y축의 좌표)


왼쪽 방향은 X-
오른쪽 방향은 X+
위쪽 방향은 Y-
아래쪽 방향은 Y+



(▲ X축과 Y축의 좌표)


GameMaker에서 방향(direction)우측 0도에서 시작해서 반시계방향으로 값이 올라갑니다.



(▲ 방향)


이것은 간단한 부분이지만 GameMaker에서 매우 중요한 부분이기도 합니다.









◈GameMaker의 기본 이동


이동방법에는 매우 다양한 방법을 사용합니다.


먼저 가장 기초적인 이동방법은 x와 y좌표를 제어하여 직접 이동시키는 방법입니다.

x축 오른쪽으로 이동시키려면

     x + = 값

반대편으로 이동시키려면

     x - = 값

이렇게 사용할 수 있습니다.

y축도 마찬가지입니다. 위쪽으로 이동시키려면,

     y - = 값

아래쪽으로 이동시키려면

     y + = 값

설정할 수 있습니다.


     x+=5;//x축 오른쪽으로 5픽셀 이동시킴
     y+=5;//y축 아래쪽으로 5픽셀 이동시킴


이런식으로 하면 우측 아래를 향해 x,y좌표를 이동시킬 수 있지요.


(▲ X축과 Y축의 좌표를 이용하여 이동)


또한, 방향(direction)과 속도(speed)를 제어하여 이동시키는 방법입니다.

     direction = 각도

     speed = 속도

이렇게 각도와 속도를 지정하여 이동시킬 수 있지요.


     direction=45;

     speed=5;


위와 같이 하면 우측 상단을 향해 이동합니다.



(▲ direction 방향으로 speed 값의 속도만큼 이동)


speed 값으로 이동시키면 정지하기전까지 계속 이동하게 되는데, 정지하고 싶다면 speed 값을 0으로 설정하면

이동을 멈출 수 있습니다.


수평방향과 수직방향으로 값에 지정된 속도로 이동시킬 수 있는 방법도 있습니다.

수평방향은,


     hspeed = 값



(▲ hspeed)


수직방향은,


     vspeed = 값



(▲ vspeed)


이렇게 각각 값을 설정하여 이동 시키게 됩니다.



 
    hspeed=-5;
     vspeed=-5;


이동할 때 사용하면 수평으로 -5만큼 이동하고, 수직으로 -5만큼 이동하기 때문에  좌측 상단을 향해 x,y좌표가

이동 합니다. 만약 수평방향으로만 이동하려면 hspeed 값만 적용시키면 되겠지요. 반대로 수직방향으로

이동시키려면 vspeed 값만 설정하면 됩니다.


hspeedvspeed 값으로 이동하면, speed 값으로 이동하는 것처럼 정지하기 전까지 계속 이동하게 되는데,

정지하고 싶다면 hspeed, vspeed 값을 각각 0으로 설정하면 이동을 멈출 수 있습니다(참고로 hspeed, vspeed는 speed 값을 0으로 설정해도 멈출 수 있습니다).

게임메이커에서는 중력을 설정할 수 있는 아래의 내장 변수가 있습니다.


     gravity_direction = 방향

     gravity = 값


이와 같이 설정할 수 있지요.



(▲ 중력)


예를 들어,



 
    gravity_direction=270;

     gravity=0.3;



위와 같이 사용하면 물체가 중력을 받아 땅으로 떨어지듯, 아래방향을 향해 이동합니다.

이동 방식은 스텝마다 지정된 gravity값만큼 계속 더해 이동 시키는 것입니다.

     1 step = 0.3

     2 step = 0.6

     3 step = 0.9

     ...

이런식으로 이동하는 속도를 점점 증가시켜 중력 방향으로 이동하게 해요.


그리고 이동하는 와중에 마찰력에 대한 설정을 할 수가 있는데,


     friction = 값


변수를 사용하면 됩니다.



(▲ friction은 이동 속도를 점차 줄이도록 만들어 미끌어지는 듯한 효과를 줄 수 있음)


이것을 사용하면 이동하는 속도를 점점 감소시켜 정지하게 만듭니다.



 
     friction=0.1;


위와 같이 이동할 때 friction을 사용하면 마찰력을 받는 이동 물체처럼 이동속도를 점점 감소 시켜 천천히

멈추게 합니다.








300x250

댓글