profile
복습을 위한 핵심 내용 및 모작

The Archer (Win32API 게임 모작)

고화질로 시청 가능합니다!visual studio Win32API만을 사용하여 만들었습니다.다른 툴은 사용하지 않았습니다.

2024년 2월 24일
·
0개의 댓글
·

오버로딩, 오버라이딩

동일한 함수 이름에도 매개변수의 타입,개수의 차이를 둬 함수의 구분을 두는 것void operator+=(Vec2 \_vOther){}void operator+=(float \_float){}상속 관계에 있어 base에서 먼저 정의한 함수를 동일한 이름을 사용해서 재정

2024년 1월 13일
·
0개의 댓글
·

FSM

유한한 상태 기계오직 프로그래머의 프로그래밍으로 만들어지는 AI각 조건에 맞게 상태로 움직이는 기계state 패턴(디자인 패턴)을 활용하여 만든다ex)몬스터가 순찰 중 순찰 범위 안에 플레이어 들어옴 \-> 플레이어 쫓아가는 상태 on \->공격 범위 안에 있으면

2024년 1월 13일
·
0개의 댓글
·

렌더링 최적화

렌더링 최적화현재 scenetool이 타일을 생성하기 때문에 많이 생성한다면 프레임 드랍이 발생타일을 일렬로 쭉 배치 했기 때문에 화면안에 들어오는 범위를 알아 낼 수 있다카메라 LT좌표 알기LT에 해당하는 타일의 인덱스 알기화면안에 들어오는 타일 개수 알기통 배경을

2024년 1월 13일
·
0개의 댓글
·

Alpha blend

Alpha는 투명도를 나타낸다255일때 젤 불투명0일때 투명Alpha blend는 Alpha값을 써서 두 색상을 섞는 것물체가 있고 막을 통해 내가 그 물체를 본다 했을때 가림막 RGB \*A (0.5)로 하면물체의 알파가 0.5 비율이 되면서알파를 각각 곱한 RGB를

2024년 1월 12일
·
0개의 댓글
·

파일 입출력

저장장치에 있는 데이터들을RAM에 올려놓고 이것을 우리가 보는것저장장치에 저장 하지 않으면 RAM에 있던것들은 다 날라간다scene에서 타일로딩 scene tool에서 저장(tile을 관리하고 작업하는 곳)확장자가 다르다 해도 파일 구성이 달라지는 것은 아님그냥 어떤

2024년 1월 12일
·
0개의 댓글
·
post-thumbnail

UI

카메라의 영향을 받아야 하는 것도 있고받지 않아야 하는 것도 있다계층 구조를 가진다부모ul,자식ul 그 자식이 자식 ul를 가질수 있다scene한테는 최상위 부모ul만 넣어준다부모와 자식을 둘다 알수 있게 쌍방향 연결한다본인 업데이트를 하고 자식을 업데이트 시켜준다re

2024년 1월 11일
·
0개의 댓글
·
post-thumbnail

Tile

