스파르타내일배움캠프TIL 65

내일배움캠프TIL 70일차 정리

1. 오늘 모의 면접을 진행했는데 게임개발 직군을 왜했는지에 대한 설득이 부족했다.2. 프로퍼티, 리스트와 배열의 차이에 대해 설명, 유니티의 라이프 사이클3. 위에 대한 설명을 진행했는데 기본적인 개념은 알았지만 이것을 말로 풀어쓰고 이것을 언제 사용하는지 이것을 사용했을때 좋은 점이 무엇인지 필요했다. 유니티의 라이프 사이클(Life Cycle)이란?유니티의 라이프 사이클은 게임 오브젝트와 컴포넌트가 생성부터 파괴까지 어떤 순서로 동작하는지 정의한 일련의 이벤트 메서드 호출 흐름을 의미합니다. 이 흐름을 이해하면 오브젝트의 상태 변화에 맞춰 적절한 시점에 코드를 실행할 수 있어, 안정적이고 효율적인 게임 개발이 가능합니다주요 라이프 사이클 메서드와 호출 순서Awake: 오브젝트가 생성될 때 한 번 호..

개발 TIL 2025.05.09

내일배움캠프TIL 69일차 정리

1. 팀원 분이 만든 StatusEffect를 참고하여 아티팩트를 만들었다.아티팩트는 추상클래스로 만들었고 modifier는 캐릭터 스텟에 관련하여 접근하는 필드이다.data를 받아오고 생성자 부분에서 data를 받아온다equip과 unequip으로 virtual로 만들어서 사용할 수 있게 만들었다. 추상매서드로 사용하지 않은 이유는 아티팩트가 장착 말고도 다른 매서드가 필요할수도 있을 것 같아서 굳이 추상클래스로 만들지는 않았다.아티펙트 데이터 부분이다. 기획 DB를 보고 그거에 맞게 수정했다.아티팩트 database부분이다. so로 존재하는 데이터들을 database에 넣고 언제든지 사용할 수 있게 SoManager에서 관리한다.아티펙트 팩토리 부분이다. 아티펙트를 만들고자 하는 id를 생성하고 그 ..

개발 TIL 2025.05.08

내일배움캠프TIL 68일차 정리

DOTwen을 사용하면서 DOMove를 사용하면 거리 상관없이 시간에 따라 이동속도가 빠르거나 느리게 변했다.그러나 그것을 바꾸고자 이동속도는 일정하고 거리에 따라 이동시간이 달라지게 하는 방식을 선택했다.그래서 거리 비례이동을 구현하고자 (거리 = 시작점과 목표점의 거리) 를 사용했고Vector2Int.Distance를 사용해서 시작부분과 목표부분의 거리를 구하고 그 거리를 이동스피드로 나눠주니일정속도로 이동하는 아이템을 만들 수 있었다. 오늘은 미흡하지만 내일은 더많은 발전가능한 내용을 채워놓아야 겠다.

개발 TIL 2025.05.07

내일배움캠프TIL 67일차 트러블 슈팅

동원 훈련을 갔다와서 3일 TIL을 작성하지 못했습니다.... 문제 : 아이템 생성하는 부분을 변경하고 테스트 해보니 에러 발생시도 1. 아이템 생성하는 로직에 문제가 있는지 확인결과 : 문제 없음시도 2. 아이템 데이터가 제대로 들어오지 않는지 확인결과 : 문제없음시도 3. 플레이어에서 UseItem을 하는 로직 확인결과 : 문제없음시도 4. item.spriteRenderer.sortingOrder = -8000; 부분을 주석처리 후 실행결과 : 정상적으로 동작이 실행됨아이템 타입이 정해지고 사용 혹은 drop일때 스프라이트 렌더러를 초기화하는데 생성만 하기때문에 스프라이트렌더러가 null이였음시도 5. go.GetComponent().sortingOrder = -8000; 로 오브젝트에서 컴포넌트를..

개발 TIL 2025.05.01

내일배움캠프TIL 66일차 배운내용 정리

오늘은 C#에서 람다식의 매개변수로 _(언더바)를 사용하는 관례에 대해 배웠다.예를 들어, 아래와 같은 코드가 있다._input.PC.Move.canceled += _ => MoveInput = Vector2.zero;여기서 canceled 이벤트는 어떤 인자를 전달하지만, 나는 그 인자를 전혀 사용하지 않는다.이럴 때 매개변수 이름을 _로 지정하면, 이 인자는 신경 쓰지 않는다는 의도를 명확하게 표현할 수 있다.이 방식은 코드의 가독성을 높여주고, 불필요한 변수명을 고민할 필요도 없게 해준다. 정리:C# 람다식에서 인자를 사용하지 않을 때는 _를 매개변수로 써서, "이 인자는 무시한다"는 것을 명확히 표현할 수 있다. C#에서 전통적인 switch문과 새로운 switch 식(switch expre..

개발 TIL 2025.04.25

내일배움캠프TIL 65일차 정리

