유니티
-
[TIL] 7주차 5일 개인과제 회고개발일지/스파르타 코딩클럽 부트캠프 2024. 5. 31. 20:26
회고개인과제를 마치고 튜터님께 피드백 받은 내용을 토대로 회고 커밋 컨벤션 지키기 혼자 작업하는 것이어도 커밋 컨벤션을 지켜서 후에 공유하거나 작업 도중에도 가독성과어떤 작업을 했는지 잘 알 수 있게 하면 좋을 거 같다 코루틴 사용 코루틴을 어느정도 잘 활용해서 여러가지 기능을 구현했다고 해주셨다.코루틴은 조금 익숙해졌을거같다고 하셨는데 아직 .. 어렵긴 하지만코루틴을 여러 부분에 사용하면서 배운 점이 많긴하다.앞으로도 알맞은 용도에 잘 사용할 수 있도록 더 공부할 것 객체지향관한 피드백 아이템 부스트 관련 기능을 플레이어 컨디션 스크립트에 함수로 만들었었는데각 아이템이 본인 스크립트에서 코루틴 코드를 작성해두고아이템을 사용하면 이 코루틴을 넘겨서 처리하는 방식을 많이 쓰신다고 알려주셨다. ex) 플레이..
-
[TIL] 7주차 3일 개인과제주차개발일지/스파르타 코딩클럽 부트캠프 2024. 5. 29. 21:05
오늘 발생한 문제value값이 null이 되는 문제 public void OnUseButton(){ if(selectedItem.type == ItemType.Consumable) { for(int i = 0; i여기서 Boost의 value값이 적용이 되지 않는데이유를 모르겠다 인스펙터에서도 아이템데이터에서도 다 적용해줬는데 그냥 개빡침 public void Boost(float value){ controller.moveSpeed += value; StartCoroutine(BoostTime(value, boostTime));}IEnumerator BoostTime(float value, float time){ controller.moveSpeed -= valu..
-
[TIL] 7주차 2일 개인 프로젝트 주차 (Interface, 아이템 상호작용 )개발일지/스파르타 코딩클럽 부트캠프 2024. 5. 28. 20:45
오늘 배운 내용 정리인터페이스 복습 인터페이스에 대해서 조금 더 알아보고 복습하는 시간을 가져보자 인터페이스를 통해서 클래스들은 공통적인 동작을 정의하고, 이러한 동작들을 구현하는클래스들은 해당 인터페이스를 구현함으로써 공통 규약을 준수할 수 있다. 인터페이스를 설명하는 주요 특징은 다음과 같다. 추상화 : 인터페이스는 추상적인 개념으로, 실제로 구현된 메서드가 없고, 메서드의 시그니처만을 가진다. 따라서 인터페이스는 인스턴스화 될 수 없으며, 구현체가 필요하다.메서드 시그니처 : 인터페이스는 구현 클래스가 반드시 구현해야하는 메서드들의 시그니처를 정의한다. 메서드의 이름, 매개변수, 변환 타입이 포함된다.다중 상속 가능 : 클래스..
-
[TIL] 7주차 1일 개인 프로젝트 주차 ( 조명, 카메라 절두체, Coroutine)개발일지/스파르타 코딩클럽 부트캠프 2024. 5. 27. 20:47
오늘 배운 내용 TryGetComponent TryGetComponent는 유니티에서 사용하는 메소드이다. 게임 오브젝트의 컴포넌트를 가져온다.보통 지금까지 GetComponent로 주로 컴포넌트를 가져왔고 이건 사용해본 적이 없는데,두 메소드의 차이점을 알아보자public bool TryGetComponent(out T component) where T : Component; TryGetComponent의 형식은 다음과 같다.T : 가져오려는 컴포넌트의 타입. MonoBehaviour를 상속한 컴포넌트는 모두 사용 가능하다.component : 컴포넌트를 가져올 때 사용되는 out 매개변수 아래는 강의에서 나온 사용법이다.using UnityEngine;public class ExampleScript..
-
[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]; } ..