WIN32API FrameWork

WIN32API FrameWork/한단계씩 직접 구현

56. 위젯

http://hyrule.tistory.com/111 *** 공부 방법 *** 1. 코딩을 해야 하는 부분은 첫 부분에 변수나 함수, 메소드에 대한 선언이 코드블럭으로 표시되어 있다. //ex) MakeFunction(); 2. 코드블럭 하단에는 해당 선언에 대한 구현 로직이 작성되어 있다. 처 hyrule.tistory.com class CWidgetWindow - 위젯을 담고있을 큰 창 - CScene 외에는 접근 불가(friend 처리) { class CScene m_Scene } { int ZOrder } { std::vector m_vecWidget } {..

WIN32API FrameWork/한단계씩 직접 구현

55. 사운드

http://hyrule.tistory.com/111 *** 공부 방법 *** 1. 코딩을 해야 하는 부분은 첫 부분에 변수나 함수, 메소드에 대한 선언이 코드블럭으로 표시되어 있다. //ex) MakeFunction(); 2. 코드블럭 하단에는 해당 선언에 대한 구현 로직이 작성되어 있다. 처 hyrule.tistory.com - 사운드 시스템은, WIN32API에서 기본으로 지원하는 시스템을 사용할 수 있다. 다만 wav 파일만 재생할 수 있어 효율성이 떨어진다. 그러므로, 외부 사운드 라이브러리를 링크하여 사용하는게 더 낫다. - 외부 사운드 라이브러리인 FMOD를 사용하여 사운드를 출력해보자. 다운로드는 여기서 받을 수 있다. https://www.fmod.com/ FMOD The sonic un..

WIN32API FrameWork/한단계씩 직접 구현

54. 마우스 충돌 - 픽셀 충돌

http://hyrule.tistory.com/111 *** 공부 방법 *** 1. 코딩을 해야 하는 부분은 첫 부분에 변수나 함수, 메소드에 대한 선언이 코드블럭으로 표시되어 있다. //ex) MakeFunction(); 2. 코드블럭 하단에는 해당 선언에 대한 구현 로직이 작성되어 있다. 처 hyrule.tistory.com [ 사전 지식 ] #include std::sort(m_vector.begin(), m.vector.end(), CClass::SortY()); - algorithm에 포함되어 있는 정렬 알고리즘 함수, sort() -- 리스트는 자료구조 클래스 자체에 sort 기능이 내장되어 있었지만, vector의 경우 sort 기능이 없다. - 원하는 구간의 시작, 끝 지점 iterator..

WIN32API FrameWork/한단계씩 직접 구현

53. 마우스

http://hyrule.tistory.com/111 *** 공부 방법 *** 1. 코딩을 해야 하는 부분은 첫 부분에 변수나 함수, 메소드에 대한 선언이 코드블럭으로 표시되어 있다. //ex) MakeFunction(); 2. 코드블럭 하단에는 해당 선언에 대한 구현 로직이 작성되어 있다. 처 hyrule.tistory.com [ 사전 지식 ] POINT PTMouse; GetCursorPos(&PTMouse); ScreenToClient(hWnd, &PTMouse); - POINT: 구조체. (long)x, (long)y 를 들고 있는 단순한 구조체이다. 마우스의 좌표는 이 구조체에 받는다. - GetCursorPos(&PTMouse): 마우스의 '스크린 좌표계' 를 받아온다. 모니터의 맨 왼쪽 위 ..

WIN32API FrameWork/한단계씩 직접 구현

52. 박스-원 충돌

http://hyrule.tistory.com/111 *** 공부 방법 *** 1. 코딩을 해야 하는 부분은 첫 부분에 변수나 함수, 메소드에 대한 선언이 코드블럭으로 표시되어 있다. //ex) MakeFunction(); 2. 코드블럭 하단에는 해당 선언에 대한 구현 로직이 작성되어 있다. 처 hyrule.tistory.com - 사각형과 원의 충돌 판정이 의외로 복잡하다. - 우선 사각형의 변에 닿는 경우는, 원의 가운데 점이 사각형의 한 변의 끝에서의 거리보다 가까우면 충돌이다. --> 쉽게 말해서, 사각형의 크기를 반지름만큼 확장해주고 그 안에 원의 중심점이 들어오게 되면 충돌이라는 것이다. - 문제는 대각선이다. - 대각선은, 점이 확장한 사각형 안에 들어와도 충돌이 아니기 때문에, 이 경우를 ..

WIN32API FrameWork/한단계씩 직접 구현

51. 원형 충돌

http://hyrule.tistory.com/111 *** 공부 방법 *** 1. 코딩을 해야 하는 부분은 첫 부분에 변수나 함수, 메소드에 대한 선언이 코드블럭으로 표시되어 있다. //ex) MakeFunction(); 2. 코드블럭 하단에는 해당 선언에 대한 구현 로직이 작성되어 있다. 처 hyrule.tistory.com [ 사전 지식 ] HBRUSH PrevBrush = (HBRUSH)SelectObject(hDC, GetStockObject(HOLLOW_BRUSH)); //... 그림 그리기 ... SelectObject(hDC, PrevBrush) - 윈도우 API에서 기본으로 제공하는 HBRUSH 또는 HPEN을 사용한다. - 우리가 사용할 기본 브러시..

