킹머핀의 제작 일지
함수 매핑 본문
컴퓨터 과학 분야에서 사상(寫像, mapping)이란 가상주소와 물리주소의 대응 관계 또는 가상 주소로부터 물리 주소를 찾아내는 일을 말한다. 영어를 그대로 읽어 매핑이라고 하기도 한다.
- 출처 : 위키백과
Construct 3에는 함수를 문자열로 호출하고 인수도 입력할 수 있는 FUNCTION MAPS를 지원한다.
JSON으로 함수를 호출할 때 아주 유용하겠다고 생각해서 무작정 액션을 추가했는데, 매개변수가 정확히 어떻게 작동하는지 헷갈려서 간단하게 정리해보려 한다.
- Map name : 추가할 맵의 이름. 네임스페이스처럼 범주를 나누는 용도. 대소문자를 구별하지 않음(case-insensitive). 하지만 매핑한 함수의 이름을 모두 다르게 짓는다면 필요할까? 성능에 영향을 얼마나 주는지 몰겠음.
- String : 매핑할 함수의 이름.
- Function : 매핑할 함수.
- Map name : 호출할 매핑 함수가 속한 맵 이름.
- String : 호출할 매핑 함수의 이름.
- Forward parameters : 이것 때문에 헷갈려서 글을 쓰게 됨. 이 액션을 실행하는 함수의 매개변수 하나를 호출한 함수의 (같은 순서의)인수로 정한다.
호출한 함수가 존재하지 않다면, 이 액션을 호출하는 함수의 모든 매개변수를 호출할 함수의 (같은 순서의) 인수로 정한다.
즉 핵심은, 매핑된 함수는 그 함수를 호출하는 함수로 불러야 온전히 사용할 수 있다는 것.
(추가 : Forward parameters는 호출하는 함수의 인수 타입에 따라 자동으로 변환된다.)
(21년 4월 20일, 나는 대부분의 이벤트를 함수로 대체해서 사용하는데, 이 함수 기능이 정식으로 출시된 지 고작 2년 밖에 안 됐다는 사실이 놀랍다. 그 이전에는 애드온으로 사용할 수는 있었지만 많이 불편했다고 한다. 그 전까지 사람들은 어떻게 코딩한 거야..)
'Construct 3' 카테고리의 다른 글
정규 표현, 정규식 (0) | 2021.07.06 |
---|---|
이즈(Ease)와 타임라인, 트윈 활용하기 (0) | 2021.05.07 |
계층 구조를 만드는 방법 (0) | 2021.02.11 |
입력 이벤트 직접 만들기 (0) | 2021.02.10 |
예제) 개인적으로 유용할 예정인 예제 모음 (0) | 2021.01.20 |