c#35 [Unity] 같은 scene 에서 오브젝트 간 생성 순서 정하기 최종 프로젝트 문제해결 일지 #1 문제 1. 유니티 엔진 - Inspector 창에 text가 들어가지 않는 현상 최근 버전의 유니티는 TextMeshPro 사용을 권장하고 있다. 예전에 UI에서 많이 사용한 일반적인 Text 클래스는 사용에 제약이 있다. 따라서 name space에 using TMPro; 를 사용한 뒤 public TextMeshProUGUI 로 변수를 선언하면 Inspector에서 불러올 수 있다. 문제 2. 같은 scene의 Heirarchy에서 특정 오브젝트를 더 늦게 호출시키는 방법 문제상황) SelectScene에서 넘어온 캐릭터 정보 중 stat 3가지를 gamescene에서 canvas 로 띄우는데, 값이 0으로 출력됨. 시도) 스탯에 연결된 스크립트인 spawnedcha.. 2024. 1. 25. [C#] 자료구조의 차이점 / 제네릭 기술면접 대비하기 #4 9. 배열과 List, ArrayList의 차이점은? (1) 배열 고정된 크기의 요소를 저장 크기는 생성 시점에 결정되며 변경이 불가능 인덱스를 사용해 요소에 직접 접근 가능 다차원 배열도 지원 (2) 리스트 동적으로 크기 조정 가능 요소의 추가, 삭제, 수정이 자유로움 인덱스를 사용해 요소에 직접 액세스 가능 제네릭으로 구현되어 타입의 안정성 보장 단점) 내부적으로 배열을 사용하기 때문에 추가, 삭제 시점에 배열을 다시 할당하고 복사하므로 성능 저하 발생 (3) ArrayList 동적으로 크기 조정 가능 요소의 추가, 삭제, 수정이 자유로움 인덱스 사용해 요소에 직접 액세스 가능 박싱, 언박싱으로 인한 성능 저하가 발생할 수 있음 장점) List는 선언한 자료형에 맞춰 데이터를 .. 2024. 1. 24. [C#] 가비지 컬렉션 / 박싱과 언박싱 기술면접 대비하기 #3 7.가비지 컬렉션이란? 가비지 컬렉션이란 프로그래밍 언어에서 동적으로 할당된 메모리를 관리하기 위한 자동화 메모리 관리 기술이다. 이는 메모리 누수를 방지하고 코드 작성의 편의성과 안정성을 향상시키는데 도움을 준다. 대표적인 가비지 컬렉션의 알고리즘은 다음과 같다. 1) Reference Counting 객체가 참조되는 횟수를 계산해 0이 되면 해당 객체를 해제한다. 2) Mark and Sweep 사용 중인 객체를 마킹하고 마크되지 않은 객체를 메모리에서 해제한다. 3) Generational 객체를 세대별로 나누어 객체 생성 초기에는 메모리 회수 빈도를 높이다가 점점 오래될수록 낮추는 방식. 가비지 컬렉션은 가비지 컬렉터를 이용해 메모리를 관리하는 방법이다. 프로그래머가 직접 .. 2024. 1. 23. [C#] 구조체와 클래스 / GC 기술면접 대비하기 #2 4.struct와 class를 비교해서 설명해주세요. Struct와 Class 모두 데이터, 메서드, 프로퍼티 등으로 객체를 정의하는 데 사용한다. Class 는 객체 지향적 프로그래밍을 위해 코드의 다양성, 캡슐화를 지원한다. Struct는 데이터를 그룹화하기 위해 사용한다. 이 때, 구조체는 클래스와 다르게 상속이 불가능하다. 구조적 측면에서의 차이로는, Struct(구조체)는 값 타입이기 때문에 스택에 할당된다. 따라서 구조체가 크면 스택 할당량이 커지므로 주로 간단한 데이터를 작은 규모로 구현할 때 사용한다. Class(클래스)는 참조 타입이기 때문에 힙에 동적으로 할당된다. 따라서 데이터 규모를 확장할 때 용이하다. 또한 클래스의 데이터 (매개변수)는 참조한 다른 객체들에.. 2024. 1. 22. [C#] Coroutine Coroutine (코루틴) 하나의 작업을 다수의 프레임에 분산할 때 사용한다. ex. 텍스트의 색 변환, 인벤토리 창에서 한 칸을 한 프레임마다 보여주고 싶을 때 주로 한 개의 메서드 안에서 특정 값을 재활용해서 오브젝트를 연출하고 싶을 때 사용한다. 함수의 실행을 일시 중지하고 다시 재개하는 방식으로 비동기적인 작업을 수행한다. // 예시코드 1 using UnityEngine; using System.Collections; public class CoroutineExample : MonoBehaviour { IEnumerator Start() { while (true) { Debug.Log("Hello, World!"); yield return new WaitForSeconds(1f); } } } .. 2024. 1. 19. TextRPG - 밸런스 패치 / 팀 프로젝트 발표회 피드백 팀 프로젝트 - Text RPG [스파르타 던전] 개발 이후 1. 밸런스 패치 1) 4층, 5층 던전에서 몬스터가 너무 강력함 => 몬스터의 HP, 공격력과 방어력 모두 너프 => 주어지는 골드 보상도 너프 2) MP 물약의 회복량이 20이고, 스킬2의 소모값이 20이기 때문에 사용감 개선을 위해 전사, 도적, 궁수의 maxMP를 10씩 늘렸다. 궁수의 경우 다른 직업보다 maxMp가 작기 때문에 보상성으로 maxHP를 5 늘렸다. 2. 만렙 이후 기능 구현 팀이 구상한 만렙은 5레벨이고, 현재 최상위 던전은 5층이다. 따라서 5레벨을 달성하고 5층 던전까지 깬 유저는 '그래서 이제 뭐 함?'상태가 된다. 5렙 이후의 방향성을 잡기 위해 [인벤토리-강화] 시스템을 추가해서 던전에서 획득한 골드를 이용해 .. 2023. 11. 23. 이전 1 2 3 4 5 6 다음