출력위치를 좌상단본인의 위치도 좌상단2의 제곱 단위픽셀을 타일로 사용하는것이 좋다32bit 8\*6의 타일 이미즈를 사용 한다고 하면첫번째부터 오른쪽으로 차례로 인덱스가 매겨지고 행과 열 계산 가능인덱스/ (열의 최대 개수인 8) = 몇번째 행인덱스 % (열 최대갯수8

2024년 1월 11일
·
0개의 댓글
·

Camera

Camera 기본 개념 카메라가 보는 곳이 화면의 중앙 obj pos는 실제 obj의 위치 카메라에 따라 obj이가 보이는 위치가 달라져야 한다. 실 좌표와 출력 좌표가 나뉘어 져야한다 렌더링을 진행 할때만 좌표를 카메라에 따라 달리 해준다 카메라가 있었진 않지

2024년 1월 10일
·
0개의 댓글
·
post-thumbnail

Animation offset

모든 캐릭터의 좌표는 발 쪽으로 마춰준다캐릭터 애니메이션을 y좌표보다 위로해서 표현한다면땅 위에 서있는것을 표현할수 있다위에서 내려다 보는 top view이다 2차원이지만 3차원 느낌을 표현 할 수 있다또한 충돌체끼리 같은축에 있을때만 충돌한다고 한다면발의 위치를 중심

2024년 1월 10일
·
0개의 댓글
·
post-thumbnail

Animator,Animation

수많은 animation 관리animator도 컴포넌트이기 때문에 obj에서 복사생성을 다뤄줘야 함obj가 애니메이터에게 만들라고 하면 애니메이터 ani에게 만들라고 한다void CAnimator::CreatAnimation(const wstring& \_strNa

2024년 1월 10일
·
0개의 댓글
·

CLONE

CLONEobj를 복사 했을때collider의 주소가 동일시 된다따라서복사 생성자를 구현 해줘야 한다컴포넌트를 가지고 있는 객체를 복사 할때 복사생성이 필요한지 잘 생각 해야한다.부모 클래스인 obj의 명시적 복사생성자 collider는 디폴트 복사 생성 만든다COb

2024년 1월 10일
·
0개의 댓글
·

Scene Change

한 프레임을 마무리 하고 발생 해야 함update 중에 하면 update는 이전 scene,final update, render는 바꾼 scene에 적용 됨 final update 중에도 변경되면 마찬가지로 오류가 있다따라서 render뒤에 실행 될수 있게이벤트 등록으

2024년 1월 10일
·
0개의 댓글
·
post-thumbnail

Event Manager

제거,추가 등 일어난 Event들을 프레딤 단위로 동결 해야한다.프로그램 실행 중 갑자기 제거하면 그걸 참조 하고있던 포인터들은 갑자기 nullptr을 가르키는 것과 같은동결 시키지 않으면 많은 문제가 생긴다.제거 이벤트때 필요한 것일어난 프레임에선 이벤트를 발생 시키

2024년 1월 9일
·
0개의 댓글
·

union

struct A{ int a; char b;}구조체 크기는 8byte그러나 union B{ int a; float b;}union 크기는 4byte멤버중 가장 큰 타입으로 다른 멤버들과 공유union을 멤버 a로 읽으면 int로 보고 멤버 b로 보면 floa

2024년 1월 9일
·
0개의 댓글
·

Collider,Collision Manager

부품기반, 멤버를 갖고는 있되필요한 얘들은 쓰고 필요하지 않은 얘들은 쓰지 않는 구조상속을 계속 이어 나가는 구조는 좋지 않은 구조확장성을 늘려 나가는 구조가 설계를 해나가는 과정에서 유연한 대처를 가능케 하다오브젝트 중에 콜라이더가 필요하면 creatcollider

2024년 1월 9일
·
0개의 댓글
·

Path Manager

resource들이 있는 content파일까지의 절대 경로를 갖고 있으며 알려준다.실행파일에서 바로 실시하면 각각의 파일 경로를 알려줌비주얼에서 디버깅 모드를 실시하면 현재 프로젝트 경로를 알려줌이유:프로그램이 자체적으로 실행되는게 아니라 visual studio를 실

2024년 1월 8일
·
0개의 댓글
·
post-thumbnail

Object monster

일정한 간격을 움직이는 monster 만들기일정한 간격을 왕복해서 움직이는 monster.기준량을 넘어섰다면 방향을 바꿔라라고 코딩을 하면 DT가 일정하지 않기 때문에 한 프레임에서 넘어선 거리만큼 그 다음 프레임이 반대 방향으로 그 거리만큼 가지 못하고반복 거리보다

2024년 1월 8일
·
0개의 댓글
·

SceneManager, Scene

CScene manager는 모든 씬들의 주소를 들고 있어야 한다. enum class의 개수만큼 CScene 백터 데이터 개수를 초기화 하여 만들었다.또한 현재씬을 알고 있어야 함enum class SCENE_TYPE{ TOOL, START, STAGE_01, ST

2024년 1월 8일
·
0개의 댓글
·

KeyManager

winddow key 값을 초기화한 순서대로 enum class에서 똑같은 순서로 key를 초기화 함으로써KEY STATE를 자료형으로 한 vector의 인덱스가 곧 key값으로 동일시 하게 만듦

2024년 1월 8일
·
0개의 댓글
·