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

[게임메이커 강좌-기초][GMS2] 스크립트 : 사용자 함수

by 타락카얀 2021. 3. 22.
728x90

 

 

GAME MAKER 강좌

 

 

KAYAN

 

 

 

◈ 스크립트 : 사용자 함수

 

 

사용자 함수는 스크립트 또는 오브젝트 이벤트에서 만들 수 있고, 게임상에서 언제든지 호출 할

있습니다.

 

※ [참고] : 게임메이커 스튜디오 2.3 이전 까지는 스크립트 이름으로 1개씩만 구성해야 했으나,

2.3 이후는 1개의 스크립트 내에 여러 함수를 작성할 수 있습니다.

 

사용자 함수는 아래와 같이 구성할 수 있습니다.

 


   function <함수 이름>(<매개 변수1>, <매개 변수2>, 등... )
      {
      <구문>;
      <구문>;
      ...
      }

 

또는,

 


   <함수 이름> = function(<매개 변수1>, <매개 변수2>, 등... )
      {
      <구문>;
      <구문>;
      ...
      }

 

이와 같습니다.

 

매개변수(parameter 또는, 인수, 인자)에는 함수 외부의 값을 함수 이벤트 안에서 사용할 수 있도록 구성할 수

있습니다.

2개의 외부의 값을 호출하고 싶다면 2개를 구성하면 되고, 아무것도 호출하지 않고 함수를 구성하고 싶다면

매개 변수 값을 비워두면 됩니다.

 

예를 들면,

 


   // 2개의 외부 값을 호출


   function move_follow(_object, _speed)
   {
   if (point_distance(x, y _object.x, _object.y) > 0)
      {
      direction = point_direction(x, y, _object.x, _object.y);
      speed = _speed;
      }
   else {speed = 0;}
   }

 

또는,

 


   move_follow = function(_object, _speed)
   {
   if (point_distance(x, y _object.x, _object.y) > 0)
      {
      direction = point_direction(x, y, _object.x, _object.y);
      speed = _speed;
      }
   else {speed = 0;}
   }

 

이와 같이 할 수 있습니다.

 

 

그리고 이벤트에서 사용자 함수명을 호출하면 됩니다.

 

예)

 


   move_follow(obj_Player, 5);

 

사용자 함수를 호출시 참조할 수 있는 함수(자동 완성)의 매개 변수(parameter) 설명 부분을 변경할 수

있습니다.

 


   ///@function <함수 이름>(<매개 변수>)

 

(▲ 매개 변수 설명 부분)

 

예를 들어, 사용자 함수를 아래와 같이 구성했을 때,

 


   move_follow = function(_object, _speed)
   {
   ...
   }

 

(▲ 매개 변수 설명)

 

사용자 함수 참조시 확인 할 수 있는 _object, _speed 부분을 아래와 같이 추가하면 변경할 수

있습니다.

 


   ///@function move_follow(obj, speed)


   move_follow = function(_object, _speed)
   {
   ...
   }

 

설명 주석을 사용자 함수 바로 위에 작성하면 됩니다.

 

(▲ 변경된 매개 변수)

 

또는, 매개 변수(parameter) 약자인 param 을 인자수 만큼 사용하여 변경할 수도 있습니다.

 


   ///@param obj
   ///@param speed


   move_follow = function(_object, _speed)
   {
   ...
   }

 

설명 주석을 사용자 함수 바로 위에 작성하면 됩니다.

 

(▲ 사용자 함수 사용)

 

 

 

 

 

300x250

댓글