분류 전체보기
-
스파르타 최종프로젝트 10일차게임 개발기록 2024. 7. 6. 22:42
1. 강화기능 만들기어제 작업하다가 멈췄던 자잘한 오류들을 수정하고 강화기능을 만들었다. 그런데 잘 작동을 해야 하는데 오류가 있었다. 강화비용이 자꾸 -가 되는 문제였다. 공격력과 체력도 계속 갑자기 -가 되었다. 대체 왜 그런걸까 몰랐지만, 유닛이 재생성 될 때마다 값이 변하는 것을 확인 했고, 재생성 되는 곳을 확인 해도 이유를 몰랐지만, 유닛 스텟을 초기화 하는 부분에 이런 건 없어도 되잖아. 하고 지우다가 문제 이유를 발견 했다. 공격력과 체력 등등등의 초기값을 저장 시켜야 하는 게 있었는데, 한 번만 실행 하고 안 써야 하는데 급한 맘에 유닛 생성 하는 곳에다가 넣어버리는 바람에 계속 재생성 될 때마다 값이 변하는 것이였다. 그래도 이 문제를 확인 하면서 형변환 하는 것에 대해선 오..
-
스파르타 최종프로젝트 9일차게임 개발기록 2024. 7. 5. 15:22
1.클릭 시 유닛 생성 마무리클릭 하면 유닛이 생성 됐는데 생성 된 유닛들의 움직임의 이상함이 있었다. 위 동영상처럼 유닛들이 순식간에 이동을 해버리는 문제였다. 문제의 원인은 그것이었다. 나는 화면 터치를 Ray를 통해서 구현을 하여서 Ray를 받을 충돌영역을 설정을 했어야 했다. 이런 식으로 맵 중앙에 충돌영역을 크게 설정 하였는데, 이 때 생성 되는 유닛들이 이 영역 안에서 소환이 되어서 충돌영역 바깥으로 나가기 위해 순식간에 이동을 하는 것이었다. 나는 초반에 Project 세팅을 통해서 이 터치영역을 충돌이 안 되게끔 하였는데, 갑자기 설정이 풀려 있어서 오류를 찾기 더 힘들었었다. 아무튼 그래서 이 충돌영역을 isTrigger를 해도 되지만, 나는 projectsetting을 통해서 충..
-
스파르타 최종프로젝트 8일차게임 개발기록 2024. 7. 4. 23:48
1. 화면 드래그 기능 보완하기현재 화면을 드래그 할 때, UI위에서 드래그를 해도 카메라가 움직인다. 이 부분을 보완 해줘야 한다. UI위에 있는 기능들을 실행 할 때 카메라가 움직이면 안 되기 때문이다. 내가 사용한 방법은 IPointerEnterHandler 이라는 유니티가 만들어둔 기능을 활용 했다. 이건 마우스가 UI위에 올라갔을 때 호출이 되는 인터페이스인데 UI위에 올라가면 bool값을 fals 해줘서 카메라가 움직이지 않게 했다. 이 Enter 말고도 Exit나 여러가지가 있다. Drag도 있고 Click도 있고 다양하다. 사용하려면 이 IPointerEnterHandler 을 상속 받아서 재정의를 통해서 실행 할 내용을 만들어 주면 된다. 성능이 안 좋진 않을까 알아봤는데 딱히 그런..
-
24년 7월 4일 TIL공부 기록 2024. 7. 4. 10:01
힙과 스텍 https://junghyun100.github.io/%ED%9E%99-%EC%8A%A4%ED%83%9D%EC%B0%A8%EC%9D%B4%EC%A0%90/ 스택(Stack)과 힙(Heap) 차이점해당 Post는 스택(Stack)과 힙(Heap) 차이점를 정리한 파일이다.junghyun100.github.io 얕은 복사와 깊은 복사 https://rok93.tistory.com/entry/%EC%96%95%EC%9D%80%EB%B3%B5%EC%82%AC-VS-%EA%B9%8A%EC%9D%80%EB%B3%B5%EC%82%AC 얕은복사 VS 깊은복사자바로 개발을 하다보면 객체를 복사할 일이 있다. 이럴 때 나오는 개념이 얕은 복사(Shallow Copy)와 깊은 복사(Deep Copy) 개념인데..
-
스파르타 최종프로젝트 7일차게임 개발기록 2024. 7. 3. 23:37
1.빅인티저앞으로 골드나 공격력 등을 100K, 이런 식으로 표현을 하기 위해 빅인티저를 써야 했다. 그런데 시간을 조금 버린 게 개념을 잘 못 알고 있었다. 나는 이 빅인티저를 사용 하는 게 100K, 100M 이런 식으로 바꾸는 것을 빅인티저로 알고 있었다. 그래서 공부 시작을 이상하게 했다. int가 21억까지 표현이 가능 하기에 이걸 100K나 100M 이런 식으로 바꾼 다음에 표시를 하고, 나중에 계산을 할 때 다시 숫자로 바꿔서 계산을 하는 것인 줄 알았다. 그러니까 메모리 절약을 위해 int x int를 하는 것인 줄 알았다. 그래서 계산을 한 후에 다시 100K 이런 식으로 변경 하면서 사용 하는 것인 줄 알았고, 이것을 어떻게 해야 하는거지라고 생각을 해서 시간을 좀 낭비 한 것 같다..
-
-
스파르타 최종프로젝트 6일차게임 개발기록 2024. 7. 2. 10:52
1. CSV로 데이터 관리하기csv를 사용하여 데이터를 만들고 가져와서 유니티에서 적용 되게 했다. 처음엔 이런 식으로 정리를 했으나 이렇게 하는 것보단 이렇게 가로로 쭉 나열해서 정리 하는 게 더 좋다. 튜터님이 추천 해주셨다. 이렇게 엑셀에 데이터를 입력 해두고 유니티로 가져와서 활용 해주게 했다. 먼저 엑셀에 이렇게 정리를 해서 나는 List로 꺼내왔다. 보통 Dictionary로 저장 하는 것 같았다. List로 저장해서 값을 넣어줄 경우에는 하나씩 전부 다 입력 해주는 게 맞다고 한다. 이렇게 List를 만들어주고, 이 List의 갯수가 내가 만들어둔 Unit의 개수이므로 이 List의 갯수만큼 유닛을 생성 하는 오브젝트를 만드려고 했다. 그런데 좀 복잡하다. UnitData라는 클래스..