전체 글 226

슬롯머신(6)

안녕하세요. 애니메이터가 들려주는 맥스 스크립트의 스크립팅하는 애님입니다. 오늘은 기필코 마무리를 짓겠습니다. ㅎㅎ 지금까지 작업한 스크립트를 열어주세요. 이제 이 스크립트의 하이라이트 부분(?)이라고 할 수 있는 결과 값 처리를 하겠습니다. 저는 슬롯머신의 룰을 잘 모르기 때문에 각 행에 같은 값이 나올 때 배팅한 코인의 두배 값을 돌려받도록 하겠습니다. 'on run_btn pressed do()'의 제일 밑에 다음을 추가 해 줍니다. 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 26 27 28 for i = 1 to 3 do ( if((slotNumArry[i][1] == slotNumArry[i][2])and(slotNumA..

슬롯머신(5)

안녕하세요. 애니메이터가 들려주는 맥스 스크립트의 스크립팅하는 애님입니다. 오늘도 역시 지난번에 이어 슬롯머신을 계속 진행하겠습니다. 우선은 플레이어가 가지고 있는 코인을 표시하는 것을 만들겠습니다. '+'버튼 왼쪽에 0으로 표시되어 있는 숫자에 플레이어의 코인을 표시하겠습니다. 지금까지 작업한 스크립트를 열고 'on slot_roll mbuttondown pos do()'을 다음과 같이 수정해 주세요. 1 2 3 4 5 on slot_roll mbuttondown pos do ( playerCoin += 10 coin_lab.text = playerCoin as string ) cs 이상태로 실행하면 coin_lab의 출력물이 너무 왼쪽으로 치우쳐서 나오기 때문에 위치 조정을 하겠습니다. 1 label..

슬롯머신(4)

안녕하세요. 애니메이터가 들려주는 맥스 스크립트의 스크립팅하는 애님입니다. 오늘도 역시 지난번에 이어 슬롯머신을 계속 진행하겠습니다. 오늘은 코인을 넣고 '+', '-' 버튼과 연동하는 것을 만들어 보겠습니다. 우선은 플레이어의 코인을 받는 방법을 해결해 보겠습니다. 처음에는 키보드로 입력을 받을까 하다가 맥스 스크립트 UI내에서 키보드를 사용하는 방법을 찾을 수 없어서 마우스 미들 클릭으로 플레이어가 코인을 받을 수 있게 했습니다. ㅎㅎ 지금까지 작업한 스크립트 파일을 열고 다음과 같이 추가 해 줍시다. 스크립트의 제일 위쪽 부분에 위치한 변수의 선언부에 플레이어의 코인을 받을 수 있는 변수를 선언 하겠습니다. 1 playerCoin = 0 cs 그리고 'on run_btn pressed do ()'의..

슬롯머신(3)

안녕하세요. 애니메이터가 들려주는 맥스 스크립트의 스크립팅하는 애님입니다. 오늘도 지난번에 이어 슬롯머신을 계속 진행하겠습니다. 오늘은 'Run'버튼을 작동하게 하겠습니다. 'Run'버튼이 눌리면 슬로의 숫자가 랜덤 하게 '0~9'까지 나오게 합니다. 물론 베팅의 결과를 계산하는것도 필요한데요, 이 부분은 나중에 천천히 해결해 나가겠습니다. 이전의 작업한 스크립트를 열고 on sub_btn pressed do () 밑에 다음과 같이 입력을 합니다. 1 2 3 4 5 6 7 8 9 10 11 12 on run_btn pressed do ( slot11_lab.text = " " + ((random 1 9) as string) slot12_lab.text = " " + ((random 1 9) as stri..

슬롯머신(2)

안녕하세요. 애니메이터가 들려주는 맥스 스크립트의 스크립팅하는 애님입니다. 오늘은 지난번에 이어 슬롯머신을 계속 진행하겠습니다. 지난번엔 '+'버튼을 작업했고 오늘은 '-'버튼을 진행하겠습니다. 이전에 작업한 스크립트를 열고 on add_btn pressed do (~) 다음 라인에 아래와 같이 입력을 하겠습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 on sub_btn pressed do ( betCoin -= 1 if(slotCount == 1) then ( bet1Coin -= 1 bet1_lab.text = (bet1Coin as string) slotCount -= 1 ) else if (slotCount == 2) then ..

슬롯머신(1)

안녕하세요. 애니메이터가 들려주는 맥스 스크립트의 스크립팅하는 애님입니다. 오늘은 무얼 할까 고민하다가 업무에 직접적으로 도움되는 것은 아니지만, 배열과 랜덤 함수를 사용하는 방법을 알 수 있는 슬롯머신을 만들려고 합니다. 사실저는 슬롯머신을 예전에 오락실에서 꽃놀이라는 게임으로 처음 접했는데, 완성본은 다음과 같이 예상합니다. 슬롯 머신의 실행 방법을 생각해 보겠습니다. 1. 슬롯의 칸은 3 * 3으로 9칸이다. 2. 코인은 횡으로 3개 라인으로 걸 수 있습니다. (물론 종으로도 걸수 있고 대각선 2개를 추가해서 총 8개를 걸 수 있지만, 기본개념을 확장하는 것이기 때문에 복잡하게 가지 않겠습니다.) 3. 슬롯은 0~9 까지의 숫자가 랜덤 하게 출력된다. 4. 각각의 라인에 코인은 최대 4까지 걸수 있..

Selection Filter확장

안녕하세요. 애니메이터가 들려주는 맥스 스크립트의 스크립팅하는 애님입니다. 오늘은 지난번에 얘기한 데로 맥스의 기본 선택 툴의 확장에 대해서 알아보겠습니다. 위 이미지가 맥스의 Selection Filter입니다. 가끔 작업을 하다 보면 더 세분화된 필터가 있어 원하는 것을 선택할 수 있으면 좋겠다는 생각을 합니다.(저만 그런가요?ㅎㅎ) 예를 들먼 헬퍼 중 더미나 포인트만 선택한다던지 본 중에서도 바이패드만 선택하고 싶다던지와 같이요. 물론 Layer를 사용하여 세분화 하여 나누기도 하지만 Layer처럼 파일마다 추가 작업없이 한번 작업으로 더 이상 제약 없이 사용할 수 있다면 매우 편리할 겁니다. 이를 위해서는 'registerSelectFilterCallback'라는 함수를 사용합니다. 맥스에서는 '..

자식노드 선택(4)

안녕하세요. 애니메이터가 들려주는 맥스 스크립트의 스크립팅하는 애님입니다. 오늘도 지난번에 이어서 자식 노드를 선택하는 방법을 이어서 진행하여 마무리하겠습니다. 우선 지난번까지 작업한 스크립트를 열고 바이 패드를 하나 생성해 줍니다. 이 열어준 스크립트를 UI를 사용할 수 있게 하는 것이므로 당연히 다이얼로그를 만드는 스크립트를 넣어 주어야 합니다. 새로운 탭을 열주고 다음과 같이 입력합니다. 1 2 3 4 5 6 7 try(destroydialog selChild_roll) catch() rollout selChild_roll "자식선택툴" ( button run_btn "자식선택" whidth:50 height:25 pos:[35,10] on run_btn pressed do ( ) ) created..

자식노드 선택(3)

안녕하세요. 애니메이터가 들려주는 맥스 스크립트의 스크립팅하는 애님입니다. 오늘도 지난번에 이어서 자식 노드를 선택하는 방법을 이어서 진행하겠습니다. 오늘은 두 개 이상의 시작 노드를 처리하는 방법에 대해서 알아보겠습니다. 두 개 이상이라는 것은 같은 행동을 두 번 이상 한다는 것이죠. 그럴 경우에 for문이나 while문을 사용하면 될 것이라 예상할 수 있네요. 우선 지난번까지 작업한 스크립트를 열고 바이 패드를 하나 생성해 줍니다. 스크립트의 1번 라인이 하나의 오브젝트를 저장하도록 되어 있던 것을 여러 오브젝트가 들어올 수 있도록 배열 형태로 변경해줍니다. 1 selObj = selection as array cs 다음으로 선택한 노드가 한 개 이상일 경우가 있기 때문에 7번과 8번 라인을 for문..

자식노드 선택(2)

안녕하세요. 애니메이터가 들려주는 맥스 스크립트의 스크립팅하는 애님입니다. 지난번에 이어서 자식 노드를 선택하는 방법을 이어서 진행하겠습니다. 지난번 마지막에 중복되는 부분을 while문으로 정리한다고 했습니다. 다음과 같이 하겠습니다. 1. 선택한 노드를 기준으로 한다. 2. while문으로 반복하여 자식을 찾아낸다. 3 찾아낸 자식의 수가 0이 되면 while문을 종료한다. 4 선택한 노드와 while문으로 찾아낸 자식들을 선택한다. 먼저 '1. 선택한 노드를 기준으로 한다'를 위해 이전에 작업한 스크립트를 다음과 같이 줄였습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 selObj = $ childNode = #() nextChild = #() append ..