프로토타이핑 툴 'Proto.io'의 기초 사용법 및 인터랙션 구현에 관한 교재를 전자책(ebook)으로 출간하였습니다.

연세대학교 및 삼성 R&D 캠퍼스에서 한 특강 내용을 중점적으로 다루었으며 주로 유저인터페이스에 사용되는 인터랙션 아이템을 제작하는 내용으로 약 180여 페이지의 분량입니다. Proto.io 홈페이지의 튜토리얼과 함께 보면 더욱 이해가 빠를 것입니다.


'Proto.io (프로토.아이오) 웹 브라우저 기반의 프로토타이핑 도구'


목업이미지목업이미지


현재 전자책 판매 사이트인 '유페이퍼'와 '구글북스'에 등록되어 판매중에 있습니다.

교보문고에도 등록은 했는데 POD 방식으로만 판매가 된다고 하네요(그래서 판매신청은 보류중). 이제 PDF 방식의 전자책 서비스는 더 이상 안하는 듯 합니다.



블로그 이미지

환타73

디지털 콘텐츠 제작 및 연구 & 개발. 온오프라인 강의.

,

상태 트랜지션은 적용이 되었지만 트랜지션을 동작하게 하는 트리거(Trigger)가 없기 때문에 현재로서는 그 어떤 동작도 일어나지 않습니다.


스크린이 출력되면 상태 트랜지션이 동작하도록 인터랙션을 스크린에 추가합니다. 좌측 패인(Left Pane)에서 스크린 트랜지션 아이콘을 클릭합니다.


아래와 같이 트랜지션을 적용합니다.

- Title : auto fade start

- Trigger : Screen show

- Action : Change Container State

- Screen : HOME

- Container : photo auto fade

- State : photo 2

- Delay : 3000


이 인터랙션을 통해 스크린이 출력되고 3초 후 ‘photo 2’ 상태로 이동합니다. 프로젝트를 저장하고 미리보기로 동작을 확인합니다.



스크린 인터랙션을 통해 이미지가 페이드인 되는 것은 시작이 되었지만 다른 상태 트랜지션으로는 바뀌지 않는 것을 볼 수 있습니다. 그 이유 역시 해당하는 인터랙션이 없기 때문입니다.


이를 구현하기 위해 이번에는 각 상태 트랜지션의 마지막 프레임에 인터랙션을 추가하겠습니다. 먼저 ‘photo 1 → photo 2’ 트랜지션을 선택하고 타임라인의 마지막 프레임에 있는 인터랙션 추가 아이콘을 클릭합니다.


프레임 인터랙션을 아래와 같이 설정합니다.

- Title : next state 1

- Trigger : State transition end

- Action : Change Container State

- Screen : Current container

- Container : Current container

- State : photo 3

- Delay : 3000(ms)


인터랙션을 저장할 때 아래와 같이 트랜지션 자동 생성 여부를 묻는 창이 나오기도 하는데 이미 생성되어 있는 상태이므로 ‘Don’t ask me again’을 체크한 후 ‘CANCEL’을 클릭합니다.



같은 방법으로 각 트랜지션의 마지막 프레임에 인터랙션을 아래와 같이 추가합니다.


‘photo 2 → photo 3’ 트랜지션 프레임 인터랙션

- Title : next state 2

- Trigger : State transition end

- Action : Change Container State

- Screen : Current container

- Container : Current container

- State : photo 1

- Delay : 3000(ms)


‘photo 3 → photo 1’ 트랜지션 프레임 인터랙션

- Title : next state 3

- Trigger : State transition end

- Action : Change Container State

- Screen : Current container

- Container : Current container

- State : photo 2

- Delay : 3000(ms)



프로젝트를 저장하고 미리보기를 통해 자동으로 페이드인 되는 이미지를 확인합니다.



블로그 이미지

환타73

디지털 콘텐츠 제작 및 연구 & 개발. 온오프라인 강의.

,

웹 혹은 앱에서 많이 사용되는 이미지 슬라이더 (캐러셀 : Carousel) 방식 중에 페이드-인(fade-in)이 있는데, 이는 이미지가 다음 이미지로 자연스럽게 섞이면서 넘어가는 것입니다.


'Proto.io'에서는 'State Transition(상태 전환)'을 사용해서 이를 구현할 수 있습니다.


먼저 새로운 프로젝트를 생성하고, 기본 스크린의 제목을 ‘HOME’으로 수정합니다.


