목록공부 (292)
응애맘마조
금요일에 내준 과제였는데 대전을 가느라 좀 늦었습니다. 과제 내용은 미사일 주변으로 회전하는 공을 만드는 것이 과제였습니다. 실행 영상입니다. 총 10발이고 10발 발사가 끝나면 더 이상 발사가 안됩니다. R키를 눌러서 리로드를 시켜서 다시 발사 가능하게끔 만들었습니다. #include "stdafx.h" #include "Main.h" void Main::Init() { player.SetWorldPos(Vector2(0.0f, 0.0f)); player.scale = Vector2(80.0f, 80.0f); player.rotation = 0.0f; player.isAxis = true; player.isFilled = false; player.isVisible = true; player.color ..
어제 말했던대로 오늘 DirectX를 나가기 전 Framework를 받았습니다. sln 파일을 열면 2DFrameWork가 있고 Game1, 2가 있습니다. 하지만 이대로 실행하면 오류가 납니다. 왜냐하면 시작 프로젝트가 2DFrameWork로 되어있기 때문입니다. Game1, 2로 시작 프로젝트를 해야 정상적으로 실행이 됩니다. 여기서 2DFrameWork는 정적 라이브러리(lib)파일이고 Game1, 2는 응용 프로그램(exe)파일입니다. 정적 라이브러리를 작성하고 빌드된 것을 가져가서 사용합니다. 여기서 컴파일을 할 때 한 번 했던 컴파일 된 파일은 또 다시 하지 않습니다. 수정된 코드가 있는 파일만 다시 합니다. 하지만 만약에 프레임워크를 수정하면 다시 처음부터 컴파일을 시작합니다. (프레임워크를..
행렬과 벡터를 이용해서 스페이스바를 눌러서 미사일을 발사 시키는 것이 과제였습니다. 실행 영상입니다. 총 10발이고 10발이 발사가 끝나면 더 이상 발사가 안됩니다. R키를 눌러서 리로드를 시켜서 다시 발사 가능하게끔 만들었습니다. #include "framework.h" #include "MainGame.h" MainGame::~MainGame() { } void MainGame::Init() { HBITMAP m_hOldBitmap, m_hBitmap; HDChdc = GetDC(g_hwnd); g_MemDC = CreateCompatibleDC(hdc); m_hBitmap = CreateCompatibleBitmap(hdc, 800, 600); m_hOldBitmap = (HBITMAP)Select..
행렬의 마지막으로 동차를 했습니다. 동차는 W로 표기하며 한자로는 同次라고 합니다. 차원의 차이를 나타내며 값은 0, 1로 표현합니다. SetWorldPos는 W가 1입니다. 원점에서 나오기 때문에 같은 차원이라서 1이라고 표현합니다. MoveWorldPos는 W가 0입니다. 특정 위치에서 움직이기 때문에 같은 차원이 아닙니다. 중점을 이동시켜서 구현합니다. 그렇기 때문에 정점이 이동하는 것이 아닙니다. 내일부터 DirectX 2D를 들어가기 전에 Framework 파일을 주고 들어 가기 전 게임 기능에 대해 배우고 정식으로 들어간다고 합니다. 그 전에 이제 미사일 발사 하는 기능에 대해서 한다고 했습니다. 그 이후에 정식으로 DirectX2D를 나간다고 합니다. 읽어주셔서 감사합니다.
저번 태양계 과제에 이어서 더 꾸미는 것이 과제였습니다. 실행 영상입니다. #include "framework.h" MainGame::~MainGame() { } void MainGame::Init() { //MemDc 메모리상의 dc를 하나 더 추가 HBITMAP m_hOldBitmap, m_hBitmap; HDChdc = GetDC(g_hwnd); //기존 핸들 g_MemDC = CreateCompatibleDC(hdc); m_hBitmap = CreateCompatibleBitmap(hdc, 800, 600); m_hOldBitmap = (HBITMAP)SelectObject(g_MemDC, m_hBitmap); ReleaseDC(g_hwnd, hdc); planet[0].SetWorldPos(Ve..