목록전체 글 (52)
게임 프로그래밍
C#에서는 확장 메서드(Extension method)라는 기능이 있습니다. 기존에 만들어진 클래스,구조체를 직접 변경하지 않고 기능을 확장해 사용하는 것입니다. 이는 int, float와 같은 데이터타입이나 이미 만들어진 클래스에도 적용이 가능합니다. 확장메세드를 쓰기 위한 몇가지 규칙이 있습니다. 1. 정적 클래스의 멤버로 정의해야한다. 2. 첫번째 매개변수에는 this 키워드가 들어가야한다. 1 2 3 4 5 6 7 8 9 10 11 namespace ExtensionMethods { public static class MyExtensions { public static int WordCount(this String str) { return str.Split(new char[] { ' ', '.',..
json파일이란? JSON (JavaScript Object Notation) JavaScript Object Notation라는 의미의 축약어로 데이터를 저장하거나 전송할 때 많이 사용되는 경량의 DATA 교환 형식 Javascript에서 객체를 만들 때 사용하는 표현식을 의미한다. JSON 표현식은 사람과 기계 모두 이해하기 쉬우며 용량이 작아서, 최근에는 JSON이 XML을 대체해서 데이터 전송 등에 많이 사용한다. JSON은 데이터 포맷일 뿐이며 어떠한 통신 방법도, 프로그래밍 문법도 아닌 단순히 데이터를 표시하는 표현 방법일 뿐이다. JSON 특징 서버와 클라이언트 간의 교류에서 일반적으로 많이 사용된다. 자바스크립트 객체 표기법과 아주 유사하다. 자바스크립트를 이용하여 JSON 형식의 문서를 ..

1 2 3 4 5 public void SetTimeScale(float time) { Time.timeScale = time; Time.fixedDeltaTime = 0.02f * time; } Colored by Color Scripter cs 유니티에서 간단하게 슬로우모션을 할수 있게 만들수 있다. FixedUpdate같은경우에는 1초에 50번씩 고정으로 호출되기 때문에 Time.fixedDeltaTime에 1/50 = 0.02를 곱해주면 더 자연스럽게 된다. 참고로 슬로우모션에 영향을 받고 싶지 않다면 Time 객체중에서 Unscaledtime이라는 것을 쓰면 된다. 코루틴 안에서도 슬로우모션에 영향을 받고 싶지 않다면 RealTime이라는 것이 있을것이다. 그외에도 파티클이나 애니메이션 옵션중에..
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 private void setTrajectoryPoints(Vector3 pStartPosition, Vector3 pVelocity) // 시작 위치, addForce에 들어는 { float velocity = Mathf.Sqrt((pVelocity.x * pVelocity.x) + (pVelocity.y * pVelocity.y)); // 속도 구하기 float angle = Mathf.Rad2Deg * (Mathf.Atan2(pVelocity.y, pVelocity.x)); // 각도 구하기 float fTime = 0; int tragectoryNum = 10; // 궤도 개수 fTime += 0.1f; for (in..
c# 에서는 Enum값에 요소를 반복해서 쓸수 있다. ex) foreach (GUNKIND kind in Enum.GetValues(typeof(GUNKIND))) { Debug.log(kind); } 이렇게 Enum.GetValues를 통해서 각각 요소를 접근할수 있다.

마지막으로 글을 올린게 한달전이것 같다. 맨날 제작일지를 쓸때마다 말하지만 올리는 텀을 조금 짧게 해야할것같다.. 이번에 맥북으로 바꾸면서 GIF캡쳐를 하기가 힘들어서 미뤄진것도 있다. 이제 캡쳐방법을 알았으니 다시 제작일지도 열심히 올려야지 사실 한달이라는 기간이라서 바뀐점이 너무 많다. 그냥 간단하게만 소개하는게 좋을것 같다.
c#에서는 as 와 is 라는 키워드가 있다. 둘다 형변환(캐스팅)과 관련된 키워드라고 생각 하면 쉽다. 우선 as 에 대해서 알아보자. 보통 다른 언어에서 형변환을 할때 (type)value 이러한 형태를 자주 썻을것이다. as는 이러한 기능과 똑같이 작동한다. 그러나 한가지 다른 점은 as는 형변환을 할수 없는 상태면 컴파일 오류가 나게 된다. 그러므로 as를 쓰는것이 좀 더 좋을것이다. 다음 is에 대해서 알아보자. as에 경우에는 형변환된 결과를 리턴시킨다. 그러나 is에 경우에는 형변환이 가능한지 불가능한지에 대해 리턴을 한다. 가능하다면 true, 불가능하다면 false인것이다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 2..
1. params란? 간단하게 매개변수의 개수 제한 없이 만드는 거라고 생각하면 된다. 2. 조건 params 키워드를 사용하면 가변 개수의 인수를 사용하는 메서드 매개 변수를 지정할 수 있습니다. 매개 변수 선언이나 지정된 형식의 인수 배열에 지정된 형식의 쉼표로 구분된 인수 목록을 보낼 수 있습니다. 인수를 보내지 않을 수도 있습니다. 인수를 보내지 않는 경우 params 목록의 길이는 0입니다. 메서드 선언에서 params 키워드 뒤에는 추가 매개 변수가 허용되지 않으며, params 키워드 하나만 메서드 선언에 사용할 수 있습니다. params 매개 변수의 선언된 형식은 다음 예제와 같이 1차원 배열이어야 합니다. 그렇지 않으면 컴파일러 오류 CS0225가 발생합니다. 3. 사용 예제 1 2 3 ..