상단 메뉴바의 ‘Assets’을 클릭하고 ‘Proto.io’에서 제공하는 스톡 이미지 중에서 중간 크기의 이미지 3개를 캔버스로 가져옵니다. 여러 개를 동시에 선택할 수 없기 때문에 하나씩 가져와야 합니다.


가져온 이미지들을 캔버스 크기에 맞게 크기를 조정하고, 위치 또한 동일하게 맞춥니다.


이미지들을 모두 선택한 후 마우스 오른 클릭으로 나타나는 메뉴 중에서 ‘Convert to container’를 선택하여 컨테이너로 만듭니다.


컨테이너의 이름은 ‘photo auto fade’로 설정합니다.


만들어진 컨테이너를 더블 클릭하여 컨테이너 편집 창으로 들어간 후 “+ NEW CONTAINER STATE”를 클릭하여 컨테이너의 상태(State)를 3개 만듭니다(State 1, State 2, State 3)


각 상태의 이름을 알아보기 쉽게 ‘photo 1’, ‘photo 2’, ‘photo 3’로 수정합니다.


현재 모든 상태(state)에는 3개의 이미지가 함께 들어있기 때문에 각각의 상태에서 이미지를 겹치지 않게 하나씩만 남기고 나머지는 삭제합니다.


상태에서 삭제해도 실제로 삭제가 되는 것이 아니고 일종의 비활성화 상태가 되는 것이기 때문에 다시 아이템을 복구할 수도 있습니다(Add from...).


상태 사이에 전환 효과를 넣기 위해 STATE TRANSITIONS 탭에서 “+ NEW STATE TRANSITION”을 클릭합니다.


첫 번째 트랜지션은 ‘photo 1’에서 ‘photo 2’로 이동할 때 적용됩니다.


적용된 트랜지션의 속성을 수정합니다.

- Delay : 0.00

- Duration : 1(sec)

- Easing : Linear


마찬가지 방법으로 ‘photo 2’에서 ‘photo 3’ 그리고 ‘photo 3’에서 ‘photo 1’로 이동할 때의 트랜지션을 추가하고 속성을 수정합니다.



여기까지의 작업으로 기본 레이아웃과 상태 트랜지션까지 적용되었습니다.


블로그 이미지

환타73

디지털 콘텐츠 제작 및 연구 & 개발. 온오프라인 강의.

,

<다운로드 진행도를 숫자로 출력하기>


프로그레스 바 제작의 마지막으로 할 작업은 다운로드 진행도를 0~100까지 증가하는 숫자 애니메이션으로 구현하는 것입니다.


Proto.io에서 대부분의 상태 값 변화는 트리거에 의해 발생한다고 보면 됩니다. 예를 들어 ‘Slider bar’의 경우는 인디케이터가 사용자에 의해 위치가 변화되므로 그 중간 값의 변화를 변수에 저장할 수 있지만, ‘Progress bar’의 경우는 그 중간 값의 변화가 사용자의 행동과는 관계가 없기 때문에 그 값을 변수에 넣을 수 없습니다.


마찬가지로 현재 제작된 ‘Progress bar’도 계속 변화하는 위치 값을 변수로 보낼 수가 없기 때문에 이를 텍스트로 출력할 수 없습니다. 그렇기 때문에 일종의 편법으로, 애니메이션의 재생 시간인 (여기에서는 9000ms = 9초) 동안 순차적으로 증가되는 변수를 넣는 방법을 쓸 수 밖에 없습니다.


인터페이스에 숫자가 표시될 부분을 추가합니다. 모두 라이브러리의 Text를 사용했으며, 변화하는 텍스트의 이름은 ‘increase text’로 합니다. 


“download button” Container를 더블 클릭하여 컨테이너 내부로 들어간 후 ‘download button’을 선택하고 “+ ADD INTERACTIONS”를 클릭하여 새로운 인터랙션을 추가합니다.


아래의 인터랙션을 추가합니다.

- Title : Increase loop

- Trigger : Tap

- Action : Animate item

- Screen : HOME

- Item : increase text

- Animation type : Move item

- Move type : Move to (x,y) coordinates

- Move X to (px) : * (변화 없음)

- Move Y to (px) : * (변화 없음)

- Duration : 50

- Easing : Linear

- Delay : 0

- Loop animation : check

- Loop iterations : 100


Callback을 체크하고 이어서 인터랙션을 추가합니다.

- Action : Set variable

- Variable Name : downloader (default: empty)

- Value type : Custom value

