Game!

All (93)

  1. 2015.10.24 [OpenGL] 초기 설정 및 셋팅 1

    OpenGL 설정과 셋팅을 통해 시작해보자!!! 먼저 오픈지엘을 사용하려면 glut.dll, glut32.dll, glut.lib, glut.h ..등의 glut 종류의 라이브러리와 헤더파일 등이 필요합니다 출처:http://neoplanetz.blogspot.kr/2013/07/opengl-httpwww.html 여기서 받으시면 됩니다!! ★ 읽고가세요! ★ 다운받은 파일들을 복사해서 각각의 위치(파일)에 추가 해주어야합니다 운영체제의 bit 종류에 따라, Program File 에 (x86)이 붙은 경로일 수도 있고, 안붙은 경로일 수도 있습니다. (64bit->(86x)) 또한 visual studio의 버전에 따라 각각의 파일을 복사해줘야 하는 위치가 다를 수 있습니다. visual studio가..

  2. 2015.10.16 MultiByteToWideChar 함수의 이해와 사용법

    MultiByteToWideChar 함수가무엇인지 이해하고 사용해보자!   MultiByteToWideChar 함수 이 함수는 ANSI 문자열에서 유니코드로의 변환이 필요할 때 사용합니다 *****ANSI 문자열 : 아마도 아스키코드로 입력된 문자열 => MultiByte유니코드 : 사용중인 플랫폼, 프로그램, 언어에 관계없이 문자마다 고유한 숫자를 제공 => WideChar***** 함수의 원형INT MultiByteToWideChar ( _In_ UINT CodePage, //변환할 O/S의 코드페이지, 주로 CP_ACP를 사용 _In_ DWORD dwFlags, //어떤 char 형태로할 변환할 것인지 _In_ LPCSTR lpMultiByteStr, //유니코드로 변환할 문자열 포인터 _In_ ..

  3. 2015.09.25 [C] 디버깅 중 출력화면에 변수 출력하기

    시간과 같은 변수들은 디버깅할때 유의할 점입니다디버깅시 브레이크를 걸었다 하더라도 시간은 계속 흐르니까요 그래서 시간을 알고 싶을때에는 디버깅 중에 시간을 출력하여 확인할 필요가 있습니다. 디버깅에 시간을 출력하기 위해 필요한 함수 sprintf(_s)OutputDebugStringA sprintf 함수 헤더파일#include 원형int sprintf(char* str, const char* format, .....) 사용법매개변수는 차례대로1. 문자열을 저장할 char*형 변수2. " 문자열 "3. , ... 부분은 문자열에 변수가 들어갈 수 있음 문자열을 저장할 변수는 문자열보다 커야하고문자열 마지막에 NULL 문자를 생각하여 항상 문자열보다 1칸 커야한다 => char buff[100]; sprin..

  4. 2015.09.24 [API] GetAsyncKeyState 함수 정리

    GetAsyncKeyState 함수에 대해 알아보자! GetAsyncKeyState(int vKey) 원형SHORT WINAPI GetAsyncKeyState( _In_ int vKey ); => 마우스, 키보드 둘 다 확인이 가능합니다.vk를 통해 어떤키가 눌러졌는지에 대해 알 수 있는 함수입니다.(vKey 확인::https://msdn.microsoft.com/ko-kr/library/windows/desktop/dd375731(v=vs.85).aspx)최상위 비트는 현재 눌렸는지를 말해주고최하위 비트는 이전에 눌렀던 적이 있는지 말해줍니다.이러한 것들은 리턴값 4개로 확인할 수 있습니다. 리턴값:: 0: 이전에 누른 적이 없고 호출시점에 안 눌린 상태 0x8000: 이전에 누른 적이 없고 호출시점에..

  5. 2015.09.24 [API] 마우스 커서 위치 받아오기 1

    마우스 커서 위치를 받아온 후,클라이언트 화면으로 변환해보자 ::GetCursorPos(LPPOINT lpPoint) 원형BOOL WINAPI GetCursorPos( _Out_ LPPOINT lpPoint ); =>바탕화면의 마우스 커서를 받아옵니다.매개변수는 POINT형 주소값 입니다. ex) POINT mouse;::GetCursorPos(&mouse); //이렇게하면 mosue 변수 안에, 바탕화면의 마우스 커서 위치를 받아옵니다. 그 후에는 내가 만든 게임 클라이언트 창과 호환이 되도록 해야하는데 그다음에 사용하는 함수가 ScreenToClient() 입니다. ::ScreenToClient(HWND hWnd, LLPOINT lpPoint) 원형BOOL ScreenToClient( _In_ HWN..

  6. 2015.09.17 [C++] 메세지 패싱

    메세지 패싱이란 무엇인가  메세지 전달 (message passing) 객체지향 관점에서, 프로그램은 오브젝트에 message를 보내는 것으로 실행   12345678910111213141516#include cstdio> void main(){    Dog* dog1;    dog1 = new Poodle;        dog1.shouting(); //멍멍      Dog* dog2;    dog2 = new Bulldog;        dog2.shouting(); //왈왈    } cs   dog1.shouting();  = 객체 dog1 에 shouting 이라는 메세지를 보낸다실제로는 객체 dog1 의 shouting() 함수 호출 그러니까 dog1 = new Poodle;이거는 실체를 만드는..

  7. 2015.09.11 [C] 2차원 배열 함수의 매개변수로 보내는 방법

    많이 사용하는 2차원 배열을 함수로 보내는 방법 1234567891011121314151617#include void prn(int a[][4], int size); void main(){ int arr[3][4]; prn(arr, sizeof(arr)/sizeof(int));} void prn(int a[][4], int size){ printf("%d \n", a[1][1]);}\cs 3x4 크기의 배열을 arr[3][4] 로 선언하였습니다 13열의 void prn(int a[][4], int size) 이 부분을 보시면 a[][4]로 적혀있습니다 즉, 함수로 이동시킬때에는 2번째 배열크기는 변경하실 수 없습니다앞의 [3] 부분은 변경할 수 있습니다 왜냐하면 arr[3][4] 의 의미는 3개의 배열이..

  8. 2015.09.02 [C++] 싱글톤에 대한 정리

    싱글톤 사용 방법과 싱글톤에 대한 정리 // 싱글톤 사용 방법 class A{private:static A* a;public:static A* Get_Instance(){if(a == NULL)a = new A; //A(); return a;} void func();} ///////////////////////////////////// //클래스 외부 void B::Func(){A* _a = A::Get_Instance(); //원본을 받아옴 _a->func();} 싱글톤은 언제 사용하는가?? 프로그램이 끝나기 전까지 계속 남아있어야할 때 (static) ex) Manager , scene... 장점 : 어디서든 원본을 불러낼 수 있다 만약 상속받는 여러개의 scene에 싱글톤을 사용하면전역변수로 계속 ..

  9. 2015.08.25 [C++] 함수로 주소값 전달하는 방법

    일반적으로 get 함수를 통해 다른 객체 안에 있는 변수의 주소값을 전달해야하는 일이가끔 발생하는데 그때 주소값을 반환하고싶을때에는 반환형* 함수이름(){return &변수명} 이렇게 해주면 됩니다. &변수명을 통해 변수의 주소값이 리턴되고이 주소값은 포인터이므로 반환형이 포인터형인 것으로 이해할 수 있습니다

  10. 2015.08.17 [컴파일에러] LNK2001 에러 없애는 법 (static) 3

    LNK2001 에러 없애는법 !  error LNK2001: "~~~" (? ~ @ ~ @@ ~ ) 외부 기호를 확인할 수 없습니다.error LNK1120: 1개의 확인할 수 없는 외부 참조입니다.  간혹 클래스 내부에 static 변수를 선언했을때 발생하는 오류입니다왜 저런 에러가 뜨냐면, 해당하는 스태틱변수를 찾을 수 없기 때문입니다.  ///////// A.h ////////// class A{private:static int a;public:A();}  //////// A.cpp /////////// A::A(){a = 10;} 이렇게 하면 위의 박스 에러가 뜹니다.  정적변수 static을 사용하였을 때는클래스 내부에 선언을 해주면 정의가 필요한데, 이 정의는 클래스 외부에서 정의가 되어야합니..