안녕하세요?


실은 이번에 잘하면 유니티 NGUI 게임 프로젝트라는 책의 챕터4를 다 끝내려고 했습니다만, 예상치 못한 암초를 만나서 하는 수 없이 잠시 좌초되어 있어야 했고, 이번에는 그 내용을 포스팅 하고자 합니다.



이번에는 게임을 종료하고 나서도 설정된 옵션의 값을 저장해야 하는 필요성이 있기 때문에, 그 작업을 실행하고자 위 스크린샷에 보이는 게임 오브젝트들을 선택하고 나서, 



그리고 나서 Add Component를 써서 Saved Option이라는 컴포넌트를 추가 하도록 합니다.



그리고 각자 위치에 맞는 부위에 key name에 적절한 이름을 부여 하도록 합니다.



저장이 되기는 되는데, 문제가 발생했습니다. 어찌된 영문인지 Sound체크박스에서 나오는 체크가 해제되어 있는데도 사라져야 하는 Volume박스는 그대로 등장을 하는 것입니다.




그래서 이번에는 Checkbox를 계층뷰에서 선택하도록 합니다.



New script를 생성하는 것으로 해서, Togglelnit라고 이름을 지정 하도록 합니다.



그리고 나서 위 스크린샷과 같이 코딩을 해 줍니다. 여기서 의미가 일단은 아래와 같이 됩니다.


UIToggle 변수명 = GetComponent<UIToggle>();  /*이 코드는 한개의 게임 오브젝트에 있는 스크립트가 같은 게임 오브젝트의 다른 컴포넌트에 간섭하기 위해 GetComponent<컴포넌트종류>(); 라는 함수를 사용하게 됩니다. 즉, 여기서는 UIToggle을 가지고 와서 거기다가 변수명에 집어 넣으라는 의미가 됩니다.*/


그래서 아래에서는 이 Toggle의 값이 체크 안되어 있으면, PlayTween을 가지고 와서, 한번 해 Tween을 실행해 보라는 의미가 됩니다.



마지막으로 Confirm 게임 오브젝트를 계층뷰에서 한번 선택해 보도록 해 봅니다.




일단 제 의도대로 뭐가 안 풀려서 하는 수 없이 이렇게 위 스크린샷처럼 설정을 하는 것이 빠져서 이렇게 된 것이 아닌가 하는 생각이 들어서, 한번 해 보았습니다만, 그다지 큰 성과는 없었습니다.



가장 큰 문제는 계속해서 체크박스의 해제가 되지 않고, Confirm버튼을 누르면 다시 옵션페이지로 돌아 왔을 때 왜인지 체크박스의 체크가 도로 되어 있는 현상이 발생해서 하는 수 없이 위 스크린샷에서 보이는 것처럼 Checkbox 게임 오브젝트에서 Is Trigger를 일단 체크해제 하고 나서 작업을 하도록 해 봅니다.



일단 체크박스의 계속되는 체크 문제는 해결이 된 것 같다는 생각이 듭니다. 그런데, 여전히 체크박스가 체크가 안되어 있어도 Volume이 계속해서 나와 있는 것을 볼 수 있습니다. 이 문제를 어떻게 해결을 해야 합니다.



하지만 그러고 나서도 계속해서 실패만을 하는 것을 볼 수 있었습니다. 그래서 하는 수 없이 여기서 잠시 중단을 해야 겠다는 생각이 듭니다. 일단 여기서 해결책이 나올 수 때 까지 잠시 암초를 만난 것이고, 어쩔 수 없이 여기서 포스팅의 내용을 짤라야 겠다는 생각이 듭니다. 나중에 해결책이 나오면, 그 내용을 올리도록 해 보겠습니다.

+ Recent posts

티스토리 툴바