실행된 프로세스의 메모리 시작 주소같은 프로그램을 여러 개 켜도 같은 instance 값이 나온다이유: 윈도우가 가상 메모리 시스템 사용각 프로그램 마다 각각의 고유한 영역이 있다고 사용자에게 알려주는 것물리적으로는 프로세스 마다 전혀 다른 곳에 위치 하지만 같은 프로
그리기 작업 수행을 하기 위해 필요한 data 집합HDC가 그리기 작업의 목적지(윈도우),펜의 종류,브러쉬의 종류등을 관리한다.픽셀 하나에 r(1byte),g(1byte),b(1byte)해서 3byte 차지실제 메모리에서의 순서는 B G RDC의 기본 펜-검은색 기본
큐에 메세지가 들어올때 까지 기다리는 특징이 있음. 즉 메세지가 없으면 return을 안함. (WM_QUIT)메세지를 받으면 flase return큐에 있는 메세지를 슬쩍 본다. 큐에 메세지가 있으면 있는대로 없으면 없는대로 return됨PeekMessage는 큐에
객체의 생성을 1개로 제한어디서든 쉽게 접근 가능extern 사용 불가, 객체를 여러 개 만들수 있음생성자를 숨긴다객체를 얻을수 있는 함수를 제공하여 어디서든 접근케 한다그 함수는 객체 하나만 관리한다 (정적 멤버 함수 릴리즈 추가)static 멤버 함수객체가 없어도
프로그램 실행의 기반이 되는 클래스 render와 update를 실행하는 기반 클래스Setwindow pos 는 타이틀창,메뉴바등,테두리 모든것을 포함한 것내가 원하는 화면을 해상도에 맞게 크기 조정 하기 위해선 adjustwindwRect에 내가 원하는 크기를 넣은
초당 100을 이동하고 싶다면frame 횟수가 초당 100이라고 할때프레임마다 1/100만큼을 이동한다면1초후 100 이동 정리: 1초에 가고싶은 거리를 초당 프레임의 횟수만큼 나눠서 간다면 =1초뒤 가고싶은 거리만큼 이동한다이동량\*(1/초당 프레임 횟수
윈도우에 테도리 1픽셀로 있기 때문에화면 clear에서 -(1,-1)에서 시작하여 (해상도 좌표+1)의 좌표로 사각형을 만듦 한 프레임을 그려내는 과정을 사용자가 볼 필요 없음. 한 프레임을 다 그린 결과만 보여 주면 됨 1.그리기 작업을 수행하는 bitmap과 연
winddow key 값을 초기화한 순서대로 enum class에서 똑같은 순서로 key를 초기화 함으로써KEY STATE를 자료형으로 한 vector의 인덱스가 곧 key값으로 동일시 하게 만듦
CScene manager는 모든 씬들의 주소를 들고 있어야 한다. enum class의 개수만큼 CScene 백터 데이터 개수를 초기화 하여 만들었다.또한 현재씬을 알고 있어야 함enum class SCENE_TYPE{ TOOL, START, STAGE_01, ST
일정한 간격을 움직이는 monster 만들기일정한 간격을 왕복해서 움직이는 monster.기준량을 넘어섰다면 방향을 바꿔라라고 코딩을 하면 DT가 일정하지 않기 때문에 한 프레임에서 넘어선 거리만큼 그 다음 프레임이 반대 방향으로 그 거리만큼 가지 못하고반복 거리보다
resource들이 있는 content파일까지의 절대 경로를 갖고 있으며 알려준다.실행파일에서 바로 실시하면 각각의 파일 경로를 알려줌비주얼에서 디버깅 모드를 실시하면 현재 프로젝트 경로를 알려줌이유:프로그램이 자체적으로 실행되는게 아니라 visual studio를 실
부품기반, 멤버를 갖고는 있되필요한 얘들은 쓰고 필요하지 않은 얘들은 쓰지 않는 구조상속을 계속 이어 나가는 구조는 좋지 않은 구조확장성을 늘려 나가는 구조가 설계를 해나가는 과정에서 유연한 대처를 가능케 하다오브젝트 중에 콜라이더가 필요하면 creatcollider
제거,추가 등 일어난 Event들을 프레딤 단위로 동결 해야한다.프로그램 실행 중 갑자기 제거하면 그걸 참조 하고있던 포인터들은 갑자기 nullptr을 가르키는 것과 같은동결 시키지 않으면 많은 문제가 생긴다.제거 이벤트때 필요한 것일어난 프레임에선 이벤트를 발생 시키
한 프레임을 마무리 하고 발생 해야 함update 중에 하면 update는 이전 scene,final update, render는 바꾼 scene에 적용 됨 final update 중에도 변경되면 마찬가지로 오류가 있다따라서 render뒤에 실행 될수 있게이벤트 등록으
CLONEobj를 복사 했을때collider의 주소가 동일시 된다따라서복사 생성자를 구현 해줘야 한다컴포넌트를 가지고 있는 객체를 복사 할때 복사생성이 필요한지 잘 생각 해야한다.부모 클래스인 obj의 명시적 복사생성자 collider는 디폴트 복사 생성 만든다COb
수많은 animation 관리animator도 컴포넌트이기 때문에 obj에서 복사생성을 다뤄줘야 함obj가 애니메이터에게 만들라고 하면 애니메이터 ani에게 만들라고 한다void CAnimator::CreatAnimation(const wstring& \_strNa
모든 캐릭터의 좌표는 발 쪽으로 마춰준다캐릭터 애니메이션을 y좌표보다 위로해서 표현한다면땅 위에 서있는것을 표현할수 있다위에서 내려다 보는 top view이다 2차원이지만 3차원 느낌을 표현 할 수 있다또한 충돌체끼리 같은축에 있을때만 충돌한다고 한다면발의 위치를 중심
Camera 기본 개념 카메라가 보는 곳이 화면의 중앙 obj pos는 실제 obj의 위치 카메라에 따라 obj이가 보이는 위치가 달라져야 한다. 실 좌표와 출력 좌표가 나뉘어 져야한다 렌더링을 진행 할때만 좌표를 카메라에 따라 달리 해준다 카메라가 있었진 않지
출력위치를 좌상단본인의 위치도 좌상단2의 제곱 단위픽셀을 타일로 사용하는것이 좋다32bit 8\*6의 타일 이미즈를 사용 한다고 하면첫번째부터 오른쪽으로 차례로 인덱스가 매겨지고 행과 열 계산 가능인덱스/ (열의 최대 개수인 8) = 몇번째 행인덱스 % (열 최대갯수8
카메라의 영향을 받아야 하는 것도 있고받지 않아야 하는 것도 있다계층 구조를 가진다부모ul,자식ul 그 자식이 자식 ul를 가질수 있다scene한테는 최상위 부모ul만 넣어준다부모와 자식을 둘다 알수 있게 쌍방향 연결한다본인 업데이트를 하고 자식을 업데이트 시켜준다re
저장장치에 있는 데이터들을RAM에 올려놓고 이것을 우리가 보는것저장장치에 저장 하지 않으면 RAM에 있던것들은 다 날라간다scene에서 타일로딩 scene tool에서 저장(tile을 관리하고 작업하는 곳)확장자가 다르다 해도 파일 구성이 달라지는 것은 아님그냥 어떤
Alpha는 투명도를 나타낸다255일때 젤 불투명0일때 투명Alpha blend는 Alpha값을 써서 두 색상을 섞는 것물체가 있고 막을 통해 내가 그 물체를 본다 했을때 가림막 RGB \*A (0.5)로 하면물체의 알파가 0.5 비율이 되면서알파를 각각 곱한 RGB를
렌더링 최적화현재 scenetool이 타일을 생성하기 때문에 많이 생성한다면 프레임 드랍이 발생타일을 일렬로 쭉 배치 했기 때문에 화면안에 들어오는 범위를 알아 낼 수 있다카메라 LT좌표 알기LT에 해당하는 타일의 인덱스 알기화면안에 들어오는 타일 개수 알기통 배경을
유한한 상태 기계오직 프로그래머의 프로그래밍으로 만들어지는 AI각 조건에 맞게 상태로 움직이는 기계state 패턴(디자인 패턴)을 활용하여 만든다ex)몬스터가 순찰 중 순찰 범위 안에 플레이어 들어옴 \-> 플레이어 쫓아가는 상태 on \->공격 범위 안에 있으면