프로그래밍 강의/게임메이커 스튜디오

GMS, with 문을 심화해서 배워보자

wnsrn3436 2013. 11. 20. 15:50

 

with 문은 어떤 오브젝트 혹은 id에게 특정한 명령을 내릴 때에 사용됩니다.

오브젝트에게 명령을 내릴 경우, 그 오브젝트에 해당하는 모든 인스턴스가 명령을 처리하게 됩니다.

반면에 id에게 명령을 내릴 경우, 어차피 id라는 존재는 하나의 인스턴스이니까 그 인스턴스만 명령을 처리하게 됩니다.

 

 

other 이라는 놈은, 보통 충돌(Collision)이벤트에서 충돌한 대상인 인스턴스의 id를 지칭하는 시스템 변수입니다.

이런 other은 위 사진처럼 사실 with 문에서도 사용이 가능합니다.

 

음. 그러니까 obj_char이 with(obj_enemy){} 이라는 코드를 수행했을 때 with에게 other이라는 존재는 obj_char입니다.

물론, 여기에서 말하는 obj_char은 with를 호출한 하나의 인스턴스로 보아야겠죠.

 

 

또한, with 문에서는 그 이전에 선언한 var의 변수가 유효합니다.

만일 var의 변수가 아니라 로컬변수를 지칭하고 싶다면, self 라는 시스템 변수를 사용하시면 됩니다. (self.변수)

 

 

with 문법은 해당하는 오브젝트의 모든 인스턴스를 돌면서 코드를 발생시킵니다.

만일 도중에 with 문법을 중단하고 싶다면, break 명령어를 사용하면 됩니다.

 

http://cafe.naver.com/playgm

Comments