GAME MAKER 강좌
KAYAN
◈ 충돌 체크 액션
오브젝트가 특정 위치에 충돌하는지 체크하고 싶을 때가 있지요.
게임메이커 스튜디오에서는 오브젝트가 특정 위치에 충돌하는지 체크할 수 있는 액션은 3종류가 있습니다.
(▲ 충돌 체크 액션)
[If Any Object At] 액션은 지정한 위치에 오브젝트가 있는지 체크하는 액션입니다.
(▲ If Any Object At 액션)
이 액션은 보통 특정 위치에 오브젝트가 충돌하는지 체크할 때 사용합니다.
이 액션은 스프라이트가 지정된 오브젝트라면, 이펙트로 지정된 오브젝트라도 모두 체크하기 때문에,
이점을 유의하고 이벤트를 구성해야 합니다.
[If Object At] 액션은 지정한 위치에 특정 오브젝트가 있는지 체크하는 액션입니다.
(▲ If Object At 액션)
Target 은 충돌 대상의 id 값을 저장할 때 사용합니다. 이 id 값을 이용하여 충돌한 인스턴스만 제어할 수 있는
것이지요.
예를 들어, 아래와 같이 구성한다면,
(▲ Target 사용)
obj_player와 현재 오브젝트가 충돌하게 되면 현재 오브젝트의 위치를 충돌한 obj_player의 (x,y)좌표를 읽어
그 위치로 이동하게 됩니다.
이 액션 또한, 스프라이트가 지정된 오브젝트라면, 이펙트로 지정된 오브젝트라도 모두 체크하기 때문에,
이점을 유의하고 이벤트를 구성해야 합니다.
[If Collision Shape] 액션은 가상의 도형으로 특정 오브젝트와 충돌하는지 체크하는 액션입니다.
(▲ If Collison Shape 액션)
Target 은 [If Object At]액션과 마찬가지로 충돌 대상의 id 값을 저장할 때 사용합니다.
이 Target 은 인스턴스를 생성할 때 사용하는 [Create Instance]액션에서도 볼 수 있습니다.
(▲ Create Instance 액션)
인스턴스를 생성했을 때 Target 에 생성한 인스턴스의 id 값을 저장하여, 그 인스턴스만 제어할 수
있도록 합니다.
액션으로 충돌을 체크할 수도 있으나, 지원되는 충돌 체크 액션은 제한적입니다.
그럴 때는 [If Variable] 액션과 충돌 함수를 사용하면 좀 더 다양한 충돌을 체크할 수 있지요.
예를 들어, (x, y+1) 위치에서 솔리드 오브젝트가 있는지 체크하려면, place_free 함수를 사용하여,
(▲ If Variable 액션)
이와 같이 조건문을 구성할 수도 있습니다.
'GameMaker강좌[GMS2] > DnD(드래그앤드롭)기초' 카테고리의 다른 글
[게임메이커 강좌-DnD][GMS2] DnD : 게임 저장 (0) | 2021.03.30 |
---|---|
[게임메이커 강좌-DnD][GMS2] DnD : 룸 이동 및 게임 종료 (0) | 2021.03.29 |
[게임메이커 강좌-DnD][GMS2] DnD : 랜덤값 (2) | 2021.03.27 |
[게임메이커 강좌-기초][GMS2] 코드 실행 액션 (0) | 2018.05.04 |
[게임메이커 강좌-기초][GMS2] 변수 정의 액션 (0) | 2018.05.02 |
댓글