1. 아이템 사용, 드랍, 드랍아이템을 먹었을때를 테스트 했고 테스트하니 정상적으로 동작하는 것을 확인했다.2. 아이템 사거리를 받아와서 보여주는 것을 구현하였다.3. 구현은 사거리를 표시하고 마우스 위치에 따라 아이템범위를 표시하고 누르면 사거리 안의 위치를 누르면 범위내에 적이 있는지 판별 없다면 취소 있다면 동작으로 구현시도했다.4. 마우스의 위치에 따른 아이템범위는 인풋이 아직 만들어지지 않아서 넘겼고 사거리 표시와 사거리 안의 위치인지 판별하고 위치가 들어오면 범위내의 적이있는지 없는지 판별해서 아이템사용을 구현하였다.5. 사거리 표시는 아래와같이 보여줬다.6. 사거리 보이게 만든 코드이다. 타일을 불러와서 플레이어 기준으로 아이템 데이터의 범위에 따라 사거리가 표시된다.

개발 TIL 2025.04.24

내일배움캠프TIL 63일차 트러블 슈팅

참조 문제를 해결하기 위해 Instantiate를 사용했다. MonoBehaviour는 new로 선언하는게 아니라 Instantiate를 이용해서 객체를 생성하고 할당을 해줘야했다. 이렇게 해결을 했는데 문제는 인벤토리와의 연동과 사용에서 나왔다BaseItem 추상클래스를 두고 DamageItem 등등 을 자식클래스로 사용을 했는데 BaseItem에는 데이터와 구현부가 둘다 있어서 혼합된 상태였다. 튜터님도 이상황을 알고 여러 조언을 해주셨고 팀원분과 상의끝에 BaseItem의 데이터를 뺀상태로 구현하기로 하고 수정을 했다. 아이템을 만들때 구현하는 부분과 데이터 부분을 나누는것이 좋다고 조언을 해주셨다. 이렇게 하는게 객체지향적이라고 하셨다.그리고 깃허브브런치를 옮길때 실수로 main으로 가서 모든 ..

개발 TIL 2025.04.22

내일배움캠프TIL 62일차 트러블 슈팅

아이템 제작중 데이터를 불러오는 방법에서 에러가 났다.문제는 BaseItem을 MonoBehaviour를 사용하지 않았는데 사용함으로써 리소스 매니저 부분에 new로 선언했었던 부분에서 문제가 생겼다.시도1. 처음부터 너무 막막해서 튜터님을 찾아감결과 : 아이템의 실제 구현부와 데이터부의 구분이 필요함, 섞여있어서 문제가 생김, 리소스 매니저 부분을 수정해야함시도 2. 계속해서 생각하고 팀원들과 상의 끝에 구현부 부분을 내버려 두고 데이터 변경하는 부분에서 변화를 줌 결과 : 작동은 하지만 오브젝트를 생성하고 그 오브젝트의 프리팹의 스크립트를 참조하는 방법에서 문제가 생김문제 : 참조를 하기때문에 드랍아이템이 여러개 있을 경우 모두 똑같은 아이템이 되어버림 아직 해결은 못했지만 찾아보고 안되면 튜터님을 ..

개발 TIL 2025.04.21

내일배움캠프TIL 61일차 트러블슈팅

아이템 관련 테스트 중NullReferenceException: Object reference not set to an instance of an object TESTESTSETS.Start () (at Assets/02_Scripts/Item/Projectile/TESTESTSETS.cs:15)문제 발생했다. 확인해보니 딕셔너리에서 가져오는 값이 문제였다.시도1. 원래는 밸류값으로 키값을 가져올수 있는줄 알고 그냥사용결과 : 오류 발생시도2. ContainsKey를 사용결과 : 포함되어있는지는 알수 있지만 밸류값을 얻을수 없어서 포기시도3. TryGetValue를 사용결과 : 포함되어있는지도 알수 있고 밸류값도 얻을수 있어서 정상적으로 불러오는 것을 성공했다. 그리고 다시 문제가 발생했는데 파일을 불러..

개발 TIL 2025.04.18

내일배움캠프TIL 60일차 정리

1. 아이템 거리에따른 이동과 범위 구현에 투자했다.2. 아이템 이동에 대한 생각을 아래와 같이 정리했음 던진다 생성한다 생성위치랑 타겟 위치 거리 체크 타겟 위치가 최대사거리 위치보다 길면 던지기 x던지면 그 위치 포함 범위 위치들 확인 후 몬스터 및 플레이어 리스트 확인 use에 넘겨줌사용을 하면 데이터를 불러와서 사거리 및 범위 계산 후 아이템을 보내고 아이템이 해당 위치에 도착하면 useItem 하고 사라진다? 그리고 하다보니 뭔가 머리속으로 꼬이는 느낌이 들기 시작함그래서 튜터님에게 가서 조언을 얻어서 이동하는 로직부터 작성시작함 아이템을 누르고 마우스으로 클릭했을때 아이템의 사정거리보다 크다면 사정거리만큼만 던진다 아이템의 사정거리 안이라면 목표위치에 던진다.그리고 던질때 사정거리 안에 몬스터..

개발 TIL 2025.04.17