안녕하세요.
애니메이터가 들려주는 맥스 스크립트의 스크립팅하는 애님입니다.
지지난 시간에 해결 못했던 문제를 오늘 해결하겠습니다.
우선 이전과 동일하게 박스 3개를 만들어 보겠습니다. (저는 저장해 놓았기 때문에 불러오겠습니다. ㅎㅎ)
지난번에 만들었다 실패 한 스크립트의 내용은 아래와 같습니다.
1
2
3
4
5
6
7
8
9
10
|
rollout boxButton_Rollout "Box Button"
(
totalObj = $* as array
for i = 1 to totalObj.count do
(
if(classof totalObj[i] == Box) do button boxButton_btn "박스"
)
)
createdialog boxButton_Rollout
|
cs |
그냥 이대로 실행이 가능했으면 좋았을 텐데요.
위 스크립트의 내용을 머릿속에 기억하고 새로이 스크립트를 짜도록 하겠습니다.
우선 동적 UI용 대화 상자를 만들어 보겠습니다.
1
2
3
4
|
rci = rolloutCreator "BoxButton_Rollout" "Box Button"
rci.begin()
createDialog (rci.end())
|
cs |
위 스크립트가 동적 UI용 대화 상자의 가장 기본적인 형태입니다.
이제 3번 라인에 실제 동작에 관한 내용을 적으면 됩니다.
동적 UI용 버튼 UI 생성을 추가하겠습니다.
1
2
3
4
5
6
|
rci = rolloutCreator "BoxButton_Rollout" "Box Button"
rci.begin()
rci.addControl #button #boxButton_btn "박스"
createDialog (rci.end())
|
cs |

4번 라인이 가장 기본적인 버튼 만들기입니다. (아직 이벤트 핸들러가 없어 작동은 하지 않습니다.)
여기에 이전 스크립트 방식과 동일하게 박스의 수를 세고 for문으로 박스를 만들면 되겠네요.
이전 스크립트를 참고하여 생성해 입력해 보겠습니다.
1
2
3
4
5
6
7
8
9
|
rci = rolloutCreator "BoxButton_Rollout" "Box Button"
rci.begin()
totalObj = $* as array
for i = 1 to totalObj.count do
(
rci.addControl #button #boxButton_btn "박스"
)
createDialog (rci.end())
|
cs |
에러가 발생합니다.
이유는 버튼이 2개 이상 만들어지면서 버튼의 변수 명이 동일해서 그런 것 같습니다.
즉 이미 만든 것을 또 만들었다는 것이죠.
변수 이름을 바꿔야겠네요.
여러 가지 방법이 있겠지만 저는 for문의 i값을 가지고 해 보겠습니다.
1
2
3
4
5
6
7
8
9
10
|
rci = rolloutCreator "BoxButton_Rollout" "Box Button"
rci.begin()
totalObj = $* as array
for i = 1 to totalObj.count do
(
btnName = execute("#boxButton_btn" + (i as string))
rci.addControl #button btnName "박스"
)
createDialog (rci.end())
|
cs |
추가된 부분은 이전에부터 쭉 읽어온 분이라면 어떤 내용인지 쉽게 아실 것이라 생각합니다.
간단하게 설명하면 버튼 이름과 for문의 i값 숫자를 문자열로 합친 후 이것을 실행 가능한 형태로 변경한 다음 변수 btnName에 저장을 하고 실제 버튼을 생성할 때 사용합니다.
아직 작동하지 않지만 박수의 수를 늘리거나 줄여도 그것에 반응하여 UI가 생성되는 것을 확인할 수 있을 겁니다.
오늘은 여기까지 하고, 실제 버튼과 박스 오브젝트가 연동하는 것은 다음 시간에 이어서 하겠습니다.
'맥스스크립트 심화' 카테고리의 다른 글
actionMan을 이용한 대화상자(1) (0) | 2021.04.14 |
---|---|
RolloutCreator Functions(6) (0) | 2021.04.12 |
RolloutCreator Functions(5) (0) | 2021.04.09 |
RolloutCreator Functions(4) (0) | 2021.04.08 |
RolloutCreator Functions(2) (0) | 2021.04.06 |
RolloutCreator Functions(1) (2) | 2021.04.05 |
맥스 스크립트 UI의 세부 사용법 (3) | 2021.03.14 |
바이패드 Bip파일 불러오거나Bip파일과 XML파일 불러오기(3) (0) | 2021.03.11 |