목록공부 (292)
응애맘마조
주의 : 해당 게시물에서 작성될 내용은 과제를 해결하기 위해 출처의 내용을 그대로 작성한 부분이 많으며 일절 광고나 수익 창출 목적으로 쓰인 것이 아님을 밝힙니다. 단위행렬(Unit Matrix) 항등행렬(Identity Matrix)라고도 하며 행과 열의 수가 같은(n × n) 행렬이고 주대각선의 원소가 모두 1이고 나머지는 0인 정사각 행렬입니다. 여기서 주대각선은 선행대각선이라고도 할 수 있으며 왼쪽 위에서 오른쪽 아래로 내려가는 원소들을 주대각선이라고 하며 반대로 오른쪽 위에서 왼쪽 아래로 내려가는 원소들은 반대각선이라고 합니다. 예를 들어 3 × 3 행렬이라고 하면 1 0 0 0 1 0 0 0 1 이렇게 표현할 수 있습니다. 영행렬(Zero Matrix) (Null Matirx)라고도 하며 모든..
어제 말했던 대로 오늘은 델타를 했습니다. 델타는 변화량이라고 합니다. 하지만 강의에서 쓰게 될 델타는 초당 변화량입니다. 프로그램 실행에서 사용되는 프레임워크에는 주기라는 것이 있습니다. 여기서 주기는 반복되는 구간을 말합니다. 사용하는 SetTimer에서 밀리초 단위에 따라 움직이는 정도가 달라집니다. 여기서부터 FPS와 관련이 되어 있습니다. 하지만 프레임 단위로 움직이게 되면 문제가 발생할 수도 있습니다. 게임이라면 실행 자체에 문제는 없지만 객체가 모두 제각각 움직이게 될 수도 있어서 플레이 환경에 문제를 발생시킬 수도 있습니다. 게임을 만들 때에는 밀리초 단위를 사용하지 않고 마이크로세컨드를 사용합니다. 초당 이동하는 양이 달라지면 안 되고 객체마다 제각각 움직이는 양이 달라지면 안 되기 때문..
어제는 오늘 GetAsyncKeyState에 대해서 한다고 했었습니다. 코드가 변경되면서 더 이상 사용하지 않습니다. 왜냐하면 GetAsyncKeyState 함수는 키보드를 눌렀을 때, 누르고 있는 중, 누르던 키에서 손을 떼냈을 때가 없습니다. 그래서 더 이상 사용하지 않고 삭제가 되었으며 중요하지 않습니다. 또한 키보드 입력이라는 것도 한 가지 객체만 있기 때문에 싱글톤을 상속받습니다. 오늘은 싱글톤 패턴과 키보드 입력에 대해서 배웠었습니다. 싱글톤 패턴은 생성자가 여러 차례 호출되더라도 실제로 생성되는 객체는 하나이고 최초 생성 이후에 호출된 생성자는 최초의 생성자가 생성한 객체를 리턴합니다. 이 패턴에는 static이 사용됩니다. 여기서 static이라는 것은 한 번만 할당되고 선언이나 정의 그리..
주의 : 해당 게시물에서 작성될 내용은 과제를 해결하기 위해 출처의 내용을 그대로 작성한 부분이 많으며 일절 광고나 수익 창출 목적으로 쓰인 것이 아님을 밝힙니다. 비트 연산자(Bitwise Operator) 비트 연산자는 비트 단위로 논리 연산을 할 때 사용하는 연산자입니다. 비트 연산자 의미 & AND 연산 : 대응되는 비트가 모두 1이면 1을 반환 | OR 연산 : 대응되는 비트 중에서 하나라도 1이면 1을 반환 ^ XOR 연산 : 대응되는 비트가 서로 다르면 1을 반환 ~ NOT 연산 : 비트가 1이면 0으로, 0이면 1로 반환 비트 연산자의 결과 값은 다음과 같습니다. 결과 값(AND) | 결과 값(OR) | 결과 값(XOR) | 결과 값(NOT) 0 & 0 = 0 | 0 | 0 = 0 | 0 ..
이제부터 구조가 조금씩 바뀌게 됩니다. 엄청나게 크게 바뀌는 건 아니고 여태까지는 메인cpp 파일 안에 코드를 작성하고 실행을 시켰었는데 파일 하나 안에 여러 가지를 실행하게 되면 코드가 지나치게 길어질뿐더러 C++의 객체 지향에 맞지 않기 때문에 각각에 맞는 실행 내용대로 옮기게 되었습니다. 이 작업은 수요일까지 하게 될 예정입니다. System이라는 필터를 새로 만들고 Type.h와 Type.cpp를 추가하였습니다. 안에는 Scene이라는 클래스를 만들었습니다. Scene은 사전적으로 '장면'이라는 뜻을 가지고 있습니다. 이는 게임에서 표현하자면 Map(마을 맵, 던전 맵, 보스 맵 등등)의 개념을 가지고 있습니다. 그렇게 어떤 맵에서 다른 맵으로 이동을 하는 것을 Scene의 전환이라고 합니다. 이..