목록C (155)
응애맘마조
어제는 오늘 GetAsyncKeyState에 대해서 한다고 했었습니다. 코드가 변경되면서 더 이상 사용하지 않습니다. 왜냐하면 GetAsyncKeyState 함수는 키보드를 눌렀을 때, 누르고 있는 중, 누르던 키에서 손을 떼냈을 때가 없습니다. 그래서 더 이상 사용하지 않고 삭제가 되었으며 중요하지 않습니다. 또한 키보드 입력이라는 것도 한 가지 객체만 있기 때문에 싱글톤을 상속받습니다. 오늘은 싱글톤 패턴과 키보드 입력에 대해서 배웠었습니다. 싱글톤 패턴은 생성자가 여러 차례 호출되더라도 실제로 생성되는 객체는 하나이고 최초 생성 이후에 호출된 생성자는 최초의 생성자가 생성한 객체를 리턴합니다. 이 패턴에는 static이 사용됩니다. 여기서 static이라는 것은 한 번만 할당되고 선언이나 정의 그리..
이제부터 구조가 조금씩 바뀌게 됩니다. 엄청나게 크게 바뀌는 건 아니고 여태까지는 메인cpp 파일 안에 코드를 작성하고 실행을 시켰었는데 파일 하나 안에 여러 가지를 실행하게 되면 코드가 지나치게 길어질뿐더러 C++의 객체 지향에 맞지 않기 때문에 각각에 맞는 실행 내용대로 옮기게 되었습니다. 이 작업은 수요일까지 하게 될 예정입니다. System이라는 필터를 새로 만들고 Type.h와 Type.cpp를 추가하였습니다. 안에는 Scene이라는 클래스를 만들었습니다. Scene은 사전적으로 '장면'이라는 뜻을 가지고 있습니다. 이는 게임에서 표현하자면 Map(마을 맵, 던전 맵, 보스 맵 등등)의 개념을 가지고 있습니다. 그렇게 어떤 맵에서 다른 맵으로 이동을 하는 것을 Scene의 전환이라고 합니다. 이..
이틀 전 12월 7일에 적었던 0.0174532라는 숫자의 정체는 호도법에 관련된 숫자였습니다. 오늘은 호도법에 대해 강의를 들었습니다. 우리가 사회에서 그리고 일상생활에서 사용하는 각도는 디그리(degree) 각도입니다. 하지만 전에 과제 내용에 적었듯이 프로그래밍할 때는 라디안(radian)을 사용한다고 했었습니다. 그때 사용하는 방법이 호도법입니다. 호도법은 호의 길이로 각도를 나타내는 방법입니다. 밑변과 호의 길이가 같으면 1rad(1라디안)라고 합니다. 라디안은 길이와는 상관없이 비율만 같으면 똑같은 값이 나옵니다. 이 공식을 이용하면 구할 수 있는 각도가 있습니다. 360° = 2πrad입니다. (원의 둘레입니다.) 1° = π / 180rad입니다. 이 값이 0.0174532입니다. (원래는..
어제 말했듯이 오늘은 삼각비와 삼각함수. 그리고 회전에 대해서 해 보았습니다. ※강의를 듣는 지금부터 밑변은 a, 높이는 b, 빗변은 c라고 하겠습니다. 강사님도 그렇게 하신다고 하셨습니다. 직각삼각형을 다루는 모든 법을 삼각법이라고 합니다. 물론 여기에는 삼각비와 삼각함수도 포함되어 있습니다. 피타고라스의 정리를 떠올리기 쉬운데 이는 a^2 + b^2 = c^2로 표현할 수 있습니다. (^가 뭔지는 따로 설명하지 않겠습니다. 다들 아실 거라고 밑겠습니다.) 먼저 삼각비에서는 배수의 차이를 말합니다. 그리고 이것은 비율이라고 할 수 있습니다. 삼각비의 비율은 대표적으로 1 : 1 : √2 3 : 4 : 5 5 : 12 : 13 이러한 비율들이 있습니다. 결론적으로 직각삼각형에 있는 변들의 비율이라고 할 ..
※ 3D에서는 X, Y, Z값을 사용하지만 2D에서는 Z값이 없지만 DirectX 사용 시 2D에서도 Z값을 사용하기 때문에 2D로 개발을 하기 위해서는 Z값을 0으로 두고 하게 됩니다. 강사님이 바뀌고 제대로 수업이 들어갔습니다. DirectX에 들어가기 앞서 다시 API로 돌아갔습니다. API는 스크린 좌표로써 X값은 왼쪽으로 갈수록 커지고 Y값은 아래로 내려갈수록 커집니다. 먼저 선을 그리고 필요한 사람은 사각형이나 원을 그려서 위치를 이동하고 상하좌우로 늘리는 작업을 했었습니다. 작업을 하기 위해서는 WM_PAINT 함수 안에 그리면 됩니다. 직접적으로 코드 내용은 들어가지 않지만 오늘 했던 강의의 핵심은 Transform(변환) 이었습니다. 작업 내용 깃허브 : https://github.com..