본문 바로가기

분류 전체보기

(157)
[DirectX11] 01 - DirectX 프로젝트 셋팅 최초 코드// Client.cpp : 애플리케이션에 대한 진입점을 정의합니다.//#include "framework.h"#include "Client.h"#define MAX_LOADSTRING 100// 전역 변수:HINSTANCE hInst; // 현재 인스턴스입니다.WCHAR szTitle[MAX_LOADSTRING]; // 제목 표시줄 텍스트입니다.WCHAR szWindowClass[MAX_LOADSTRING]; // 기본 창 클래스 이름입니다.// 이 코드 모듈에 포함된 함수의 선언을 전달합니다:ATOM MyRegisterClass(HINSTANCE hInstanc..
[WinApi] 18 - Animation 맵 클리어 메서드 모듈화여기서도 삭제 메서드는 사용할거라 모듈화해보자.01. Header -> Func.h...//newtemplatevoid Safe_Delete_Map(map& _map){ typename map::iterator iter = _map.begin(); for (; iter != _map.end(); ++iter) { if (nullptr != iter->second) delete iter->second; } _map.clear();} 03. Manager -> ResMgr-> CResMgr.h#pragma once//newclass CRes;class CTexture;class CResMgr{ SINGLE(CResMgr);private: //old //map m_mapTex; /..
[WinApi] 17 - Object Object의 옳바른 복사오브잭트를 복사를한다면 오브잭트의 내용을 복사한 사본이 필요하다하지만 지금은 Object객체를 복사한다면 어떻게 될까?Component 같은 경우는 원래의 주소를 가르키고 있는 오브잭트가 복사될 것 이다.오브잭트의 주소값을 공유하고 있기 때문에 발생하는 현상이다. 04. Object -> CObject.h...public: CObject(); //new CObject(const CObject& _origin); virtual ~CObject(); friend class CEventMgr;}; 04. Object -> CObject.cpp...CObject::CObject() : m_vPos{} , m_vScale{} , m_pCollider(nullptr) , m_bAlive(t..
[WinApi] 16 - Scene 씬 전환의 기본 틀05. Scene -> Scene_Tool -> CScene_Tool.h (new)#pragma once#include "CScene.h"class CScene_Tool : public CScene{private:public: virtual void Enter(); virtual void Exit();public: CScene_Tool(); ~CScene_Tool();}; 05. Scene -> Scene_Tool -> CScene_Tool.cpp (new)#include "pch.h"#include "CScene_Tool.h"CScene_Tool::CScene_Tool(){}CScene_Tool::~CScene_Tool(){}void CScene_Tool::Enter(){}void C..
[WinApi] 15 - Collider 활용과 Event Manager 각각의 오브잭트에서 충돌로직 구현충돌이 발생하면 해당하는 오브잭트에서 충돌을 구현해야한다. 04. Object -> CObject.h첫번째로 오브잭트에 충돌에 관한 메서드들을 virtual로 만든다음 자식객체에서 구현하도록 하자....public: void SetPos(Vec2 _vPos) { m_vPos = _vPos; } void SetScale(Vec2 _vScale) { m_vScale = _vScale; } Vec2 GetPos() { return m_vPos; } Vec2 GetScale() { return m_vScale; } CCollider* GetCollider() { return m_pCollider; } void CreateCollider(); //new virtual void On..
[WinApi] 14 - 충돌2 충돌 로직불필요한 충돌을 방지하고자 그룹을 이용해 충돌을 구현해 보자.0 ~ 31의 그룹을 만들어서 각 그룹간 충돌 매트릭스를 만들어보았다.대각선으로 대칭하면 똑같은 것이 된다. 예를 들면 x: 00 , y:01 = x:01, y:00 이말은 00그룹과 01그룹간 충돌여부와 01그룹과 00그룹간 충돌여부는 같다는 말이다.대각선 오른쪽 아래 부분은 그래서 사용 안하기로 한다.x:00, y:00은 자기 자신의 그룹간의 충돌여부인데 일단은... 사용 안하는 쪽으로.. 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 0000[o][o][o][o][o][o][o][o][o][o][o][o][o..
#10 동기와 비동기 자바스크립트에서 동기(synchronous)와 비동기(asynchronous)는 코드 실행 방식에 대한 개념으로, 프로그램의 흐름과 처리 방식에 큰 영향을 미친다.1. 동기(Synchronous)순차적으로 실행되는 방식.앞의 작업이 끝나야 다음 작업이 실행된다. funciton print() { console.log("2");}console.log("1");print();console.log("3"); 출력순서 : 1 -> 2 -> 3 - 위 코드는 순서대로 실행되며, 각각이 끝난 뒤에 다음 줄로 넘어간다.- 블로킹(blocking): 앞 작업이 오래 걸리면 뒤 작업이 지연됨.- CPU와 메모리를 기다리는 동안 낭비할 수 있음. 2. 비동기(Asynchronous)작업을 요청한 후 바로 다음 작업을 수행..
#09 javascript 날짜관련 함수들 Date 객체를 생성하는 방법// 1. Date 객체를 생성하는 방법let date1 = new Date(); // 생성자let date2 = new Date("1988/04/20");let date3 = new Date("1987-04-20");// console.log(date1);// console.log(date2);// console.log(date3); 시분초 적용let date4 = new Date("1990-10-01 23:59:59");console.log(date4); 옵션 적용 toLocaleString() 및 Intl.DateTimeFormat에서 사용 가능한 옵션들은 날짜와 시간을 포맷팅하는 데 매우 유용하다.let date5 = new Date(2005, 2, 10, 0, 0, ..