- New Value : {downloader}+1

- Delay : 0


Callback을 체크하고 다시 인터랙션을 추가합니다.

- Action : Change property

- Screen : HOME

- Item : increase text

- Property : Text

- Value type : Read from variable

- Variable name : downloader (default: empty)

- Delay : 0


인터랙션을 저장하고, 지금 새롭게 만든 인터랙션의 위치를 위로 옮깁니다.


프로젝트를 저장하고 지금까지 작업한 결과물을 미리보기로 확인해봅니다.


지금까지의 작업을 한 장의 이미지로 정리하면 다음과 같습니다.


블로그 이미지

환타73

디지털 콘텐츠 제작 및 연구 & 개발. 온오프라인 강의.

,

진행 막대의 상태 트랜지션까지 적용되었다면 기본 애니메이션 부분은 끝마친 것이라 볼 수 있으며, 이제는 인터랙션을 적용하여 실제 동작을 구현해야 합니다.


<다운로드 버튼 제작 - 1>


애니메이션(트랜지션)이 동작(액션)하기 위해서는 이를 명령해야 하는 이벤트(트리거)가 있어야 합니다.


스크린 ‘HOME“으로 돌아와서 캔버스에 라이브러리의 ‘Button with background’ 컨테이너를 가져옵니다. 라벨도 ‘Download’로 수정하고, 이름도 ‘download button’으로 수정합니다. 그리고 마우스 오른 클릭 후 ‘Convert to container’를 선택하여 새로운 컨테이너로 만듭니다.


이렇게 만들어진 ‘“download button” Container’에 인터랙션을 추가하고 저장합니다.

- Title : Progress animation start

- Trigger : Tap

- Action : Change Container State

- Screen : HOME

- Container : “progress bar” Container

- State : Progress end



프로젝트를 저장하고 미리보기에서 동작을 확인합니다.



<다운로드 버튼 제작 – 2>


현재 다운로드 버튼은 컨테이너로 되어 있습니다. 컨테이너 내부로 들어가서 인터랙션 및 다운로드가 끝난 상태도 추가해야 합니다.

먼저 ‘State 1’ 상태 이름을 ‘Download’로 수정하고, 새로운 상태를 추가한 후 새로운 상태의 이름을 ‘State 2’에서 ‘Complete’로 수정합니다.


‘Complete’ 상태의 아이템을 배경색을 회색으로, 라벨을 ‘Complete’로 수정합니다.


‘Download’ 상태의 아이템을 선택하고, 인터랙션을 추가합니다.

- Title : Go complete

- Trigger : Tap

- Action : Change Container State

- Screen : Current container

- Container : Current container

- State : Complete

- Delay : 9000(ms)


인터랙션을 저장할 때 아래와 같은 메시지 박스가 나타나면 “Don’t ask me again”을 체크하고 “CANCEL”을 선택합니다(트랜지션 자동 생성 기능 비활성화).


이 인터랙션을 통해 ‘Download’ 버튼을 탭하고 9초가 흐르면 상태가 바뀌어서 ‘Complete’ 버튼으로 바뀌는 동작이 이루어집니다.


프로젝트를 저장하고 미리보기로 확인해 봅니다.



<리셋 버튼 제작>


트랜지션 및 버튼 상태 변화가 모두 끝난 후 처음 상태로 되돌리기 위한 리셋 버튼을 만듭니다.


스크린 ‘HOME’으로 돌아와서 리셋을 위한 버튼을 만듭니다.


리셋 버튼에 다음의 인터랙션을 추가합니다.

- Title : Go reset state

- Trigger : Tap

- Action : Change Screen State

- Screen : HOME

- State : Reset

- Delay : 0


Callback을 체크하고 이어서 인터랙션을 추가합니다.

- Action : Change Screen State

- Screen : HOME

- State : Default

- Delay : 0


Callback을 체크하고 다시 이어서 인터랙션을 추가하고 저장합니다.

- Action : Set variable

- Variable Name : download (default: empty)

- Value type : Custom value

- New Value : 0

- Delay : 0


프로젝트를 저장하고 미리보기로 확인합니다.



<리셋 버튼 감추기 / 보이기>


리셋 버튼은 처음에는 보이지 않다가 다운로드가 끝나면 나타나고, 리셋 버튼을 누르면 사라지는 동작을 해야 합니다. 이를 위해서 ‘Download’ 버튼과 ‘Reset’ 버튼에 각각 인터랙션을 추가해야 합니다.


