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

[게임메이커강좌-기초] 좌표를 통한 이동

by 타락카얀 2017. 1. 6.
728x90



GAME MAKER 강좌



KAYAN









◈ 좌표를 통한 이동



이번 강좌에서는 오브젝트를 좌표를 통한 이동하는 방법에 대해 알아보도록 합시다.

현재 오브젝트의 x, y 좌표에 이동할 값을 더하면, 오브젝트를 이동 시킬 수 있습니다.

가로축은 x좌표, 세로축은 y좌표로써, x 좌표에 음수값을 더하면 왼쪽으로 이동하고, x 좌표에 양수값을

더하면 오른쪽으로 이동합니다.
그리고 y 좌표에 음수값을 더하면 위쪽으로 이동하고, y 좌표에 양수값을 더하면 아래쪽으로 이동하지요.



(▲ 좌표 이동. 가로는 x축, 세로는 y축.)


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


 

예) 현재 오브젝트를 오른쪽으로 5 만큼 이동할 때

x+=5;

※주의 : x=+5 또는 x=5 는 대입입니다. 이는 현재 오브젝트를 오른쪽으로 5 만큼 이동하는

것이 아니라, 현재 오브젝트의 x 좌표를 절대좌표 5로 이동하는 것입니다.


변수+=값 : 현재 변수값에 지정한 값을 더하기

변수-=값 : 현재 변수값에 지정한 값을 빼기

변수*=값 : 현재 변수값에 지정한 값을 곱하기

변수/=값 : 현재 변수값을 지정한 값으로 나누기



이와 같이 할 수 있습니다.
대각선으로 이동할 때는 x, y 좌표를 같이 값을 더해주면 됩니다.
대각선으로 이동시 아래 함수를 사용하면, 어떠한 방향이든 좀 더 일정한 거리를 유지하여 이동

시킬 수 있습니다.


 

lengthdir_x(len, dir) : x좌표
lengthdir_y(len, dir) : y좌표



len 에 거리, dir 에 방향을 지정하면 됩니다.
예를 들어, 현재 좌표에서 우측 상단 대각선으로 10 만큼 이동시키고자 한다면,


 

예) 현재 좌표에서 우측 상단 대각선으로 10 만큼 이동시키고자 할 때

x+=lengthdir_x(10,45);
y+=lengthdir_y(10,45);



이와 같이 하면 됩니다.
lengthdir_x, lengthdir_y 함수를 사용하면, 어떤 방향이더라도 일정한 거리로 이동시킬 수 있고,

또한, 특정 좌표로 부터 일정한 거리를 유지하며 회전 시킬 수 있습니다.



(▲ 일정 거리 회전)


그리고 특정 위치로 이동 시키려면 x,y 좌표 값에 이동시키고자 하는 좌표를 각각 대입시키면 됩니다.


예를 들어, (320,240) 위치로 이동 시키고 싶다면,


 

예) 절대좌표 (320,240)로 이동하고자 할 때

x=320;
y=240;



이와 같이 x,y 값에 이동할 위치를 대입시키면 됩니다.



300x250

댓글