맥스스크립트 기본

UI(9) radiobuttons

스크립팅하는애님 2019. 8. 4. 14:42
728x90
반응형

안녕하세요.

애니메이터가 들려주는 맥스 스크립트의 스크립팅하는 애님입니다

오늘은 checkbutton과 비슷하게 생긴 radiobuttons에 대해서 이야기해보려 합니다.

 

checkbutton은 원하는 것을 중복해서 선택을 할수 있는 반면에 radiobuttons는 여러 항목 중 하나만 선택을 할 수 있는 형태입니다.

radiobuttons의 사용법은 다음과 같습니다.

 

radiobuttons <name> [<caption>] labels:<array_of_strings> [tooltip:{<string>|<array_of_strings>}] [default:<number>] [columns:<number>]

 

<name>, [<caption>], [tooltip]은 이전에도 계속 이야기했으니 설명을 생략하겠습니다.

 labels:<array_of_strings>은 문자 배열 형태로 입력을 하며, 입력된 내용은 항목이 됩니다.

[default:<number>]는 radiobuttons가 처음 생성될 때 어떤 버튼을 선택할지를 숫자로 정합니다.

[columns:<number>]는 한 줄에 몇 개의 labels을 표현할지를 숫자로 정합니다.

 

그럼 직접 입력하여 실행해 보고 확인해 봅시다.

다음과 같이 입력하고 실행해 주세요.

 

1
2
3
4
5
rollout testRoll "Test!"
(
    radiobuttons test1_rab "라디오버튼" labels:#("라디오1", "라디오2", "라디오3") default:2 columns:1
)
createdialog testRoll
 
cs

 

 

위 이미지와 같이 생성이 됐습니다.

내용에 대해서 알아봅시다.

 

radiobuttons test1_rab "라디오버튼" labels:#("라디오1", "라디오2", "라디오3") default:2 columns:1

 

radiobuttons를 만들때 test1_rab라는 이름으로 만들고,

제목은 "라디오 버튼"으로 했고,

라벨은 "라디오1", "라디오2", "라디오3"으로 만들었고,

생성 시 기본적으로 2번을 선택하게 했으며,

한 줄에 1개의 columns만 만들어지게 했습니다.

여러분이 상상하는 대로 값을 변경하면서 테스트를 해보세요.

 

다음으로 이벤트에 대해서 이야기하겠습니다.

 

on <radiobuttons> changed <arg> do <expr>

 

radiobuttons의 상태가 바뀌면 이벤트가 발생합니다.

 

on <radiobuttons> rightClick do <expr>

 

radiobuttons을 마우스 오른쪽 버튼을 클릭하면 이벤트가 발생합니다.

 

정말로 그렇게 작동하는지 맥스 스크립트를 다음과 같이 수정하고 실행을 해봅시다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
rollout testRoll "Test!"
(
    radiobuttons test1_rab "라디오버튼" labels:#("라디오1", "라디오2", "라디오3") default:2 columns:1
    
    on test1_rab changed state do
    (
        format "radio : %\n" state
    )
    
    on test1_rab rightClick do
    (
        format "마우스 오른쪽 버튼 클릭!\n"
    )
)
createdialog testRoll
 
cs

 

실행을 한 다음 라디오1을 마우스 왼쪽 버튼으로 클릭하고,

마우스 오른쪽 버튼으로 radiobuttons를 클릭해 봅시다.

 

 

 

MAXScript Listener에서 확인하면 위 이미지와 같이 나옵니다.

 

어떤 원리로 위와 같이 작동하는지 알아봅시다.

on test1_rab changed state do
(
    format "radio : %\n" state
)

생성된 test1_rab의 state(상태)가 바뀌면

format문을 사용하여 state를 MAXScript Listener에 출력하라.



on test1_rab rightClick do
(
    format "마우스 오른쪽 버튼 클릭!\n"
)

생성된 test1_rab의 어디든 마우스 오른쪽 버튼으로 클릭하면

format문을 사용하여 state를 MAXScript Listener에 출력하라.

 

오늘은 radiobutton에 대해서 이야기해 보았습니다.

checkbutton과 radiobuttons는 맥스 스크립트를 이용해 작업의 자동화를 진행할 때 옵션을 정하는 기능을 구현기 좋은 기능입니다.

나중에 실제 스크립트 작업을 하면서 다시 한번 훑어보시면 좋을 것입니다.

다음으로는 문자열을 입력하는 Edittext에 대해서 이야기 해보겠습니다.

728x90
반응형

'맥스스크립트 기본' 카테고리의 다른 글

UI(12) MultiListbox  (0) 2019.08.08
UI(12) Listbox  (9) 2019.08.07
UI(11) Slider  (2) 2019.08.06
UI(10) edittext  (0) 2019.08.05
UI(8) checkbutton의 이벤트  (0) 2019.08.01
UI(7) checkbutton의 문법  (0) 2019.07.31
UI(7) checkbox  (0) 2019.07.29
UI(6) Spinner의 이벤트  (0) 2019.07.28