먼저 스크린 ‘HOME’에서 ‘reset button’의 레어어에서 ‘레이어 감추기’ 버튼을 클릭합니다.



“download button” Container를 더블 클릭하여 컨테이너 창으로 이동한 후 상태 ‘Download’에 있는 ‘download button’을 선택하고, ‘Go complate’ 인터랙션에 콜백 인터랙션을 추가합니다.

- Action : Change property

- Screen : HOME

- Item : reset button

- Property : Visibility

- Value type : Custom value

- New Value : check

- Duration : 400

- Easing : Linear

- Delay : 0


스크린 ‘HOME’으로 돌아와서 ‘reset button’을 선택하고, “+ ADD INTERACTIONS”를 클릭하여 두 번째 인터랙션을 추가합니다.

- Title : Reset button show

- Trigger : Tap

- Action : Animate item

- Screen : HOME

- Item : reset button

- Animation type : Fade item

- Fade to : 0

- Duration : 400

- Easing : Linear

- Delay : 0

- Loop animation : uncheck


프로젝트를 저장하고 미리보기로 확인합니다.


다운로드 바가 올라가는 모습


다운로드가 끝나고 버튼이 'Complete'로 상태가 변화한 후 'Reset' 버튼이 나타난 모습.


리셋 버튼을 클릭하여 초기 화면으로 돌아온 모습.


블로그 이미지

환타73

디지털 콘텐츠 제작 및 연구 & 개발. 온오프라인 강의.

,

2016년 10월 14일 삼성전자 R&D 캠퍼스 강의에서의 질문에 대한 답변입니다.

이 포스트의 내용은 수정될 수도 있습니다.


<Q1> Screen을 분리하였을 때라도, 공통적으로 같은 배경을 사용할 수는 없는지?

- 세트(기기) 의 프로토타입을 했을 때, 배경(기기 부분) 분리가 안되어 화면 부분에만 애니메이션을 보여줄 수 없었습니다.


<A> 스크린은 각각 개별적이므로 공통의 배경을 사용할 수 없습니다. 하나의 스크린만을 사용하고 그 위에 컨테이너 여러 개를 사용해서 구현하는 수밖에 없을 듯합니다.



<Q2> 마스킹 기능이 있는지?

- 마찬가지로 마스킹 기능이 있으면 세트 프로토타이핑을 할 때 좀더 유용하지 않을까 하여 여쭙니다.


<A> 마스킹 기능은 없지만 컨테이너 기능을 응용하여 사각형 형태로 아이템의 일부만을 보여 줄 수는 있습니다. 

배경이 투명한 PNG 이미지를 외부에서 만들어 Assets으로 가져와서 사용하는 것이 가장 좋은 방법입니다.



<Q3> 타이머 기능 구현여부

- 액션을 입력하지 않고 일정 시간이 지나면 메인화면으로 복귀되어야 하는데, 지난 번 사용하였을 때는 찾지 못했습니다.


<A> 간단한 방법으로는 트랜지션 항목에 타임라인의 지작과 끝 부분에 인터랙션을 줄 수가 있습니다. 적당한 시간의 트랜지션을 만들고 끝 부분에 Go to screen 액션을 주어서 메인화면으로 복귀하면 됩니다.



<Q4> 인디케이터 구현이 가능한가요?

- 인디케이터는 screen이나 states와 관계없이 항상 같은 위치에 뜨면서, 사용자 조작에 따라 상태가 변화됩니다.

+ 혹시 container를 활용하여 구현할 수 있지 않은가요?


<A> 인터랙션의 Overlay screen 으로 다른 스크린을 가져올 수는 있습니다. 하지만 상태, 스크린의 변동 후에도 그대로 유지되는지는 컨트롤은 제대로 동작하는지는 좀 더 확인해봐야 합니다.



<Q5>. long press 액션이 있나요?


<A> Trigger 중에 Tap Hold 가 long press 와 비슷한 액션으로 보입니다(탭하고 그대로 일정 시간 유지하고 있으면 액션 발생).



<Q6> 플래시처럼 간단한 코딩이 가능한가요? 가능하다면 언어는 어떤 것이 지원되나요?


<A> Variable을 사용하는 경우 약간의 자바스크립트를 입력할 수 있으며 간단한 조건문, 문자열 합치기, 자르기, 사칙연산 정도의 구현이 가능합니다.



<Q7> 애니메이션 선택시에 ease 종류에 따라 그래픽을 보여주던데, 그것 말고 애프터이펙트처럼 frame이나 graph 등의 가시적인 요소는 없나요?


