TIL(Today I Learned) 썸네일형 리스트형 TIL(Today I Learned) - 80 오늘의 TIL (Today I Learned):1. 스킬 효과와 데이터 갱신 문제스킬의 효과가 강화되었을 때, SkillEffect 객체가 원본 데이터를 그대로 참조하고 있다는 문제를 발견했습니다.TriggerEffect 메서드에서 최신화된 데이터를 반영하지 못하는 현상이 발생했습니다. 이를 해결하려면, 스킬의 상태를 최신화된 값으로 반영하는 로직이 필요하다는 것을 깨달았습니다.2. 스킬 데이터 갱신 및 객체 상태 관리강화된 SkillEffect 데이터를 반영하려면, BaseSkill 클래스 내에서 SkillEffect 객체를 갱신하는 방식을 수정해야 했습니다.이를 위해 SkillEffect의 속성 값들이 정확히 업데이트되도록 하고, 강화된 값이 TriggerEffect와 GetSkillEffect 메서.. 더보기 TIL(Today I Learned) - 79 📅 오늘의 TIL (Today I Learned)1. 비활성화된 게임 오브젝트와 코루틴 문제Unity에서는 비활성화된 게임 오브젝트(SetActive(false))에 속한 스크립트에서 StartCoroutine을 호출할 수 없다.이 문제를 해결하려면 코루틴을 실행하기 전에 게임 오브젝트를 활성화(SetActive(true))해야 한다.이벤트 구독과 게임 오브젝트 상태 관리의 순서가 중요하며, Awake, OnEnable, OnDisable 등 Unity 라이프사이클 메서드를 적절히 사용해야 한다.2. Unity에서 UI 페이드 효과 구현Image 또는 SpriteRenderer의 Color 속성을 조정하여 페이드 인/아웃 효과를 구현할 수 있다.Lerp를 사용해 알파 값을 부드럽게 감소시키며 시각적인 .. 더보기 TIL(Today I Learned) - 78 오늘의 TIL (Today I Learned)Unity에서 스킬의 하이라이트 효과를 구현하는 과정에서 중요한 포인트를 배웠습니다. SetActive() 메서드를 사용하여 하이라이트 효과를 활성화하고 비활성화하는 방식으로, buffDuration 값을 통해 효과의 지속 시간을 정확히 설정해야 한다는 점을 깨달았습니다.핵심 사항:하이라이트 효과 연결: 효과가 적용될 게임 오브젝트를 정확히 연결하고, 이를 SetActive()로 켜고 끄는 방식으로 처리합니다.타이밍 관리: Coroutine을 사용하여 효과의 지속 시간을 관리하고, buffDuration 값에 맞춰 효과가 자동으로 꺼지게 설정했습니다.디버깅: buffDuration 값이 로그에 정확히 출력되는지 확인하며, 불필요한 겹침 없이 효과가 잘 작동하는.. 더보기 TIL(Today I Learned) - 77 Unity 개발 인사이트인벤토리 시스템 최적화인벤토리 슬롯 할당 시 아이템을 새로 생성하는 대신 플레이어 인벤토리에서 직접 가져오도록 개선. 이를 통해 데이터 일관성이 유지되고 다른 시스템과의 연동이 용이해짐.UI 다중 라인 텍스트 조정Unity에서 \n을 사용해 텍스트에 줄바꿈 적용. 텍스트 필드나 UI 요소에 표시되는 문자열의 가독성을 높이는 방법 학습.프레임 속도 제한 문제 해결모바일 빌드에서 30프레임으로 고정되는 문제를 확인하고 Application.targetFrameRate를 사용해 프레임 속도 조정.효과 설명 동적 생성스킬 데이터의 effectDescription을 템플릿으로 활용해 동적 문자열 생성. 플레이스홀더({key})를 실제 값으로 교체하는 로직 구현.숫자가 의도한 대로 표시되지 .. 더보기 TIL(Today I Learned) - 76 1. UIManager를 통한 아이템 강화 레벨 업데이트UIManager를 중간 다리로 활용하여 강화된 아이템의 레벨을 여러 슬롯에 일괄적으로 업데이트하는 방법을 학습함.EquipmentUpgradePopupUI에서 강화 완료 시, UIManager.Instance.UpdateItemEnhancement(currentItem)을 호출하여 UIManager가 모든 슬롯을 순회하며 해당 아이템의 레벨을 업데이트하도록 구현.EquipmentInventorySlot에서는 강화된 레벨을 UI에 표시하도록 메서드(UpdateEnhancedLevel)를 구현.2. 슬롯 간의 아이템 일치 비교각 슬롯에서 아이템을 비교할 때, 아이템의 이름을 기준으로 강화된 아이템을 찾는 방법을 구현.슬롯에 있는 아이템과 강화된 아이템.. 더보기 TIL(Today I Learned) - 75 오늘의 TIL(Today I Learned):1. BigInteger 사용법BigInteger는 매우 큰 숫자를 다룰 수 있는 데이터 타입으로, System.Numerics 네임스페이스에서 제공된다.BigInteger는 기본적인 산술 연산뿐만 아니라, 덧셈, 뺄셈, 곱셈, 나눗셈을 지원한다. 다만, BigInteger는 기본적으로 float나 double처럼 소수점 계산을 하지 않기 때문에, 대체로 정수 기반 계산에 적합하다.2. 패시브 데미지 계산패시브 데미지를 처리할 때는 값을 누적되지 않도록 관리해야 한다. 주기적으로 갱신되는 데미지 계산에서 패시브 데미지는 한 번만 적용되게 해야 한다.예를 들어, rawTotalDamage를 계산할 때 passiveDamage는 한 번만 적용되도록 해야 하며, 여.. 더보기 TIL(Today I Learned) - 74 오늘의 TIL (Today I Learned):C#에서 BigInteger 사용법:BigInteger는 정수 계산에서 매우 큰 값을 다룰 수 있는 데이터 타입입니다. Unity와 같은 게임 엔진에서 BigInteger를 사용하면 매우 큰 수의 처리와 계산이 가능하며, 게임의 경험치나 금액처럼 점차적으로 커지는 수치에 유용하다.BigInteger의 주요 특징은 다른 숫자 타입들과 달리 범위가 제한되지 않아, int나 long보다 훨씬 더 큰 값을 저장하고 계산할 수 있다는 점입니다.마나 회복 기능 구현:마나 회복을 위한 로직은 reduceMana(-50)처럼 음수로 값을 전달하여 마나를 증가시킬 수 있다. 이를 통해 플레이어의 마나를 회복시키는 스킬이나 버프를 구현할 수 있다.ParallaxBackgrou.. 더보기 TIL(Today I Learned) - 73 오늘의 TIL (Today I Learned)1. 넉백 처리와 전투 재개 로직넉백이 끝난 후 전투 재개를 자연스럽게 처리하기 위해 ResumeScroll과 StopScrollingRightAfterDuration 로직을 명확히 분리.넉백 상태 관리: isKnockback와 isBattlePaused 플래그를 적절히 조작하여 전투 재개를 부드럽게 구현.넉백 중에도 전투 흐름을 유지할 수 있도록 상태 전환 로직을 개선.2. 몬스터 처치 후 대기 시간 추가몬스터를 처치한 후 일정 시간(5초) 대기하고 다시 전투를 종료하거나 준비 상태로 돌아가는 코드를 작성.PlayerBattle 클래스에 WaitBeforeResumingBattle 코루틴을 추가하여, 전투 종료와 대기 시간을 분리해서 관리.몬스터 처치와 넉백.. 더보기 이전 1 2 3 4 ··· 10 다음