GAME MAKER 강좌
KAYAN
◈ 마우스로 오브젝트를 드래그하여 이동하기
이번 강좌에서는 마우스로 룸에 있는 오브젝트를 드래그하여 이동시키는 방법에 대해 알아보도록 해요.
일반적으로 마우스 좌표는,
mouse_x : 마우스 x 좌표 |
위의 변수를 사용합니다.
참고로 멀티 포인트 터치 환경 이라면,
device_mouse_x(device) : 0 ~ 4 포인트 체크(스튜디오 이상 지원 함수) |
이 함수를 통해 세부적(최대 5 포인트 동시 체크)으로 체크할 수 있습니다만, 강좌에서는 간단하게
mouse_x, mouse_y를 사용해봅시다.
룸에 존재하는 오브젝트를 이동하기 위해서는, 오브젝트의 이동하기 전 좌표를 필요로 합니다.
(▲ 마우스 위치를 저장)
보통 아래와 같이, 오브젝트의 x, y를 마우스의 좌표에 맞추어 이동할 수도 있지만,
x=mouse_x; |
어느 위치를 클릭했든, 오브젝트의 x, y 좌표에 강제로 맞추기 때문에 불편한 장면이 연출되기도 합니다.
그래서 클릭한 위치를 유지하고, 이동하려면, 먼저 아래와 같이, 현재 오브젝트의 좌표에서 현재 마우스
좌표를 빼고,
prev_mouse_x=x-mouse_x; |
그리고 그 차이를 이동할 때 더해주면,
x=mouse_x+prev_mouse_x; |
클릭한 위치를 유지하고, 오브젝트를 마우스가 이동하는 곳으로 이동시킬 수 있습니다.
간단하죠.
(▲ 마우스 위치로 이동)
이벤트로 구성한다면,
★ Create 이벤트 drag_on=0;//마우스 이전 좌표 저장 스위치 |
★ Step 이벤트
|
마우스를 클릭하고, 현재 오브젝트가 마우스 포인트에 위치한다면, 현재 좌표와 마우스 좌표의 차이를
저장해둡니다. 그리고 오브젝트의 좌표는 마우스 현재 좌표에 이전에 저장해둔 값을 더해주면, 마우스
포인터 위치로 이동하게 됩니다.
'GameMaker강좌[GM8] > 기초강좌' 카테고리의 다른 글
[게임메이커강좌-기초] 텍스트를 화면에 표시하기 (0) | 2016.12.05 |
---|---|
[게임메이커강좌-기초] 최소값과 최대값 (0) | 2016.12.03 |
[게임메이커강좌-GMS 기초]스튜디오에서 게임메이커 8.x 이전 프로젝트 파일 불러오기 (2) | 2016.09.29 |
[게임메이커강좌-기초]인스턴스 생성하기 (2) | 2014.08.14 |
[게임메이커강좌-기초]일정한 거리에서 회전 (2) | 2014.07.10 |
댓글