<A> 간단한 직선 이동, 회전 애니메이션 정도는 상태 트랜지션 혹은 인터랙션으로 만들 수 있지만 키프레임 이나 이펙트를 사용하는 화려한 움직음의 애니메이션은 만들 수 없습니다. 각 트랜지션 마지막에 인터랙션으로 다음 상태로 넘어가게 하는 방법으로 어느 정도는 구현할 수 있지만 딜레이 등이 있기 때문에 썩 만족스러운 결과는 아니었습니다.



<Q8> 라이브러리를 이용 하지 않은 버튼 온/오프 구현 방법


<A> 버튼을 컨테이너로 변환하고 컨테이너의 상태(State)를 온/오프 두 개로 만든 후 인터랙션을 통해 구현할 수 있습니다.



<Q9> 오븐에 knob 을 돌리듯이 동그라미를 axis 중간으로 맞춰 돌리는 법


<A> 아이템을 컨테이너로 변환하고 옵션의 Draggable를 체크하여 Rotation을 선택하는 방법으로 구현할 수 있습니다.



<Q10> state 를 이용한 animation 을 전반적으로 알려주세요.


<A> 상태 A와 상태 B에 동일한 아이템들이 있으면 이 각각의 아이템들의 위치 값, 투명도 등의 속성 사이에 애니메이션이 발생하는 것입니다. 일반적으로 트랜지션은 2개의 state 사이에서 이루어집니다.



<Q11> 전체 로테이트 : 파일 만든 후 전체적으로 로테이트 가능 여부 (90도,180도,270도..)


<A> 스크린은 고정되어 있는 것으로 로테이트가 불가능하기 때문에, 각 방향 마다 별도의 스크린을 제작해야 합니다. Animate 인터랙션이나 상태 트랜지션으로 회전을 한다고 하더라도 스크린의 가로, 세로 값이 서로 바뀌기 때문에 이에 대한 위치를 별도로 변경하는 작업이 필요할 것입니다.



<Q12> 사운드 넣는 부분 : 우측 사운드바를 통해 사운드를 넣었으나, disable(사운드바 보이지 않음)을 한 경우, 사운드 재생(클릭)이 되지 않음. 특정한 버튼을 탭했을 때 사운드가 플레이 되는 인터랙션 제작법.


<A> 사운드 아이템을 invisible 한 후, 재생(일시정지, 정지) 버튼을 만들고 인터랙션을 추가하면 됩니다. 인터랙션의 Audio 항목에서 찾을 수 있습니다.



<Q13> 떳다가 사라지는 애니메이션(토스트팝업): 토스트팝업과 같이, 떳다가 몇초 후 자동으로 사라지는 애니메이션. proto에서도 에펙이나 ppt와 같이 특정 시간 경과 뒤 변화하는 애니메이션을 줄 수 있는지 여부


<A> 대부분의 애니메이션은 컨테이너의 상태 변화를 사용하여 구현을 할 수 있습니다.


 

<Q13> html → apk변환방법


<A> Proto.io와 관계가 없지만... 구글링을 하면 관련 내용을 찾으실 수 있습니다. (검색어 예 : html to apk)

https://github.com/praveshagrawal/HTML-to-APK



<Q14> 애니메이션 가능 여부: 탭하면 해당 버튼이 커지는 등, VI사안들 구현 가능 여부


<A> 대부분의 애니메이션은 컨테이너의 상태 변화를 사용하여 구현을 할 수 있습니다.



<Q15> 외부 폰트를 등록하여 사용할 수 있나요?


<A> 아직까지는 불가능합니다.

https://support.proto.io/hc/en-us/community/posts/207859598-Loading-external-fontello-font

https://support.proto.io/hc/en-us/community/posts/207860738-How-do-i-use-custom-fonts-that-are-not-hosted-on-Google-Fonts

블로그 이미지

환타73

디지털 콘텐츠 제작 및 연구 & 개발. 온오프라인 강의.

,

웹 기반의 프토토타이핑 툴 'proto.io'에서 variable(변수)를 사용하여 인터랙션(상호작용)을 구현하려면 약간은 복잡한 과정을 거쳐야 합니다.


웹 기반 프로토타이핑 툴 서비스 Proto.io
https://proto.io/


아래 처럼 슬라이더 아이템의 이름은 'slider'로, 텍스트 아이템의 이름은 'text'로 설정합니다.

