본문 바로가기

[내배캠] 본 캠프 개발 학습/매일매일 쓰는 TIL

11월 9일 토요일 본 캠프 개발 일지 | 베이지반 특강 1회차 📌  베이직반 C# 체크리스트 특강 내용을 정리하려고 한다.  학습 내용  1. 변수2. 연산3. 배열과 리스트 4. 조건문5. 반복문 1. 변수 변수는 값을 저장하는 상자로, 이 값은 변경될 수 있다.   ✅ 위치에 따른 변수 구분  전역변수 : 필드 내에서 선언하며 클래스 내에서 자유롭게 사용할 수 있다. 지역변수 : 함수 내에서만 사용할 수 있다. 2. 연산 ✅ 사칙 연산에서 int형 나누기를 할 때 나머지는 버려진다. int a = 5;int b = 2;int result = a / b; // 결과: 2✅ 만약 나머지를 알고 싶다면?int remainder = a % b; // 나머지: 1 수학적 기호와 다르기 때문에 /, % 구분을 유의해야 한다. ✅ 조건문 연산 bool isNewUser =.. 더보기
11월 8일 금요일 본 캠프 개발 일지 | 델리게이트 특강 📌 가볍게 정리해두고 주말에 복습하면서 더 채울 예정이다. 학습 내용  1. 델리게이트 1. 델리게이트 ✅ 델리게이트   델리게이트는 객체가 아닌 메서드를 참조하는 타입으로, C#의 경우 메서드 포인터라고 생각할 수 있다. 델리게이트를 사용하면 특정 메서드의 호출을 다른 코드에 전달하거나 대리하여 수행하는 게 가능하다.  즉, 메서드를 전달해주는 대리자! 쉽게 비서라고 생각할 수 있다. ✅ 사용방법 public delegate int MathOperation(int x, int y); 먼저 delegate 키워드를 사용해 직접 선언해야 한다. 한 델리게이트에 여러 메서드를 추가할 수 있으며, 이 경우 등록된 메서드가 순서대로 호출된다.public class Program{ public static.. 더보기
11월 7일 목요일 본 캠프 개발 일지 | 결국 못 정했조 팀 프로젝트 (end) 📌  숙련 주차 팀 프로젝트가 마무리 되었다. 필수 기능은 전부 구현했고, 선택 기능의 일부를 구현하는 것에 성공했다. 학습 내용  1. 몬스터 AI 2. 피드백 1. 몬스터AI ✅ UML    프로젝트를 할 때마다 상속/참조 관계나 클래스를 받아오는 처리가 헷갈렸는데 이번에 객체지향으로 프로그래밍 하면서 많이 이해하게 된 것 같다.   ✅ 몬스터 데이터 관리  몬스터 클래스에서 스탯 정보를 정의한 추상 클래스에서 상속받은 변수를 실체화하고, 생성 시 싱글톤으로 만들어진 몬스터 DB에서 해당 id에 맞는 데이터를 불러와 할당받으며, 몬스터 프리팹은 공통 컴포넌트를 포함하고 로드 시 ID에 맞는 모델과 내부 데이터를 불러와 개별적으로 설정된다. ✅ 몬스터 데이터 관리   6개의 상태를 enum으로 정의하.. 더보기
11월 6일 수요일 본 캠프 개발 일지 | 결국 못 정했조 팀 프로젝트 (2) 📌오늘은 디버깅하면서 발생한 오류를 가볍게 정리하려고 한다. 학습 내용  1. GetComponent를 찾을 수 없는 오류 2. Attack 함수가 무한으로 호출되는 오류 1. GetComponent를 찾을 수 없는 오류   저번에 베이직 반에서 겪었던 오류랑 맥락이 똑같았다.  초기화 될 때 아직 오브젝트가 생성되지 않았는데 자식 컴포넌트를 찾게 되면서 발생한 오류! Awake에 있던 GetComponentInChildren 코드를 Start로 옮겨주면서 해결되었다. 2. Attack 함수가 무한으로 호출되는 오류 public override void Attack() { Debug.Log("공격했다!"); if (_attackCoroutine == null) .. 더보기
11월 5일 화요일 본 캠프 개발 일지 | 결국 못 정했조 팀 프로젝트 📌 팀 프로젝트가 하루 남은 관계로 체크리스트만 가볍게 작성하려고 한다. 학습 내용  1. 작업 내용2. 오늘의 지식 + 3. 해야 할 작업1. 작업 내용✅ 몬스터  AI - attack, return 구현 ✅ 몬스터 데이터 시트 및 스크립트 생성 ✅ 몬스터 프리펩 정리 2. 오늘의 지식 +✅ 엑셀에서 데이터를 불러올 때 띄워쓰기까지 살필 것✅ 최적화를 위해 Update 말고 코루틴을 사용하는 방법 ✅ 기본 Data를 두고 다른 객체에서 사용하는 게 좋다 3. 해야 할 작업✅Item drop 함수 구현 ✅Attack 함수 오류 수정    3D가 처음이라서 그런지 힘들기보다 머리가 너무 아픈 프로젝트인 것 같다.  시각적인 요소보다 기능 구현에 초점을 두는 방향으로 꼼꼼하게 마무리 해야겠다. 더보기
10월 30일 수요일 본 캠프 개발 일지 | 개인 프로젝트 (end) 📌 개인 과제를 제출했다. 작업 시간은 3일 정도였고, 필수 기능만 구현하는 것에 성공했다. 강의 코드를 그대로 썼지만 강의를 최소 2번씩 보면서 코드를 이해하려고 많이 노력했다. 이번 작업물에선 따로 새롭게 구현한 게 없어서 해설 영상을 보면서 TIL을 작성하려고 한다.학습 내용  1. Look 구현 2. 체크리스트 1. Look 구현  private void LateUpdate() { if (canLook) { CameraLook(); } } public void OnLookInput(InputAction.CallbackContext context) { mouseDelta = context.ReadValue(); }.. 더보기
10월 28일 월요일 본 캠프 개발 일지 | 개인 프로젝트 (1) 📌개인 과제 진행 중! 오늘은 TIL로 쓰기엔 애매한 주제 뿐이라서 체크리스트로 대체하겠다. 학습 내용  1. 완료한 작업2. 내일 해야 할 작업3. 오늘의 지식 +  1. 완료한 작업 ✅ 플레이어 움직임 구현 ✅ 아이템 데이터 구현 ✅ 동적 환경 조사 코드 구현 ✅ 체력바 구현 ✅ 점프대 구현 2. 내일 해야 할 작업 ✅ (오전) 동적 환경 조사 UI 연결✅ (오전) 아이템 사용 적용✅ (오후) 3인칭 시점✅ (오후) 움직이는 플랫폼 구현 ✅ (오후) 장비 장착 구현  ✅ (오후) 다양한 아이템 구현 ✅ (오후) 추가 UI 구현 (인지도, 스테미나) 3. 오늘의 지식 +✅ 공통 분모가 있는데 역할이 다를 경우 인터페이스 뿐만 아니라 추상 클래스도 활용할 수 있다  추가 기능은 딱 저기까지만 구현할 예.. 더보기
10월 25일 금요일 본 캠프 개발 일지 📝  쉬어가는 타임으로 끄적끄적.  개인 학습을 하다가 결국 (또) 강의 중간에 끊고 개인 프로젝트 진행을 하기 시작했다. 나는 강의 진도가 진짜 안 나가는 편인 것 같다. 이유를 생각해봤는데, 강의가 주어질 때마다 새로운 지식이 마구 쏟아져서 그런 것 같다. 이론 설명을 다 이해해도 막상 코드를 짤 때 관련된 새로운 함수가 튀어나오니까 집중력이 심각하게 저하된다. 하나하나 멈춰서 이해하려고 하니까 시간도 많이 걸리고, 자괴감이 든다.  매일 나 왜 이렇게 멍청하지? 이 말만 수십 번 하는 듯. 게다가 강의를 똑같이 따라했는데 오류가 나면 진짜로 진짜로 정신이 붕괴될 것 같고 튜터님께 찾아가기도 눈치 보인다. 팀 프로젝트는 구현해야 하는 코드 딱 하나만 파고들 수 있어서 뭔가 머릿속에서 정리가 잘 되는.. 더보기