안녕하세요.
애니메이터가 들려주는 맥스 스크립트의 스크립팅하는 애님입니다.
지난번에 이어서 오늘은 spinner의 이벤트에 대해서 알아보도록 하겠습니다.
시작하기 전에 우선 spinner를 만들어 봅시다.
1
2
3
4
5
|
createdialog testRollrollout testRoll "Test!"
( spinner test_spi "Spinner" range:[-10, 10, 0] toolTip:"스피니어!" ) createdialog testRoll |
cs |
on <spinner> changed <arg> [<inSpin_arg>] do <expr>
숫자가 변경되면 이벤트가 발생합니다.
on <spinner> entered [<inSpin_arg>] [<inCancel_arg>] do <expr>
숫자의 입력이(숫자의 변경과는 관계없이)완료 되면 이벤트가 발생합니다.
on <spinner> buttondown do <expr>
스피너의 버튼을 누르면 이벤트가 발생합니다.
on <spinner> buttonup [<inCancel_arg>] do <expr>
눌려진 스피너의 버튼을 떼면 이벤트가 발생합니다.
뭔 얘기인지 한번 실행해 보면서 확인해 봅시다.
다음과 같이 수정하여 실행해 주세요.
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
|
rollout testRoll "Test!"
(
spinner test_spi "Spinner" range:[-10, 10, 0] toolTip:"스피니어!"
on test_spi changed val do
(
format "change!\n"
)
on test_spi entered do
(
format "enter!\n"
)
on test_spi buttondown do
(
format "down!\n"
)
on test_spi buttonup do
(
format "up!\n"
)
)
createdialog testRoll
|
cs |

겉으로는 그다지 바뀐것은 없습니다.
MAXScript Listener를 확인하면서 spinner의 버튼을 클릭해 봅시다.(위/아래 버튼 상관은 없습니다.)
어떤 순서로 실행되는지 확인해 봅시다.
마우스 버튼을 누르는 순간 마우스 버튼이 눌렸다는 이벤트를 발생합니다.(왼쪽 오른쪽 상관없습니다.)
만약 왼쪽 버튼이 눌렸다면 숫자가 변하겠지요, 그래서 값이 변경했다는 이벤트가 발생해 change!가 출력됩니다.
다음으로 마우스 버튼을 뗀 순간 해당하는 이벤트가 발생합니다.
그리고 숫자의 입력이 완료됐기 때문에 enter가 출력됩니다.
spinner의 숫자 영역에 직접 값을 입력하여 결과를 확인해 봅시다.
현재 표시되어 있는 값과 는 다른 값을 직접 타이핑하여 넣고 엔터를 친 후 MAXScript Listener의 결과 값을 봅시다.
아까보다는 간단하게 나오네요.
내용을 확인해 볼까요?
숫자를 입력하고 엔터를 누르는 순간 값이 변경되기 때문에 change!가 출력됩니다.
그리고 숫자의 입력이 끝났기 때문에 enter!가 출력됩니다.
오늘은 spinner의 이벤트에 대해서 이야기했습니다.
사실 spinner의 사용 용도는 spinner의 값이 변경되고 그 값이 다른 부분에서 영향을 주는(spinner의 값에 따라 박스의 크기가 변경된다던가.)것이 주된 용도입니다.
여기서는 그 부분에 대해서는 짚고 넘어가지는 않겠습니다.
나중에 실제 스크립트를 작성하며 그 부분에 대해서는 설명하도록 하겠습니다.
다음에는 Checkbox에 대해서 이야기해보도록 하겠습니다.
'맥스스크립트 기본' 카테고리의 다른 글
UI(9) radiobuttons (0) | 2019.08.04 |
---|---|
UI(8) checkbutton의 이벤트 (0) | 2019.08.01 |
UI(7) checkbutton의 문법 (0) | 2019.07.31 |
UI(7) checkbox (0) | 2019.07.29 |
UI(5) Spinner의 문법 (0) | 2019.07.27 |
UI(4) Button 이벤트 및 이미지, 메시지박스 (0) | 2019.07.26 |
UI(3) Label, Button (0) | 2019.07.25 |
UI(2) Dialog의 이벤트 (2) | 2019.07.24 |