이 문서는 GML (GameMaker Language)에서 함수를 호출하는 방법에 대해 설명합니다. 이 기능을 사용하면 GML 함수나 사용자 정의 함수를 호출할 수 있습니다. 호출할 함수와 함께 필요한 추가 인자를 제공해야 합니다. 이 인자는 문자열, 정수, 리소스 인덱스 등 함수가 사용할 수 있는 값입니다.
기능 사용법
- 함수 선택: 호출할 GML 함수를 입력합니다.
- 인자 추가: 필요한 인자를 추가합니다. 인자는 "+" 아이콘을 클릭하여 추가할 수 있습니다.
- 인자 개수: 함수에서 요구하는 인자 개수와 일치해야 합니다. 예를 들어, 만약 함수가 3개의 인자를 필요로 한다면, 3개의 인자를 제공해야 합니다.
- 반환 값 저장: 일부 함수는 값을 반환할 수 있습니다. 이 값을 저장할 대상 변수를 지정할 수 있습니다. 변수를 미리 생성하거나, 'Temp' 체크박스를 선택해 새로운 임시 지역 변수를 사용할 수 있습니다.
- 빈 필드: 필요하지 않은 경우, 대상 및 인자 필드는 비워둘 수 있습니다.
문법
// 문법 요약
Arguments:
|인자|설명|
|---|---|
|Function|호출할 GML 함수|
|Argument0... ArgumentX|함수에 전달할 다양한 인자 (값들)|
|Target|반환된 값을 저장할 변수의 이름 (비워둘 수 있음)|
예제
// 플레이어 객체가 존재하는지 확인 후, 거리 측정
if (instance_exists(obj_Player)) {
distance = point_distance(x, y, obj_Player.x, obj_Player.y);
} else {
distance = 0;
}
설명
위의 코드는 "obj_Player" 인스턴스의 존재 여부를 확인한 후, point_distance() 함수를 호출하여 현재 인스턴스의 x, y 좌표와 "obj_Player"의 x, y 좌표 간의 거리를 계산합니다. 만약 "obj_Player"가 없다면 distance 변수를 0으로 설정합니다.
다양한 활용 및 응용 예제
| 번호 |
예제 |
설명 |
| 1 |
생명력 계산 |
캐릭터의 생명력을 계산하기 위해 피해량을 차감하는 함수 호출 |
// 피해량을 받고 남은 생명력 계산
function calculate_health(damage) {
health -= damage;
}
calculate_health(10); // 10의 피해를 받고 건강 감소
| 2 |
적의 이동 |
적 객체의 방향에 따라 이동시키는 함수 호출 |
|
|
|
// 적을 오른쪽으로 이동
function move_enemy(speed) {
x += speed;
}
move_enemy(5); // 적을 오른쪽으로 5만큼 이동
| 3 |
스코어 증가 |
특정 이벤트 발생 시 스코어를 증가시키는 함수 호출 |
|
|
|
// 스코어 계산
function increase_score(points) {
score += points;
}
increase_score(50); // 스코어 50점 증가
| 4 |
배열 요소 접근 |
배열에서 특정 요소를 가져와 처리하는 함수 호출 |
|
|
|
// 배열에서 첫 번째 요소 가져오기
function get_first_item(arr) {
return arr[0];
}
var item = get_first_item(myArray); // 배열의 첫 번째 요소 선택
| 5 |
애니메이션 재생 |
특정 조건에 따라 캐릭터 애니메이션을 재생하는 함수 호출 |
|
|
|
// 애니메이션 시작
function play_animation(anim) {
image_index = anim;
}
if (is_moving) {
play_animation(1); // 이동 애니메이션 재생
}
위와 같은 방식으로 다양한 함수 호출을 통해 게임의 기능을 확장하고 개선할 수 있습니다. GML을 활용해 필요한 기능을 쉽게 구현해보세요!