WIN32API FrameWork/한단계씩 직접 구현

50. 데미지

http://hyrule.tistory.com/111 *** 공부 방법 *** 1. 코딩을 해야 하는 부분은 첫 부분에 변수나 함수, 메소드에 대한 선언이 코드블럭으로 표시되어 있다. //ex) MakeFunction(); 2. 코드블럭 하단에는 해당 선언에 대한 구현 로직이 작성되어 있다. 처 hyrule.tistory.com class CGameObject; class CCharacter; - 가상함수로 선언하고, CCharacter에서도 재정의를 해 준다. - Update(), PostUpdate(), Render()과 마찬가지로 부모의 메소드를 호출한다. - 일단 CCharacter과 CGameObject에는 메소드..

WIN32API FrameWork/한단계씩 직접 구현

48. 스케일 조정

http://hyrule.tistory.com/111 *** 공부 방법 *** 1. 코딩을 해야 하는 부분은 첫 부분에 변수나 함수, 메소드에 대한 선언이 코드블럭으로 표시되어 있다. //ex) MakeFunction(); 2. 코드블럭 하단에는 해당 선언에 대한 구현 로직이 작성되어 있다. 처 hyrule.tistory.com [ 사전 지식 ] StretchBlt(hDC, (int)RenderLT.x, (int)RenderLT.y, (int)(RenderSize.x), (int)(RenderSize.y), Current->m_Sequence->GetTexture()->GetDC(CurrentFrame), 0, 0, (int)m_Size.x, (int)m_Size.y, SRCCOPY); - 마지막 인자를..

WIN32API FrameWork/한단계씩 직접 구현

47. 이펙트

http://hyrule.tistory.com/111 *** 공부 방법 *** 1. 코딩을 해야 하는 부분은 첫 부분에 변수나 함수, 메소드에 대한 선언이 코드블럭으로 표시되어 있다. //ex) MakeFunction(); 2. 코드블럭 하단에는 해당 선언에 대한 구현 로직이 작성되어 있다. 처 hyrule.tistory.com [ 오류 수정 ] - HitPoint 값을 Src와 Dest 모두 바꿔주어야 하는데 Src의 값만 변경하였음. - HitPoint의 값을 Src와 Dest 둘 다 변경해주어야 하므로 HitPoit..

WIN32API FrameWork/한단계씩 직접 구현

46. 충돌 처리 6 - 충돌 로직 개선 및 박스충돌 완성

http://hyrule.tistory.com/111 *** 공부 방법 *** 1. 코딩을 해야 하는 부분은 첫 부분에 변수나 함수, 메소드에 대한 선언이 코드블럭으로 표시되어 있다. //ex) MakeFunction(); 2. 코드블럭 하단에는 해당 선언에 대한 구현 로직이 작성되어 있다. 처 hyrule.tistory.com 조금이나마 성능 최적화를 해보고자 코드를 개선해보았다. [ 개선 내용 ] enum class ECollision_Interaction { Ignore, Collision }; -> 해당 열거체 제거. 충돌 여부 bool로 대체 struct CollisionProfile { std::stringName; ECollision_ChannelChannel; boolEnable; std:..

WIN32API FrameWork/한단계씩 직접 구현

45. 충돌 처리 5 - 실제 충돌체 생성 및 관리

http://hyrule.tistory.com/111 *** 공부 방법 *** 1. 코딩을 해야 하는 부분은 첫 부분에 변수나 함수, 메소드에 대한 선언이 코드블럭으로 표시되어 있다. //ex) MakeFunction(); 2. 코드블럭 하단에는 해당 선언에 대한 구현 로직이 작성되어 있다. 처 hyrule.tistory.com class CGameObject - 충돌체는 CGameObject에 종속되어 해당 CGameObject의 충돌을 판정하게 될것이다. - 한 게임오브젝트에 여러 개의 충돌체가 있을수도 있고, 충돌체가 종종 생성/제거될 일이 있으므로 여기에 맞는 자료구조를 생성해주어야 한다. -- +참조 카운팅을 사용하여 포인터 관리의 편의를 도모한다. < std::list < AddCollider..

WIN32API FrameWork/한단계씩 직접 구현

44. 충돌 처리 4 - 사각형 충돌체 (Box Collider)

http://hyrule.tistory.com/111 *** 공부 방법 *** 1. 코딩을 해야 하는 부분은 첫 부분에 변수나 함수, 메소드에 대한 선언이 코드블럭으로 표시되어 있다. //ex) MakeFunction(); 2. 코드블럭 하단에는 해당 선언에 대한 구현 로직이 작성되어 있다. 처 hyrule.tistory.com [ 사전 지식 ] - 색을 넣어서 그리고 싶을 때 사용한다. - HBRUSH 변수에 넣어 사용한다. RGB 색깔에 해당하는 HBRUSH를 생성해준다. - 사용한 HBRUSH는 소멸자에서 제거해 주어아 햔다. < FrameRect(hDC, &Rectangle, Hbr..

hyrule
'WIN32API FrameWork' 카테고리의 글 목록 (3 Page)