본문 바로가기
유니티5 독학 & 게임 제작

유니티5 독학하기 그 79.5걸음-패럴렉스 스크롤의 문제점 발생

by 인터넷떠돌이 2018. 9. 3.
반응형

안녕하세요?


지난번 포스팅에서 패럴랙스 스크롤을 적용하는 것이 성공하기는 했는데, 이번 포스팅에서는 적용까지는 어느정도 성공했는데, 한가지 사소하......다고는 할 수 없고 상당히 심각한 문제가 발생했는데, 이게 해결이 되지 않는 것 까지 포스팅을 하고자 합니다.



일단 지난번 포스팅까지는 테스트 하지 않았는 게임오버를 한번 일으키도록 하고



PlayAgain을 누르면, 위 스크린샷과 같이, 패럴랙스 스크롤이 전혀 나오지 않는 것을 볼 수 있습니다.



먼저 FreeParallax.cs스크립트를 들어가기로 해서, 일단 어디서 부터 스크립트가 진행이 되는지를 살펴 보았습니다.



먼저 인스턴스화를 시키도록 했습니다.




그리고 나서 GameManager.cs로 들어가도록 했습니다.



일단 FreeParallax.cs에 있는 Reset()메서드를 실행시키도록 합니다.



그런데 이러고도 제 의도대로 무언가가 제대로 작동되지 않았습니다.



그래서 이번에는 이 부분이 중요한 것이 아닐까 하는 생각이 들었습니다.




그래도 여전히 작업이 잘 되지는 않았습니다. 뭐가 되는 듯 하더라도, 이게 결코 처음 자리로 다시 시작하자 마자 돌아가지 않습니다.



그래서 이번에는 SetupPosition이라는 메소드 부분이 중요한게 아닌가 하는 생각이 들었습니다.



그 다음에는 위 스크린샷처럼 AddElement()라는 메소드가 있는 것이 있는데, 이 메소드도 상당히 중요하다고 생각이 들었습니다.



그래서 먼저 Reset()메소드에서 위 스크린샷처럼 foreach()형식의 반복문을 사용해서 지우라는 명령어를 실행시켰습니다.




그런데 위 스크린샷과 같은 오류가 발생하는 것을 볼 수 있었습니다.



이 에러가 왜 발생하나 했더니, 위 스크린샷처럼, foreach문 내에서 remove명령어를 쓰면 저런 식으로 에러가 나온다고 합니다. 그래서 하는 수 없이 for문으로 바꾸고자 합니다.



그래서 위 스크린샷처럼 먼저 for문으로 바꾸도록 했습니다.



하지만 그러고도, 이 문제는 해결이 전혀 되지를 않았습니다. 어디가 문제인지는 몰라도, 남이 짜놓은 스크립트를 보면서 적절한 수정을 한다는 것은 상당히 어려운 문제라는 생각이 들었습니다. 아무튼 이 문제를 다음 포스팅에서 해결했다는 이야기를 올리고 싶은데, 가능하려나 모르겠습니다.

반응형