본문 바로가기
공부이야기/카카오토

[기초] 카카오토 가이드 #6 (함수와 리턴&이동)

by 헝탱 2018. 5. 22.
반응형

안녕하세요. 헝탱입니다.

드디어 기초편 마지막이 되었습니다. 지금까지 많은걸 배웠고 이번 편까지 완료하신다면 고급적인 기능을 제외한 모든 기능을 사용할 수 있어서 기초적인 내용들을 가지고 응용에 따라서 다양한 매크로를 만들 수 있습니다. 제가 했던 내용을 전부 완벽하게 숙지를 하셨다면 기초 강의지만 기본적인 센스에 따라서 중급적인 실력까지 올라오실꺼라고 자신있게 말씀드립니다.


이번편에서는 대충 이전 강좌들을 들으면서 아셨을 분들도 있게지만 " 이동 "스크립트에 대해서 말씀드리고 " 함수와 리턴 "에 상관 관계에 대해서도 강의를 할 예정입니다. 이동은 그렇게 어렵지 않게 하실 수 있고 많이 하는 실수 및 안되는 몇가지만 알려드리고 끝내고 함수와 리턴의 경우는 이용을 하지 않더라도 구현하는데 문제가 전혀 없기 때문에 선택적으로 사용하시면 됩니다. 똑같이 해당 내용은 사용 방법과 개념에 대해서 한번 알려드릴려고 합니다. 


함수는 무엇인가?

함수는 제가 조금 앞에서 조금 혼용해서 쓰긴 했지만 카카오토에서는 조금 " 계산식 개념의 함수 "" 스크립트 형식의 함수 " 2개가 존재합니다. 이전에 했던 강좌에서는 계산식 개념으로 변수를 지정하는 창에서 적는 함수를 말했으면 이번 강좌에서는 스크립트 개념의 함수를 말씀드립니다.


(그림1)


" 스크립트 개념의 함수 "는 스크립트를 짜집기해서 만들어놓은 함수라고 정의하고 그걸 다른 스크립트에서 원할 때 불러오면 반복적인 스크립트 작업을 한번의 작업만으로 진행이 가능하도록 하는 기능입니다. 예를 들어 모든 콘텐츠 시작전에 물약을 구매하는 스크립트를 먼저 돌고 싶을 때 이 내용을 배우지 않았다면  그림1 처럼 모든 분기에 물약 구매라는 스크립트 내용들을 복사해서 넣어야 하는 경우가 생깁니다.


(그림2)


하지만 그림 2처럼 함수라는것을 정의 했다고 가정했을 때 " 호출 "이라는 스크립트를 이용하면 불러오는 것 만으로도 그림1과 같은 방식으로 구현이 됩니다. 뭐... 복사 해서 붙여넣는게 어렵냐? 라고 말하신다면 어렵지 않지만 나중에 수정할 때 붙여넣으신 만큼 노가다로 수정을 해야합니다. 하지만 후자의 경우로 구현하실 경우에는 한곳에서만 수정하면 사용하는 모든곳에서 수정된 내용으로 진행되는걸 알 수 있습니다.


(그림3)


이러한 내용들을 개념적으로 설명을 하면 함수는 어딘가에 내가 스크립트를 만들어 두고 그 스크립트를 가져다 쓰는 개념으로 생각하시면 됩니다. 그림으로 보여드리면 그림3과 같은 형태로 구현이 됩니다. 스크립트가 구성된 하나의 그룹을 가져다 쓰기 때문에 그 안에 있는 1~4번중 아무거나 수정해서 고치게 되면 모든 콘텐츠에 적용이 되는 방식을 설명하는 그림입니다.


함수탭 및 호출 스크립트 사용법

(그림4)


함수탭과 호출은 같이 사용해야하는 필수 요소입니다. 호출이라는 스크립트를 보면 일반이라는 목록에 기본서브탭이 아닌 다른 탭에 있는 스크립트를 가져오는걸 볼 수 있습니다. 


(그림5) 


그리고 함수탭은 그림5에서 보시는것처럼 스크립트들이 있는 창 오른쪽 상단에 위치해있고 그 탭을 누르면 각 탭에 구성되어 있는 내용들을 보여주게 됩니다. 그리고 그안에서 작성하는 모든 방식은 지금까지 배워왔던 방식으로 진행이 되니 따로 설명하지 않도록 하겠습니다. 하지만 지켜야하는 몇가지 규칙이 존재합니다.


1. 가장 앞에 있는 원형의 서브로 호출의 일반 목록이 생성됩니다. 

2. 함수탭에서의 작성된 내용은 헤더스크립트 자동 이동은 존재하지 않습니다.

3. 스크립트가 더이상 이어지지 않으면 들어왔던곳으로 다시 나갑니다. (그림3 참조)

4. 함수탭에서 사용한 리턴 스크립트를 통해 강제로 나갈 수 있습니다.


