분류 전체보기
-
[TIL] 6주차 5일 유니티 숙련주차 시작, 개인 프로젝트 ( RayCast, SkyBox, ForceMode)개발일지/스파르타 코딩클럽 부트캠프 2024. 5. 24. 21:22
오늘 한 것Transform과 변수 특강유니티 숙련주차 개인공부스카이박스RayCastInput System의 SendMessage와 InvokeEvent오늘 발생한 문제 RayCast를 하자 점프가 안되던 문제 public void OnJump(InputAction.CallbackContext context) { if(context.phase == InputActionPhase.Started && IsGrounded()) { Debug.Log("2"); _rigidbody.AddForce(Vector2.up * jumpPower, ForceMode.Impulse); } } bool IsGrou..
-
[TIL] 6주차 4일 팀 프로젝트 끝, 객체 지향 특강 ( SOLID 원칙 )개발일지/스파르타 코딩클럽 부트캠프 2024. 5. 23. 21:16
오늘 한 것팀 프로젝트 마무리팀 프로젝트 발표객체지향 특강오늘 배운 것객체지향 특강 중요한 것 일단 객체지향에서 가장 중요한 것은의존도(결합도)를 낮추고 응집도를 높여야한다 그걸 위해서 오늘 배운 건 SOLID 원칙 SOLID 원칙이란? Single Responsibility Principle 단일책임원칙Open Closed PrinCiple 개방폐쇄원칙Liskov Substitution 리스포크 치환원칙Interface Segregation Principle 인터페이스 분리 원칙Dependency Inversion PrinCiple 의존 역전 원칙 이렇게 다섯가지의 앞 글자를 따서 (어거지로) 만든 원칙인데 각 원칙들을 가볍게 살펴보자 Single Responsibility Principle 단일책임..
-
[TIL] 6주차 3일 팀 프로젝트 마무리 단계, 랭킹 시스템개발일지/스파르타 코딩클럽 부트캠프 2024. 5. 22. 21:28
오늘 한 것팀 프로젝트 마무리 진행랭킹 시스템 구현PPT 제작오늘 발생한 문제며칠 째 붙들고 있던 랭킹시스템을 오늘 드디어 완성했다..(튜터님의 도움을 받아..) 지금까지 있던 문제는 일단 Playerprefs 내에 이상한 데이터가 많이 쌓였었고,랭킹 시스템의 랭킹을 정하는 로직 자체에 문제가 좀 있었다. 이번에 수정한 로직은for (int i = 0; i bestScores[i]) { // 새로운 점수가 기존 점수보다 높을 경우 삽입 for (int j = 4; j > i; j--) { bestScores[j] = bestScores[j - 1]; bestName[j] = bestName[j - 1]; } ..
-
[TIL] 6주차 2일 팀 프로젝트 여전히 진행중개발일지/스파르타 코딩클럽 부트캠프 2024. 5. 21. 20:48
오늘 한 것팀 프로젝트개인 공부코딩 퀴즈분반별 과제분반별 특강오늘 있던 문제와 해결랭킹시스템 어..일단 결론부터 말하자면 아직 해결 못했다. 내가 어디부터 어디까지잘못 만든건지는 모르겠는데 이제는 보기만해도 멘탈이 나갈거같다........어제보다 개선은 됐으나 고질적인 결정적인 문제가 해결이 되지 않았다. private void RankingSet(float currentScore, string currentName) { for (int i = 0; i bestScores[i]) { // 점수와 이름을 스왑 float tempScore = bestScores[i]; string t..
-
[TIL] 6주차 1일 팀 프로젝트 진행중 랭킹 시스템 구현 과정개발일지/스파르타 코딩클럽 부트캠프 2024. 5. 20. 20:37
오늘 한 것분반별 과제팀 프로젝트 회의유니티의 다양한 활용 특강팀 프로젝트 진행 오늘 발생한 문제아 일단 멘탈이.. 랭킹 시스템을 만드는 도중 문제가 너무 많이 발생하고고치고고치고 또 고치고 고치고.......... 정말 ㅠㅠ// 현재 플레이어의 점수와 이름을 받아서 실행됨private void RankingSet(float currentScore, string currentName){ int j = 0; Debug.Log("123123"); // 현재에 저장하고 시작 PlayerPrefs.SetString(j.ToString() + "BestName", currentName); PlayerPrefs.SetFloat(j.ToString() + "BestScore", curre..
-
[TIL] 5주차 5일 팀 프로젝트 진행중 , Scriptable Object개발일지/스파르타 코딩클럽 부트캠프 2024. 5. 17. 21:08
오늘 한 것스크립터블 오브젝트 (Scriptable Object)비트 연산자쿼터니언과 벡터의 곱셈Layer팀 프로젝트오늘 배운 내용 정리스크립터블 오브젝트 (Scriptable Object) 먼저 스크립터블 오브젝트란? Unity에서 데이터를 저장하고 관리하는 유연한 데이터 컨테이너이다.게임에서 재사용 가능한 데이터 또는 설정을 저장하는 데 사용되고코드와 데이터를 분리해서 코드를 더 깔끔하고 관리하게 쉽게 만든다.하나의 스크립터블 오브젝트를 여러 게임 오브젝트에서 참조하거나 재사용할 수 있으며,Unity 에디터와 통합되어 인스펙터 창에서 직접 수정하고 관리할 수 있다. 한 마디로 데이터를 관리하기 좋은 데이터 컨테이너이다.강의에서도 Scripts 폴더가 아니라 따로 폴더를 만들어서 관리를 했는데일반적인 ..
-
[TIL] 5주차 4일 팀 프로젝트 시작, 객체지향 특강 , C# 문법 복습개발일지/스파르타 코딩클럽 부트캠프 2024. 5. 16. 21:08
오늘 한 것분반별 과제팀 프로젝트 발제팀 프로젝트 회의C# 문법 복습 튜터링객체지향 특강팀 프로젝트 진행C# 문법 복습 튜터링클래스 클래느는 서로 다른 복합체를 하나로 묶어주는 것이다.데이터를 묶기위해서 사용하는데상속은 왜 사용하는가? 상속은 공통된 부분을 정의하고 공통된 기능을 정의해서 기능들을 빼서코드의 양도 줄이고 관리의 편의성도 늘리기 위해서 사용한다.그럼 여기서 상속을 받았는데 상속받은 것을 약간 수정해서 사용하는건override라고 한다. 여기서 virtual 가상 클래스는 override가 가능하다고 알려주는 것이다. 그리고 추상클래스는 키워드는 abbstract인데추상클래스는 본인은 함수를 정의하지 않고 자식에게 완성하도록 강제한다. 인터페이스와 추상클래스의 차이를 간단하게 보자면추상클래스..
-
[TIL] 5주차 2일 Prefab, Instantiate, Enum개발일지/스파르타 코딩클럽 부트캠프 2024. 5. 14. 20:47
오늘 배운 내용프리팹 (Prefab) 어 프리팹 개념은 예전부터 알고 있었지만 정확한 개념과 장점 등을 복습했다.프리팹은 Unity 게임 엔진에서 사용되는 게임 오브젝트를 재사용 가능하고 관리하기 쉽게 만들기 위한 템플릿, 프리셋프리팹을 사용하면 게임 오브젝트와 그에 관련된 컴포넌트 및 설정을 미리 정의하고, 여러 장면이나 게임에서 재사용할 수 있다프리팹은 인스턴스화를 통해 실제 게임 오브젝트로 변환될 수 있고, 이 때 모든 프로퍼티와 컴포넌트 설정이 복사된다.프리팹의 변경사항은 모든 인스턴스에 즉시 반영되므로, 일관성을 유지하고 일괄적인 업데이트를 쉽게 할 수 있다.프리팹은 레벨 디자인, 재사용 가능한 게임 요소(캐릭터, 아이템 등)의 생성, 프로토타이핑 등에 주로 사용된다.여러가지가 있지만 아마 프리..