목록게임프로그래밍 (83)
bdfgdfg
Win32 API 프로그래밍 - 윈도우 운영체제가 제공하는 함수를 이용한 C언어(함수위주)기반의 프로그래밍 wWinMain() : 응용 프로그램 윈도우 생성 (앞에 w는 유니코드) WndProc() : 메시지 처리 윈도우 명칭 WindowProject2 - 타이틀바 파일,도움말 - 메뉴바 밑의 화면부분 - 클라이언트 영역 인스턴스와 핸들 ★ 현재 운영체제는 멀티 태스킹 운영체제. 그렇다면 같은 메모장이란 프로그램의 데이터를 운영체제에서 구분하는 방법은 무엇일까? 바로 인스턴스(instance)와 핸들(handle)을 통해 운영체제가 응용 프로그램을 구분한다. 둘의 실체는 '값'(자료형은 void*)이며 인스턴스와 핸들이라는 응용 프로그램의 구분을 위해 명칭을 붙임. 인스턴스 - 응용 프로그램 아이디 - ..
C/C++의 빌드과정은 총 4단계를 거친다. 1단계 : 전처리(preprocessing) 단계 - 전처리기에 의해 소스코드에서 작성된 #지시구문 #include, #define등을 처리한다. #include의 경우 해당 헤더파일의 내용을 가져다가 붙여넣는등 매크로들을 처리한다. 2단계 : 컴파일(Compile) 단계 - 컴파일이란 번역한다는 의미이다. 여기서 헷갈릴 수 있는게 이 컴파일 단계에서 바로 기계가 해석할 수 있는 기계어로 번역되는게 아니라 저수준 언어인 어셈블리어로 번역이 된다. 3단계 : 어셈블(Assemble) 단계 - 컴파일 단계에서 컴파일러가 소스코드를 어셈블리어로 번역 해주었다. 이 때 어셈블리어를 번역해주는 어셈블러에 의해 다시 번역이되고 이 때 만들어지는게 목적 파일(Object ..
게임에서는 스탯과 같은 수치와 관련된 데이터를 따로 관리하게 된다. 여기서 따로 관리하는 방식은 보통 Json,XML을 사용하게 된다. public class DataManager { public void Init() { } } 데이터를 관리하는 매니저 클래스를 만들어주고, 전체 매니저를 관리하는 클래스에서 생성한뒤. Init함수를 호출해준다. 우선 Json과 XML이 데이터를 관리하는 방식을 보면 위와 같은 방식으로 관리를 하고 있다. Json을 만드는 방법은 간단하다. 위와같이 처음에는 txt로 만들고나서. 확장자명을 json으로 바꾼다. 바꾸고 난후 유니티로 돌아가 json파일을 더블클릭해 열어보면 비쥬얼 스튜디오창에서 열리게 된다. 간단하게 데이터를 표현해보면 { "stats": [ { "leve..
Coroutine 함수의 상태를 저장/복원 가능. 엄청 오래걸리는 작업을 잠시 멈추거나, 원하는 타이밍에 함수를 잠시 멈추고 복원하는 경우에 사용가능하다. return값을 IEnumerator로 하는데 어떠한 타입도 return이 가능하다. 기본적인 사용법 // 인터페이스 IEnumerable을 추가. public class TestCoroutine : MonoBehaviour, IEnumerable { public IEnumerator GetEnumerator() { yield return 1; } } 매우 많은곳에서 응용이 가능하지만, 게임에서 예로들어보면 스킬사용에 대해서도 코루틴을 사용할 수 있다. 스킬하나를 사용하고 대기시간이 4초. 이럴때에도 코루틴을 응용할 수 있다. using System...