Notice
Recent Posts
Recent Comments
Link
05-18 11:53
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

킹머핀의 제작 일지

함수 매핑 본문

Construct 3

함수 매핑

KingMUffin 2021. 2. 21. 22:25
컴퓨터 과학 분야에서 사상(寫像, mapping)이란 가상주소와 물리주소의 대응 관계 또는 가상 주소로부터 물리 주소를 찾아내는 일을 말한다. 영어를 그대로 읽어 매핑이라고 하기도 한다.
 - 출처 : 위키백과

Construct 3에는 함수를 문자열로 호출하고 인수도 입력할 수 있는 FUNCTION MAPS를 지원한다.

JSON으로 함수를 호출할 때 아주 유용하겠다고 생각해서 무작정 액션을 추가했는데, 매개변수가 정확히 어떻게 작동하는지 헷갈려서 간단하게 정리해보려 한다.

  • Map name : 추가할 맵의 이름. 네임스페이스처럼 범주를 나누는 용도. 대소문자를 구별하지 않음(case-insensitive). 하지만 매핑한 함수의 이름을 모두 다르게 짓는다면 필요할까? 성능에 영향을 얼마나 주는지 몰겠음.
  • String : 매핑할 함수의 이름.
  • Function : 매핑할 함수.

 

  • Map name : 호출할 매핑 함수가 속한 맵 이름.
  • String : 호출할 매핑 함수의 이름.
  • Forward parameters : 이것 때문에 헷갈려서 글을 쓰게 됨. 이 액션을 실행하는 함수매개변수 하나를 호출한 함수(같은 순서의)인수로 정한다.

 

호출한 함수가 존재하지 않다면, 이 액션을 호출하는 함수의 모든 매개변수를 호출할 함수의 (같은 순서의) 인수로 정한다.

즉 핵심은, 매핑된 함수는 그 함수를 호출하는 함수로 불러야 온전히 사용할 수 있다는 것.

(추가 : Forward parameters는 호출하는 함수의 인수 타입에 따라 자동으로 변환된다.)

(21년 4월 20일, 나는 대부분의 이벤트를 함수로 대체해서 사용하는데, 이 함수 기능이 정식으로 출시된 지 고작 2년 밖에 안 됐다는 사실이 놀랍다. 그 이전에는 애드온으로 사용할 수는 있었지만 많이 불편했다고 한다. 그 전까지 사람들은 어떻게 코딩한 거야..)