슬라이더 아이템 이름 slider슬라이더 아이템 이름 = slider

텍스트 아이템 이름 text텍스트 아이템 이름 = text



슬라이더를 클릭하고 옵션 창에서 Interaction 탭으로 이동하여 Add Interactions 버튼을 클릭하여 아래와 같이 설정합니다.


Interaction (슬라이더 범위 수치 1~100를 변수 {slider_position}에 넣는다)

슬라이더값 변수 생성슬라이더값 변수 생성


Title : Slider-Text
Trigger : Slider drag
Action : Set variable
Variable Name : New variable : slider_position
Variable type : Numeric
Evaluate variable : check
Value type : Callback value from event
Callback value : Value(%)
Delay : No delay
Callback : check


<설명>
인터렉션의 이름(Title)은 "Slider-Text"로 슬라이더 값이 텍스트를 변화시킨다는 뜻입니다.
이 인터렉션은 슬라이더가 '드래그'되어 발생하기 때문에 트리거(Trigger:방아쇠)는 "Slider drag"로 선택합니다.
'드래그'의 결과 발생하는 액션(Action:동작)은 변수가 설정(생성)되는 것입니다(Set variable).
이 생성되는 '새로운 변수(New variable)'의 이름은 "slider_position"으로 하며,
변수의 종류는 "숫자(Numeric)"이고,
이 값은 다른 어떤 변수를 위해서 사용되기 때문에 'Evaluate variable'을 체크합니다.
변수의 값은 현재 발생하는 이벤트(드래그)에서 콜백(불러옴)되고(Callbak value from event),
호출된 값은 Value(%) 즉, 숫자(단위)입니다.
호출에 딜레이(지연)은 없으며,
이어서 콜백 인터렉션이 추가되므로 'Callback'을 체크합니다.


Callback 1 (슬라이더 값의 특정 범위에 따라 글자를 변경하고 이를 변수 {text_change}에 넣는다)

텍스트값 변수 생성텍스트값 변수 생성


Action : Set variable
Variable Name : text_change
Variable type : Text
Evaluate variable : check
Value type : Custom value
New Value : ({slider_position}<33) ? 'Cappuccino' : (({slider_position}>67) ? 'CafeLatte' : 'Americano');
Delay : No delay
Callback : check


<설명>
위에서 발생한 인터렉션(slider_position 변화)을 트리거로 하여,


액션으로 새로운 변수가 설정됩니다(Set variable).
이 새로운 변수(New variabe)의 이름은 "text_change"이며,
변수의 종류는 "문자(Text)"이고,
이 값은 다른 어떤 변수를 위해서 사용되기 때문에 'Evaluate variable'을 체크합니다.
변수의 값은 사용자가 임의로 생성을 하는데,
이 임의로 생성되는 새로운 값은 자바스크립트를 통해 생성합니다.
({slider_position}<33) ? 'Cappuccino' : (({slider_position}>67) ? 'CafeLatte' : 'Americano');
만일 변수 {slider_position}이
33보다 작으면 Cappuccino 를 값으로 하고,
67보다 크면 Americano 를 값으로,
둘 다 아니면 (즉 34~66 사이) CafeLatte 를 값으로 합니다.
값을 생성하는데에 딜레이(지연)은 없으며,
이어서 콜백 인터렉션이 추가되므로 'Callback'을 체크합니다.

Callback 2 (글자 속성 변경을 위해 변수 {text_change}를 사용한다)

텍스트값 변수 아이템(text)에 적용텍스트값 변수 아이템(text)에 적용


Action : Change property
Screen : Current container
Item : text
Property : Value
Value type : Read from variable
Variable name : text_change
Delay : No delay


<설명>
위에서 발생한 인터렉션(text_change 변화)을 트리거로 하여,

액션으로 아이템의 속성을 변경합니다(Change property).
현재 스크린의 현재 콘테이너(Current container)에서
아이템 이름 "text"에 적용되며
변경되는 속성은 값(Value)으로 여기서는 글자 그 자체입니다.
이 값(글자)은 변수에서 읽어오는데(Read from variable)
그 변수의 이름은 "text_change"입니다.


Save Intercation 을 클릭한 후 프로젝트를 저장하고 프리뷰를 통해 동작을 확인합니다.



슬라이더 위치에 따른 텍스트 변화슬라이더 위치에 따른 텍스트 변화



블로그 이미지

환타73

디지털 콘텐츠 제작 및 연구 & 개발. 온오프라인 강의.

,