본문 바로가기
Coding/Unity

Unity로 설문지 제작(버튼 만들기,씬이동, 슬라이더 값 받기)

by SnowRed 2020. 1. 21.
반응형

연구실에 처음 들어갔을때 Unity로 만든건 게임이 아니라 설문지였다........

설문조사를 받을때 단순이 1점부터 5점이 아니라 좀 더 무의식속에서 얻어낼 수 있는 점수를 원한 것이었을까....

아무튼 슬라이더바를 이용해서 점수를 얻는 것이기 때문에 C코드 약간만 배우고 unity를 한번도 다뤄본 적이 없는 초보가 겁없이 뛰어들다가 많은 고통을 받았다.ㅠ

 

 

8개의 버튼은 누르게 되면 해당 설문지 화면으로 넘어가게 됩니다.

설문조사는 슬라이더를 밀면서 점수를 자동으로 저장하게 되고요.

나중에 저장한 값들을 따로 txt파일로 만들어 뱉어낼 수 있게 됩니다.

 

- 씬 불러오기

Application.LoadLevel("이동할 씬 이름"); 을 사용해 씬을 이동할 수 있습니다.

에셋의 스크립트를 main camera에 넣는거 잊지마세요. 이부분은 unity가 익숙해져도 자꾸 까먹게 됩니다.

그리고 씬을 만들어 주면 항상 Player setting에서 scene 추가하는것도 잊지마세요.

 

 

그리고 해당 버튼에서 버튼 클릭시 씬 이동할 수 있도록 main camera를 붙여넣고 만들어준 스크립트의 함수를 지정해 줍니다. 함수를 지정해 주지 않으면 해당 버튼을 아무리 눌러도 지정된 함수가 없기 때문에 동작하지 않습니다.

 

 

그러면 home키를 누르니 씬이동 함수가 활성화 되며 씬이 이동합니다.

 

- 여러개 버튼 만들기

유니티에서 보통 [ ]는배열값이 필요할때 생성하게 됩니다.

여기서는 버튼을 할당할 수 있도록 만들어 주었습니다.

 

같은 방식으로 버튼 8개 다 함수를 지정해 주었습니다.

 

이제 버튼을 누르면 씬이 이동가능하게 됩니다.

 

- 여러개 슬라이더 만들기

스크립트에 public Slider로 슬라이더 4개 변수를 만들어 줍니다.

그리고 값도 받아 저장하도록 value1부터 4까지 만들어 주었습니다.

좀 더 반복적이지 않게 만들방법도 있었겠지만.....이때의 unity 초보에게는 너무나도 큰 사치이죠.

 

pubic을 이용한 할당은 방법이 단순합니다.

public은 하이어라이키에 나타나게 해주기 때문에 스크립트가 아니라 바깥에서 조작하기 편합니다. 적절하게 이용해 주도록 합시다.

쨋든 아까처럼 똑같이 해주시면됩니다.

 

 

유니티 실행 후 슬라이더를 움직여 보면 그 움직인 값만큼 디버그 로그가 찍히게 되네요.

디버그 로그는 상태를 알아보기 참 쉽지만 그만큼 반복해서 나오고 쌓이는 쓰레기이기도 해서 실제로 unity를 빌드할 때는 디버그 로그를 꺼주는 함수를 사용하거나 미리 스크립트에서 지워주는게 용량도 덜 차지하고 좋습니다.

특히 해비한 게임을 제작하게 되면 이런 조그마한 부분도 눈덩이 처럼 불어나기 때문에 용량 문제는 언제나 중요하다고 합니다.

댓글