-
[C#] 중첩 클래스
중첩 클래스 - 클래스 안에 선언되어 있는 클래스를 말한다. 선언하는 문법은 매우 간단하다. 클래스 안에 클래스를 선언하는 것이 전부이기 때문이다. 중첩 클래스가 다른 클래스와 다른 점이 있다면, 자신이 소속되어 있는 클래스의 멤버에 자유롭게 접근할 수 있다는 것이다. private 멤버에도 접근 가능하다. 선언 위와 같이 중첩 클래스를 선언하는 문법은 매우 간단하다. 클래스 안에 클래스를 선언하는 것이다. 객체를 생성하거나 객체의 메서드를 호출하는 방법도 보통의 클래스와 다르지 않다. 중첩 클래스에서 자신의 소속 클래스 멤버의 접근하는 예제이다. 중첩 클래스를 이용하는 이유 클래스 외부에 공개하고 싶지 않은 형식을 만들고자 할 때 현재의 클래스의 일부분처럼 표현할 수 있는 클래스를 만들고자 할 때 다른..
2019.05.18
-
[Unity 3D] Physics.OverlapSphere (주변 콜라이더 추출하기)
Physics.OverlapSphere - 중점과 반지름으로 가상의 원을 만들어 추출하려는 반경 이내에 들어와 있는 콜라이더들을 반환하는 함수 함수의 반환 값은 Collider 컴포넌트의 배열로 넘어옵니다. 또한 OverlapSphere 함수는 특정 레이어만 검출할 수도 있어요. 예제 위 예제는 주변 동료 몬스터가 공격당했을 때 같이 공격 태세로 전환하기 위한 코드입니다. 특정 레이어만 검출할 수 있도록 "ENEMY" 레이어를 추가했으며, 레이어는 비트 연산 표기법을 사용해서 10번째 레이어를 의미하는 1
2019.11.02
-
[Unity 3D] Vector3.Distance (가장 가까운 오브젝트 찾기)
Vector3.Distance(Vector3 a, Vector3 b) - a와 b 사이에 거리를 측정해 반환하는 함수 거리를 구하는 방법들 Distance 의외에도 거리를 재는 다른 방법들이 있다. Vector3.Distance 와 magnitude는 정확한 거리 계산을 하고, sqrMagnitude는 단순히 두 오브젝트 간의 거리를 비교할 때 사용한다. sqrMagnitude는 루트 계산을 하지 않기 때문에 Distance와 magnitude 보다 속도가 훨씬 빠르다. 루트 계산을 하지않고 벡터 연산만 한 후 그 벡터의 제곱근의 값만을 반환하기 때문이다. 예제 아래 예제는 Sphere를 기준으로 Sphere와 제일 가까운 큐브를 찾는것이다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1..
2019.05.16
-
이것이 C# 5장 연습문제 풀이
1. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 using System; using static System.Console; namespace Practice2 { class MainApp { public static void Main() { for (int i = 0; i Colored by Color Scripter 3. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 using System; using static System.Console; namespace Practice2 { class MainApp { public static void Main() { int i = 0; while(i Colore..
2019.05.08
-
[PS4 타이틀] 바이오하자드 RE:3 콜렉터즈 언박싱(Collector's edition Korea Unboxing)
2020년 4월 3일 드디어 바이오하자드 RE:3 이 발매되었다. 바로 고민 없이 콜렉터즈 에디션으로 구매했으며 가격은 약 22만 원. 언박싱(Unboxing) 게임 내에 아이템 박스를 형상화한 것으로 박스의 상태는 그렇게 고급지지 못하다. 다른 외국인들이 언박싱한거 보니까 아시아판하고 콜렉터즈 에디션의 차이가 있는 것 같다. 좀 더 박스가 견고하고 약간의 메탈릭 처리가 되어있는 것 같다. 그리고 아웃 케이스 느낌처럼 한 번 더 플라스틱으로 감싸져 있다. 상자를 열면 바로 타이틀과 사운드 트랙이 보인다. 타이틀도 차이점을 보이는데, 다른 콜렉터즈 에디션은 렌티큘러 아웃 케이스가 있는 반면에, 아시아판은 그냥 일반 타이틀이다. 이번에는 '레지스탕스'라는 온라인 생존 멀티 게임이 추가되어있는데, 데드 바이데..
2020.04.04
-
[C#] 인터페이스의 프로퍼티
인터페이스의 프로퍼티 - 인터페이스는 메서드뿐만 아니라 프로퍼티와 인덱서도 가질 수 있다. 프로퍼티나 인덱서를 가진 인터페이스를 상속하는 클래스가 반드시 해당 프로퍼티와 인덱서를 구현해야 하는 것은 당연하며, 인터페이스에 들어가는 프로퍼티는 구현을 갖지 않는다. 선언 위 선언 모습을 보면 알 수 있듯이 인터페이스의 프로퍼티 선언이 클래스의 자동 구현 프로퍼티 선언과 그 모습이 동일하다. 프로퍼티를 가진 인터페이스의 상속 예제 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56..
2019.10.02
-
[C#] 정적 필드와 메소드
static - 사전적으로 '정적'이라는 뜻을 갖고 있다. 움직이지 않는다는 뜻이며, C#에서 static은 메서드나 필드가 클래스의 인스턴스가 아닌 클래스 자체에 소속되도록 지정하는 한정자이다. static 속성, 필드 정적(static) 속성 및 필드는 [클래스명. 필드명]과 같이 사용한다. Non static 필드들은 클래스 인스턴스를 생성할 때마다 메모리에 매번 새로 생성하게 되는 반면, static 필드는 프로그램 실행 후 해당 클래스가 처음으로 사용될 때 한번 초기화되어(프로그램 종료 시 해제) 계속 동일한 메모리를 사용하게 된다. 그렇다면 정적 필드를 만들어서 얻게 되는 이득은 무엇일까? static으로 수식한 필드는 프로그램 전체에 걸쳐 하나밖에 존재하지 않는다. 프로그램 전체에 걸쳐 공유..
2019.05.18
-
[Unity 3D] FixedUpdate (유도탄 만들기)
FixedUpdate - FixedUpdate도 Update와 마찬가지로 프레임마다 보통 여러 번 불리게 된다. 하지만 각각의 호출은 고정된 시간 간격을 기반으로 규칙적으로 표준화되어 일어난다. 가장 흔히 사용하는 경우는 유니티의 물리 기능을 사용할 때다. 시간에 따라 Rigidbody 컴포넌트의 속도나 속성을 업데이트하는 경우 Update보다 FixedUpdate가 더 적합하다. Update는 안 되는 것일까? Update는 프레임 속도에 영향을 받기 때문에 불규칙하게 호출되어서 물리 검사가 제대로 되지 않을 수 가있으며, 또한 과도한 Update 호출을 막기 위하여 FixedUpdate를 사용하는 것이다. Time.deltaTime과 같이 계산해야 할까? FixedUpdate의 움직임을 적용하여 계산..
2019.05.13