기본서브탭에서의 규칙과는 조금 다른 점을 보여줍니다. 이 개념은 저도 처음에는 정확히 잡기 힘들었지만 규칙을 숙지하고 있다면 어느정도 유추하면서 진행 할 수 있습니다. 우선 스크립트 사용법에 대해서 알려드리면 함수탭에 작성하는 내용은 콘텐츠 단위 혹은 자신이 계속해서 사용될 내용 중 겹치는 부분을 중심으로 작성하시면 됩니다. 따로  이부분에 대해서는 설명하지 않도록 하겠습니다. (그림 1,2,3 참조)


(그림6) 


함수탭에 작성한 스크립트 그룹들은 전부 호출이라는 스크립트를 통해 호출하게 되어 있습니다. 그외 다른 기능으로 호출을 할 수 없습니다. 그림 1,2,3에서 설명한 내용이 전부이기 때문에 이 부분은 많이 사용해보시고 자신만의 스타일로 만들어서 작업하시는걸 추천드립니다. 처음에는 무식하게 하시다가 수정좀 해보시고 같은 스크립트를 너무 많은 곳에서 수정해야하는 곳이 있다면 시간을 내서 그부분을 함수로 바꾸는것이 초보자 분들이 처음에 많이 하는 작업니다. 초보자분들은 어떤걸 어떻게 넣어야하는지 머리속에서 빠르게 그려지지 않기 때문에 처음부터 이부분을 사용하기란 쉽지 않을 겁니다. 연습과 경험이 쌓일수로 실력이 느는 스크립트 입니다.


(그림7)


그림3을 정확히 이해하셨다면 함수안에 함수 호출도 된다는걸 아실 수 있을겁니다. 그림 7과 같이 진입한곳에서 또 진입하면 끝날 때 바로 직전에 진입한곳으로 나와서 진행하고 다시 처음으로 진입한곳으로 나오는걸 보실 수 있으실 겁니다.


함수와 리턴

리턴은 " 함수 그룹에서만 사용되는 스크립트 "로 해당 그룹을 나오면서 분기를 가집니다. 기본적으로 함수 그룹이 끝나면 리턴을 사용하지 않더라도 0분기로 이동하게 되어 있습니다. 하지만 리턴 스크립트를 넣고 리턴값에 0이외의 숫자를 입력하게 되면 " 해당 숫자로 분기 "하게 됩니다. 


(그림8)


그림을 확인하면 함수를 진입하고 구매하는 과정에서 돈이 부족한지에 대한 확인을 하고 돈이 있어서 구매를 완료하면 정상적으로 진행을 하고 돈이없으면 1분기로 분기를 해서 다음 콘텐츠로 진행하는 방식으로 구현된 스크립트를 구현해봤습니다. 이 처럼 함수에 한정해서 함수가 끝나는 시점이나 자기가 나가야하는 시점을 정할 때 리턴이라는 함수를 이용해 나오고나서 분기를 진행 할 수 있습니다.


이동 스크립트 사용법

(그림9)


이동 스크립트는 기존의 스크립트 사용하는것과 조금 다른 방식으로 사용됩니다. 기존의 스크립트와 다르게 포인터 모양으로 생긴 부분이 있고 해당 아이콘을 클릭하면 스크립트들에 분홍색의 박스들이 생성됩니다. 생성된 분홍색 박스를 클릭하게 되면 이동할 스크립트가 설정이 되게 되어 있습니다. 당연한 이야기이지만 뒤에 어떤 스크립트가 있든 이동을 하게 되니 항상 스크립트 마지막에 구현하셔야 합니다.


그리고 함수탭안에서 함수그룹과 함수그룹간에 이동은 되지 않습니다. 이점을 생각해서 하시면 되고 함수탭에서 함수그룹과 함수그룹간에 진행이 되도록 하는 방법이 있습니다. 하지만 사용하지 않는걸 권장합니다. 방법은 " 이동할 곳이 있는 함수 그룹에서 이동을 만들어서 이동할 지점을 선택한 뒤 해당 스크립트를 다른 함수그룹에 붙여서 넣으면 해당 부분으로 이동 "합니다.


동영상강의 및 마치면서

함수와 이동을 끝으로 기초적인 내용은 전부 완료 했습니다. 함수는 설명 자체는 많지 않지만 쉽게볼 내용은 아닌걸 알고 있습니다. 그림 3보다 더 쉽게 설명할 수 있는 실력이 없어 그림3을 어떻게든 이해하셔야 함수 부분을 쉽게 이용하실 수 있으실 겁니다.



구독을 하시면 이후에 나오는 카카오토 강의도 알림을 받을 수 있으니 구독해주시고 영상 추천및 아래에 좋아요 해주시면 감사하구요. 댓글을 적어주시면 내용을 반영해서 강의하도록 하겠습니다.

반응형

댓글