2023. 12. 5. 22:29ㆍ내외 교육들/TIL
1. 오늘은 뭐 했냐?
팀원들이랑 벽돌깨기 게임 팀 과제의 기본 기능 구현을 하루종일 고안하면서 하루를 보냈다. 오전 알고리즘 문제 풀이랑 오전 오후 스크럼을 진행하고 나서 각자 맡은 역할을 어떻게든 구현하느라 하루 종일 걸렸다고 말할 수 밖에 없다.
2. 오늘은 뭐를 개발하거나 역량을 향상시킬 수 있는 행동을 했냐?
나도 여러모로 역할을 부여받은 기능들을 구현하느라고 애썼다. 그 기능들은 공이 게임 시작 후 튕기기 전에 패들과 같이 움직이는 것과, 남은 생명 기능, 그리고 남은 생명을 깍는 데드존 구현을 하는 것이다.
먼저 공이 패들과 같이 움직이는 것에서 이상한 버그가 발생하였는데, 초기 기능을 구현하고 공이 패들과 같이 움직이도록 구현이 되었지만, 공이 움직이고 나서 패들에 부딪혔을 때, 공이 찌그러지는 버그가 발생하였다.
모든 코드 및 공과 패들 오브젝트의 컴포넌트들을 살펴보았는데, 결국 원인을 찾았다. 그 원인은 공이 패들의 자식 오브젝트로 설정하면서 생긴 오류였던 것이다. 이유는 공이 패들의 자식 오브젝트로 설정시, 패들의 스케일 변화값(오브젝트 스프라이트를 포함한 겉모습의 크기 변화값)이 자식 오브젝트한테도 영향을 미친다는 것이다. 실제로 공을 패들의 자식 오브젝트로 설정시 패들의 스케일 변화 값에 따라서 값들이 변화되는 현상을 확인할 수 있었다. 그러므로 전체적으로 자식 오브젝트의 transform 변화 값이 부모의 transform에 따라서 변화 할 수 있다고 본다. 그것 때문에 공이 찌그러지는 현상은 x,y 축으로 보여지는 2D 환경에서 오브젝트의 스케일 z 축 값이 변화되면서 찌그러지는 변화를 확인할 수 있었다. 애초에 공이 패들의 자식 오브젝트라고 선언하는 것은 이상하다. 내가 의도한 것은 공이 패들과 같이 움직이기 위해서 자식 오브젝트로 설정하였지만, 본질적인 역할로 보자면 공과 패들은 서로 독립적인 존재이다. 따라서 애초에 부모 자식 관계로 만들기에는 무리인 것이다. 그래서 공의 transform position의 변화값을 패들의 tranform의 position 값을 더하는 식으로 마무리를 지었다.
그리고 남은 생명과 게임 오버를 판정짓는 데드 존 구현에 시간을 오랬동안 잡아먹었다. 결론적으로 공이 데드존에 닿아 반응을 일으키려면, 데드존의 콜라이더에서 is trigger 체크값을 측정하기 위해선, 공의 스크립트에 ontriggerenter2D 메서드를 사용해셔 변화를 일으켜야 한다.
3. 마치며
이제 남은 제출 기한은 2일 밖에 없다. 이번주 목요일 까지 기본 기능 구현이라도 완성했으면 좋겠다.
'내외 교육들 > TIL' 카테고리의 다른 글
TIL)2023-12-07 발표 당일 (0) | 2023.12.07 |
---|---|
TIL)2023-12-06 마무리 및 발표 준비 (1) | 2023.12.06 |
TIL)2023-12-04_[팀 과제] 튀는 공과 받아치는 패들 기능 (1) | 2023.12.04 |
TIL)2023-12-01일자 일지 작성 (1) | 2023.12.01 |
TIL)2023-11-30일자 일지 작성 (1) | 2023.11.30 |