맥스스크립트 심화 52

actionMan을 이용한 대화상자(1)

안녕하세요. 애니메이터가 들려주는 맥스 스크립트의 스크립팅하는 애님입니다. 오늘은 'actionMan'을 이용하여 대화 상자 만들기를 하겠습니다. 바이패드를 하나 만들고, 대화 상자틀을 하나 만들겠습니다. 1 2 3 4 rollout actionMan_Rollout "ActionMan" ( ) createdialog actionMan_Rollout cs 여기에 버튼들을 만들어 보겠습니다. 일반 버튼 말고 체크 버튼을 만들겠습니다. 1 2 3 4 5 6 7 8 9 10 11 rollout actionMan_Rollout "ActionMan" ( checkbutton fig_chb "피규어" checkbutton comHori_chb "좌우" checkbutton comVert_chb "상하" checkbu..

RolloutCreator Functions(6)

안녕하세요. 애니메이터가 들려주는 맥스 스크립트의 스크립팅하는 애님입니다. 이전에 박스의 수가 늘어났을 때에 대한 수정을 이야기하도록 하겠습니다. 다음의 내용이 이전 시간까지 이야기했던 내용입니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 fn fn_action objNm = ( format "% 오브젝트와 연결되어 있습니다.\n" objNm ) rci = rolloutCreator "BoxButton_Rollout" "Box Button" rci.begin() totalObj = $* as array btnPosX = 5 btnPosY = 5 for i = 1 to totalObj.count do ( btnName = execute("#box..

RolloutCreator Functions(5)

안녕하세요. 애니메이터가 들려주는 맥스 스크립트의 스크립팅하는 애님입니다. 오늘은 이전에 만든 버튼을 조금 더 꾸며 보겠습니다. 이전 시간까지 작업된 스크립트는 다음과 같습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 fn fn_action objNm = ( format "% 오브젝트와 연결되어 있습니다.\n" objNm ) 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 #bu..

RolloutCreator Functions(4)

안녕하세요. 애니메이터가 들려주는 맥스 스크립트의 스크립팅하는 애님입니다. 오늘은 이전에 만든 버튼에 실제 오브젝트가 연동하는 것을 알아보려고 합니다. 이전에 작업한 스크립트의 내용은 아래와 같습니다. 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 버튼이 작동하려면 이벤트 핸들러가 있어야 겠..

RolloutCreator Functions(3)

안녕하세요. 애니메이터가 들려주는 맥스 스크립트의 스크립팅하는 애님입니다. 지지난 시간에 해결 못했던 문제를 오늘 해결하겠습니다. 우선 이전과 동일하게 박스 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 Colored by Color S..

RolloutCreator Functions(2)

안녕하세요. 애니메이터가 들려주는 맥스 스크립트의 스크립팅하는 애님입니다. 이전 시간에 이어서 동적 UI를 계속 이야기하겠습니다. 오늘은 동적 UI를 만들 수 있는 'RolloutCreator Functions'의 문법에 대해서 설명하겠습니다. rolloutCreator rolloutCreator의 인스턴스를 만들고 그것을 변수에 할당할 수 있습니다. 사용방법은 다음과 같습니다. 1 rci = rolloutCreator "myRollout" "My Rollout" cs 위 내용을 입력하여 실행을 하면 아래와 같은 결과를 보여줍니다. rci 변수에 생성된 rollout인스턴스 값을 저장합니다. (딱히 뭔가 작동하지는 않습니다.) .begin() 위에서 저장된 값을 이용하여 사용됩니다. 인스턴스를 생성한 바..

RolloutCreator Functions(1)

안녕하세요. 애니메이터가 들려주는 맥스 스크립트의 스크립팅하는 애님입니다. 오늘은 이전에 배운 UI의 발전형을 설명하려고 합니다. 지금까지는 기능에 대한 설명은 '맥스스크립트 기본'에서 설명을 드렸는데, 이번은 '맥스 스크립트 심화'에서 설명을 드리려고 합니다. 기능 설명에 더불어 간단하게 생각하면서 스크립트를 짜는 방법도 보여 드리기 때문입니다. 만약 여러분이 맥스에 만든 박스의 수에 맞춰 버튼이 동적으로 생성되는 UI를 가진 스크립트를 짠다고 생각하면 어떻게 작성을 하실 건가요? 맥스에 만들어진 박스의 수를 세어 수만큼 for문을 돌리면 간단할 것 같습니다. 우선 뷰포트에서 박스를 3개 정도 만들겠습니다. 위와 같이 만들고 MAXScript editor에서 다음과 같이 입력하겠습니다. 1 2 3 4 ..

맥스 스크립트 UI의 세부 사용법

안녕하세요. 애니메이터가 들려주는 맥스 스크립트의 스크립팅하는 애님입니다. '213'님이 '한 가지 궁금한점이있는데 on test1_lsb selected val do 여기서 val 은 어떤개념으로 접근해야하나요 ?? 여기 val을지우면 argument 애러가뜨긴하는데 ..' 라고 질문을 주셨는데요. 곰곰이 생각해보니 UI의 설명에서 '이렇게 하면 잘 돌아갑니다. 따라 해 보세요'정도의 설명만 해서 처음 시작하시는 분들은 '아~ 그렇구나'하고 넘어가지만, 실제로 무언가를 만들고 싶으신 분들에게는 부족한 설명이었던 것 같습니다. 그래서 '213'님이 질문하셨던 부분과 관련하여 조금 더 깊은(?) 설명을 하도록 하겠습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19..

바이패드 Bip파일 불러오거나Bip파일과 XML파일 불러오기(3)

안녕하세요. 애니메이터가 들려주는 맥스 스크립트의 스크립팅하는 애님입니다. 지금 만드는 스크립트는 이번으로 마무리 짓도록 하겠습니다. 지난 시간에 작업하려다 멈춘 '불러오기' 버튼을 작업하겠습니다. 불러오기 버튼의 할일을 먼저 적어 보겠습니다. 1 파일 불러오기 대화창을 열겠습니다. 2 단 대화창을 열때 'animType' 값을 확인하여 'Bip'와 'Xaf'파일을 구분하여 대화창을 열겠습니다. 3 대화창에서 얻은 파일의 위치와 파일명을 가지고 실제 파일을 열겠습니다. 4 만약 'animType' 값이 'Xaf'면 'insertStartFrame' 값을 적용하여 원하는 프레임에 애니메이션이 적용되도록 하겠습니다. 파일 불러오기 대화창 맥스 스크립트에서 기본적인 파일을 불러오는 대화창을 사용할 때는 'ge..

바이패드 Bip파일 불러오거나Bip파일과 XML파일 불러오기(2)

안녕하세요. 애니메이터가 들려주는 맥스 스크립트의 스크립팅하는 애님입니다. '맥스스크립트 심화' 게시판은 원하는 기능을 맥스 스크립트로 어떻게 구현해 가는가에 대해 설명하려고 만들었습니다. 몇 가지 간단한 것들을 적고 어떤 내용을 채워 넣을까 고민하면서 '맥스 스크립트 기본'을 정리하고 있었는데 때마침 '공부하는 하이'님이 질문을 주셔서 다시 작성하게 되었습니다. Max의 기능을 스크립트로 구현하는 데 있어서 막힌다면 질문해주시면 감사하겠습니다. (감사하다곤 했지만 다 해결할 수 있다곤 안 했어요. ㅎㅎㅎ) 지난번 내용은 아래 스크립트 두 줄 입니다. 1 2 biped.loadBipFile $'Bip001'.controller "D:\\Archer_W001_101_MOVE.bip" LoadSaveAnim..