목록프로그래밍 (44)
게임 프로그래밍
1 2 if not os.path.isdir("path"): os.makedirs("path") cs import os를 하신후 폴더가 만들어져 있는지 확인한다음 os.makedirs를 이용하여 폴더를 만들 수 있습니다. 1 2 3 4 shutil.copy2("원본 경로","대상 경로") shutil.move("원본 경로","대상 경로") cs 파일 복사와 이동에 경우에는 import shutil를 하신후 shutil.copy2, shutil.move를 사용하면 됩니다.
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..