안녕하세요.
애니메이터가 들려주는 맥스 스크립트의 스크립팅하는 애님입니다.
오늘도 지난번에 이어 슬롯머신을 계속 진행하겠습니다.
오늘은 '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 string)
slot13_lab.text = " " + ((random 1 9) as string)
slot21_lab.text = " " + ((random 1 9) as string)
slot22_lab.text = " " + ((random 1 9) as string)
slot23_lab.text = " " + ((random 1 9) as string)
slot31_lab.text = " " + ((random 1 9) as string)
slot32_lab.text = " " + ((random 1 9) as string)
slot33_lab.text = " " + ((random 1 9) as string)
)
|
cs |
랜덤 함수를 사용하여 값들이 나오게 했습니다.
위와 같이 각각의 슬롯마다 따로 random 함수를 적용했지만 우리는 for문을 배웠으니까 for문으로 바꿔 보도록 하겠습니다.
그런데 슬롯의 lable이름이 1~9까지 되어 있는 것이 아니라 11~33까지로 되어 있어서 간단하게 for문으로 1~9까지 돌리는 방법은 사용하기 어렵습니다.(정확히는 귀찮습니다. ㅎㅎ)
그럼 for문 2개를 써서 2중으로 구현하는 방법을 사용해 보겠습니다.
다음과 같이 변경하고 실행해 봅시다.
1
2
3
4
5
6
7
8
9
10
|
on run_btn pressed do
(
for i = 1 to 3 do
(
for j = 1 to 3 do
(
(execute("slot" + (i as string) + (j as string) + "_lab")).text = " " + ((random 1 9) as string)
)
)
)
|
cs |
띠용~~ 에러가 뜨네요. ㅎㅎ
저도 에러가 떠서 놀랐습니다.
뭐가 잘못됐나 확인해 보니 문자열을 execute를 사용하여 실행할 수 있는 스크립트 형태로 바꾼다 해도 인식을 못하는 문제 가 있습니다.
처음 빨간색 글자를 훑어 보면 'line: 87'부터 문제가 있답니다.
이래저래 확인을 해본결과 execute로 생성한 lable들이 undefined로 나오는 것을 확인하니 변수의 영역과 관련된 것 같습니다.
원인을 정확하게 모르겠지만 이미 실행되어 메모리상에 UI가 올라 갔을테니 어떤 UI인지 명확하게 해 주면 해결할 수 있습니다.
(사족이지만 format문을 사용하거나 변수라면 변수의 값을 추적하여 에러를 확인하고 해결하는 기술을 터득하는 것은 매우 중요합니다.)
87번 라인을 다음과 같이 수정하고 실행하겠습니다.
1
|
(execute("slot_roll.slot" + (i as string) + (j as string) + "_lab")).text = " " + ((random 1 9) as string)
|
cs |
'slot_roll'을 추가하여 슬롯 UI의 영역을 확실히 해줍니다.
잘 돌아 가네요. ㅎㅎㅎ
오늘은 여기까지 진행하겠습니다.
다음에는 코인을 받고 '+', '-' 버튼을 이용하여 받은 코인의 수를 조정하는 것에 대해 알아보겠습니다.
'맥스스크립트 심화' 카테고리의 다른 글
바이패드 Bip파일 불러오거나Bip파일과 XML파일 불러오기(1) (3) | 2021.03.10 |
---|---|
슬롯머신(6) (0) | 2019.10.01 |
슬롯머신(5) (0) | 2019.09.30 |
슬롯머신(4) (0) | 2019.09.26 |
슬롯머신(2) (0) | 2019.09.24 |
슬롯머신(1) (0) | 2019.09.23 |
Selection Filter확장 (0) | 2019.09.19 |
자식노드 선택(4) (2) | 2019.09.18 |