전체 글120 Visual Studio 메뉴 폰트 크기 조정 얼마전에 Visual Studio 를 세팅하고 메뉴 글자 크기를 키우고 싶은데 어디서 조정하는 건지 몰라 한참 찾은적이 있었습니다. 코드 글자 크기를 키워도 메뉴 크기는 같이 늘어나지 않더라구요. 저에게는 작은 메뉴 크기... 노안이 와서 큰게 좋습니다. ;; 도구 > 옵션 > 글꼴 및 색 > 설정 표시 : 환경 폰트 크기를 키우고나니 속이 편안해졌습니다. 2025. 7. 1. foreach() 순회 중 collection 변경은 예외 발생함 C# 에서 foreach() 문은 리스트나 배열 같은 컬렉션을 순회할 때 자주 사용됩니다.코드가 간결하고 가독성도 좋기 때문에 선호되지만, 한 가지 중요한 제한이 있습니다. foreach() 는 읽기 전용foreach (var pb in listPB){ if (IsCollision(pb, ball)) { // 순회 중 컬렉션 변경 -> 예외 발생!! listPB.Remove(pb); break; }} 겉보기에는 문제가 없어 보이지만, 이 코드는 실행 시 InvalidOperationException 예외를 발생시킵니다.foreach()는 내부적으로 열거자(Enumerator) 를 사용하기 때문에, 순회 중 컬렉션이 변경되면 예외를 던지게 되어 있습니다.. 2025. 6. 29. bool = 조건식 과 삼항 연산자 bool = 조건식예를 들어, 다음과 같은 문장이 있다고 가정해보겠습니다.if (minValue 위 코드는 minValue 가 ballSpeed 보다 작으면 moveBallDown 을 true 로 설정하는 간단한 조건문입니다. 그런데 이 코드는 아래와 같이 더 간단하게 표현할 수 있습니다.bool moveBallDown = minValue bool = 조건식 형태로, 조건문의 결과를 그대로 대입하는 방식입니다.이건 삼항 연산자와는 다른 문법입니다. 삼항 연산자위 코드를 삼항 연산자로 구현해 보면 다음과 같이 됩니다.bool moveBallDown = minValue 이렇게 해도 결과는 같지만, 불필요하게 길고 복잡한 표현입니다.bool = 조건식은 이미 조건의 결과가 true 또는 false이므.. 2025. 6. 29. 호출 순서가 문제가 될 때 : SendMessage 또는 Interface 활용 방법 유니티 강좌 중에 object 의 충돌을 판정하고 tag 를 활용하여 점수가 중복되지 않도록 다루는 방법을 보게 되었습니다. tag 를 이렇게도 활용할 수 있구나하고 예제를 따라해보던 중에 한가지 의문이 들었습니다. 그렇게 시작한 궁금증은 SendMessage() 를 거쳐 Interface 를 활용하는 방법으로까지 코드를 개선하게 되었습니다. 다음은 누군가에게 조금이나마 도움이 되었으면 하는 마음으로 제가 겪은 과정을 시간의 흐름에 따라 쓴 글입니다. 1. Tag 를 이용한 중복 처리 필터링Player 오브젝트Player GameObject 는 Score 스크립트를 컴포넌트로 가지고 있는데 어떤 물체에 부딪혔을 때, 그 물체의 tag 가 "Hit" 가 아니라면 점수를 추가하는 기능입니다. // Pla.. 2025. 6. 27. C# 의 Interface 기초부터 활용까지 C#에서 인터페이스(Interface) 는 클래스가 따라야 할 규칙(계약서)을 정의합니다.이번 편에서는 인터페이스에 대해 자세히 알아보겠습니다. 인터페이스란?인터페이스는 클래스나 구조체가 구현해야 할 기능만 정의하는 “타입” 입니다. public interface IItem{ void Use(); }• 이름 앞에 I 를 붙이는 것이 관례입니다. (IUsable, IDamageable 등)• 함수의 제목만 있고 구현은 없는 것이 특징입니다.• 앞에 public 을 붙이지 않으면 같은 파일 안에서만 보이게 됩니다. ( default 는 internal )• 다른 클래스나 다른 파일에서도 써야 하므로 명시적으로 public 을 붙여주는 것이 가독성 면에서 좋습니다. 상속? 구현?문법적으로는 인.. 2025. 6. 26. C#의 is 와 as 키워드 (#02) 1편에서는 is 와 as 에 대한 기본적인 코드를 가지고 살펴보았습니다. 이번 편에서는 보다 실용적인 예제를 다뤄보겠습니다. 예시 클래스class Enemy{ public virtual void Cry() { Console.WriteLine("Enemy 가 괴성을 지릅니다"); }}class Zombie : Enemy{ public override void Cry() { Console.WriteLine("Zombie : 으어어어..."); }}class Robot : Enemy{ public override void Cry() { Console.WriteLine("Robot: 삐비빅! 시스템 경고!"); } .. 2025. 6. 26. 이전 1 ··· 3 4 5 6 7 8 9 ··· 20 다음