지난 강의에서는 stateless 위젯을 stateful 위젯으로 바꿔줬다.
그런데 한가지 문제가 있다.
지금은 정의되어있는 주사위 눈의 수를 수동으로 바꿔주면서 바꿔야 하는데, 변수 안에 있는 수를 난수로 생성해서 주사위 눈이 랜덤 수로 바뀌게 해줘야 한다.
난수를 생성해주려면 새로운 라이브러리를 불러와야한다.
이 라이브러리에 대한 설명도 공식 문서에 너무 잘 나와있다!!
일단 이렇게 난수 생성하는건 강의 안보고 공식 문서만 보고 해봤는데, 어렵지는 않았지만 막히는 부분이 있었다.
첫번째로 onpressed 안에 변수를 넣어주는 것을 몰라서 처음에는 위에서 랜덤 변수를 생성해주고 onpressed 안에서 그 변수를 불러오려했다. 근데 그냥 위에서는 기본 주사위 눈인 1을 정의해주고 onpressed 안에서 랜덤을 넣어주면 되는거였다!
두번째로 그냥 random().nextInt(6) 이렇게 쓰니까 0~5 의 숫자만 나왔는데 dice0 이라는 사진이 없으니까 클릭하다보니 자꾸 없는 사진이라고 뜨는 일이 생겼다.
그래서 처음에는 random(1).nextInt(7) 이렇게 써주면 1~6 의 숫자만 나올줄 알았는데 계속 안되길래 강의 보면서 해봤더니 끝에 +1 을 붙여줘야 1~6 의 숫자가 나온다는 것을 알게됐다!
강의 마지막에는 오른쪽 주사위도 똑같이 클릭했을때 변할 수 있도록 코드를 짜보라는 도전과제가 나왔다.
어렵진 않았는데, 실수했던 부분들이 있어서 정리해봤다.
1. rightDiceNumber 이라는 오른쪽 주사위만의 새 변수를 만들어주지 않고 leftDiceNumber 변수를 그대로 썼었음
2. 이미지 위젯에서 $ 로 변수 연결 안해줬음
3. 다 제대로 했는데도 안되길래 봤더니 setState(){} 안넣어줌.. 정신차리자....
세줄요약 -
1. flutter 공식 문서는 신이다.
2. 막힐땐 구글링 !
3. 코드 짤때 꼼꼼하게 하기..