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

[Unity/TIL] 장애물과 배경 반복 생성되게 하기

장애물과 배경 반복 생성되게 하기편하게 하기 위해 충돌 처리할건데, 그러기 위해 충돌체가 계속 따라오게 할거임.근데 지금 플레이어를 계속 따라오는게 MainCamera니까 카메라 하위에 체크용 충돌체 하나 놓을거임! => BgLooper 라는 빈 오브젝트를 MainCamera에 달아줌BgLooper가 닿으면 닿은 애가 저~~ 뒤에 생기게 하면 된다."닿았냐"의 처리는 물리적 충돌이 필요한 것이 아니니까 Trigger 충돌로 확인할 것이다.Obstacle과 background 들에는 Box Collider 달아주고 IsTrigger 체크 해야 함.BgLooper에 달아주는 스크립트CompareTag로 background 트리거 처리, GetComponent로 Obstacle이 달려있는지 확인으로 장애물 트..

[Unity/TIL] 유니티 개발 입문 (이미지 여러 개 있는 리소스 편집법, 라이프사이클, Rigidbody, GetComponent, Collision)

Sheet에 이미지 여러 개 있는 리소스 편집해서 사용하는 방법Sprite Mode : MultipleFilter Mode : Point (픽셀 그대로 유지)Apply 누르고 Sprite EditorSprite Editor 에서 슬라이스 후 ApplyFilter Mode의 Bilinear : 픽셀 사이를 부드럽게 보간, Trilinear : Bilinear + Mipmap 블렌딩 이라고 함 Unity 라이프사이클Unity에서 라이프사이클(Lifecycle)은 게임 오브젝트와 스크립트가 실행되는 순서를 정의한다.여기 짱 잘써져 있음! https://docs.unity3d.com/kr/2019.4/Manual/ExecutionOrder.html 이벤트 함수의 실행 순서 - Unity 매뉴얼Unity 스크립트..

[C#/TIL] TextRPG 팀 프로젝트 마무리

📝 팀 프로젝트를 마무리하며팀 프로젝트를 하면서 배워가는 것들이 정말 많았는데, 오늘은 다음 팀 프로젝트 때 참고할 수 있는 플젝 진행 방식과 관련된 좋았던 점과 아쉬웠던 점을 정리해보겠다.  우리팀 깃허브 https://github.com/yndoo/Dun9eonAndFi9ht GitHub - yndoo/Dun9eonAndFi9htContribute to yndoo/Dun9eonAndFi9ht development by creating an account on GitHub.github.com좋았던 점 1. 자세한 개발 계획(특히 클래스 설계)지난 프로젝트때마다 개발 계획 단계가 너무 중요하다고 느껴서 이번에 팀장을 맡게된 김에 팀원분들께 계획을 상세하게 짜고 시작하고 싶다고 말씀드렸다. 모두가 동의해..

[C#/TIL] TextRPG 팀 프로젝트 일지

오늘 한 것아이템 & 인벤토리 구현개인 프로젝트 때 Item과 관련된 Inventory의 구조가 가장 아쉬움이 남아서 해설 강의와 다른 분들의 코드를 보고 배운 것들을 토대로 다시 도전해보고 싶어 팀원분들께 어필(?)해서 도전하게 되었다!Item을 클래스로 만들고 InventoryManager 에서 관리하였다. 그리고 InventoryScene에서는 Item의 출력 함수와 InventoryManager의 Equip, UnEquip 기능을 활용해서 Scene에서의 코드가 더러워지지 않게(?) 제작했다. 이번에는 나름 깔끔하게 만들어진 것 같다! 😆장비 장착 -> 장착 해제 -> 재장착 시 플레이어 능력치 음수되는 현상 수정UnEquip할 때 EquipSlot을 비워줘야 하는데 비워주지 않아 같은 아이템을..

[C#/TIL] TextRPG 팀 프로젝트 일지

[던전 9조대] 팀 오늘 한 일마무리 작업 확인 후 dev 브랜치 main으로 첫 배포.간단한 테스트 후 main에 올린채로 버그 수정과 도전 기능 추가 작업을 역할 분장하여 동시에 시작하기로 했다.2차 역할 분담전에 정리해둔 도전 기능 리스트를 기반으로 클래스 별도 추가 없이 만들 수 있는 기능 위주로 묶어 역할을 나눴다. 나는 마지막으로 남은 역할을 받아 진행하였다. 시작화면에서 캐릭터 이름, 직업 입력받기플레이어가 새로 시작하거나 체력이 0이 되어 태초마을로 돌아온 경우 이름과 직업을 입력하고 다시 시작하도록 추가했다.이름이 없으면 새로 생성한 것이고, 체력이 0이면 태초마을로 돌아온 경우로 판단하였다. NewGame() 함수에서는 플레이어의 이름을 입력받고 저장, 직업을 선택하고 직업에 맞는 초기..

[C#/TIL] TextRPG 팀 프로젝트 일지

팀 프로젝트 시작이번에는 팀장으로서 팀 프로젝트에 임하게 되었다. 코딩 실력과 무관하게 협업 경험이 있는편이기 때문에 팀장을 맡게 되었다. C#을 능숙하게 사용해오신 팀원분들도 있는데 팀장이 이제 막 배운 입장이라 부끄럽지만, 우리 팀이 뭘 해야할지를 생각하는 데에 있어서는 도움이 될 수 있을 것 같다. 자잘하게 선택과 결단이 필요한 일들에는 팀장의 결정을 따르고 있지만, 사실상 매번 활발한 의견 공유 후에 다수결의 원칙으로 결정되고 있다. 본격적인 시작에 앞서 주어진 과제에 필수로 구현해야 할 기능들을 훑어보는 의미로 실행 흐름을 다같이 figma 를 사용해서 그려보았다. Class 구조 계획 회의이전 팀 프로젝트와 개인 프로젝트에서 초기 계획과 구조 계획의 중요성을 꽤 많이 느꼈다. 그래서 Class..

[C#/TIL] Git 브랜치 활용법, 깃 컨벤션, 문자열 처리 기능 추가

Git 브랜치브랜치 짤 때 크게 master(main), develop, feature 브랜치들, release, hotfix 로 나누면 충분할 것 같다. 아래 그림에서 전체적인 흐름의 예시를 볼 수 있다.개발은 master에서 직접하지 않고 develop 브랜치로 받아서 한다. 그 중에서도 기능 브랜치를 나누는 것이 좋고, 작업한 사람이 누구인지까지 알 수 있는 것이 편하다. ex ) 작업자이니셜_기능이름, YD_UI, WG_Character, ... 기능 브랜치별로 나눠서 작업하다가 사용자가 버그가 발생했다고 하면 어디서 수정해야할까?-> 배포된 버전에서 버그가 있는 것이기 때문에 master에 버그가 있는 것임, 그래서 master에서 hotfix로 뻗어서 수정해주면 되는 것이다. 버그가 수정된 것..

공부 기록/C# 2025.02.06

[C#] Delegate, Lambda, Func와 Action, LINQ

목차델리게이트 (Delegate)   ㄴ 이벤트 (Event)람다 (Lambda)Func와 ActionLINQ (Langauge Integrated Query) 델리게이트 (Delegate)키워드 : delegate 다른 언어에서의 함수 포인터 개념으로 생각하면 된다.  하나의 델리게이트에 메서드를 여러 개 등록할 수 있다.예제delegate void MyDelegate(string message);static void Method1(string message){ Console.WriteLine("Method1: " + message);}static void Method2(string message){ Console.WriteLine("Method2: " + message);}static vo..

공부 기록/C# 2025.02.05

[C#/TIL] TextRPG 개인 과제 마무리

TextRPG 기능필수 기능은 모두 마치고 도전 기능을 남은 시간 동안 최대한 추가했다.// 필수 기능// 도전 기능// 구현 못한 것- 게임 시작 화면- 상태보기- 인벤토리- 인벤토리 - 장착 관리- 상점- 아이템 구매- 아이템 정보를 배열로 관리- 나만의 아이템 추가(무기아이템추가, 최대체력증가 아이템 추가)- 휴식기능 추가 - 레벨업 기능 추가 (경험치 존재)- 던전입장 기능 추가- 장착 개선 - 판매하기 기능- 게임 저장하기 추가 아쉬운 점1. 프로젝트 시작하기 전에 구조를 좀 계획하고 시작하고 싶었는데 거의 못함. 그리고 아주 조금 짜놨는데 지켜지지도 않았음. 이번에는 시간도 촉박했기 때문에 더 레전드다. 글씨도 레전드 (우리 팀원분 중에 이번 주차 첫날부터 구조 계획 짜서 하신 분이 계셔서 굉..

[C#/TIL] TextRPG 개인 과제에서 겪은 것들 (2)

길이가 다른 String 정렬 하기 좋은 함수 : PadLeft, PadRight길이가 뒤죽박죽인 string들을 콘솔에 정렬해서 출력해야 한다. \t 만으로 정렬하기 힘들다. PadLeft, PadRight라는 함수를 알아내서 쉽게 해결할 수 있었다.PadLeft(10) : string의 끝에서부터 왼쪽으로 10글자만큼의 패딩을 넣어줌.PadRight(10) : string의 처음에서부터 오른쪽으로 10글자만큼의 패딩을 넣어줌. C#의 클래스 객체는 무조건 참조형이다.C#에서는 포인터라는 존재가 없다. 그대신 태생에 값형과 참조형이 정해져있어서 오히려 편리하다고 생각했는데, 직접 사용하다 보니 헷갈리는 순간이 있었다.캐릭터의 싱글톤 객체를 여러번 사용하기 위해 변수로 받아놓고 사용했다. 노란 네모 박스..

728x90