일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- tipssoft
- c++
- 이지스퍼블리싱
- 함수
- Direct2D
- 문법
- 백준
- 김성엽
- c
- Javascript
- Tips강좌
- c#
- 지식나눔강좌
- 프로그래밍
- Tips프로그래밍강좌
- 포인터
- 연산자
- 리뷰
- Win32
- Kotlin
- 알고리즘
- Windows
- VS ERROR
- 배열
- Visual Studio
- CS
- Programming
- doit코틀린프로그래밍
- 티스토리
- Desktop
- Yesterday
- Today
- Total
목록All (383)
F.R.I.D.A.Y.
물리엔진 - 벽 충돌 part1. 바닥 구현 이전 시간의 중력 구현에 이어 이번에는 지나갈 수 없는 벽을 구현해봅니다. 벽 물리엔진을 구성하다보니 주로 게임에 빗대는 경우가 많은데, 벽이라 함은 물체가 뚫고 지나갈 수 없는 것을 pang2h.tistory.com 위 시리즈와 연계해 작성합니다. 프로젝트 코드는 다음에서 이어집니다. 좌우 벽 충돌 플래시 게임 등에서 바닥을 형성한 것 외에 추가로 구현한 것이 있습니다. 좌우로 벽을 만났을 때 캐릭터가 이동하지 못하도록 하는 것입니다. 이것 또한 Calculate 메서드에서 처리하면 구현할 수 있습니다. 과 방향만 다르지 동일한 내용이기 때문에 해당 코드를 참고해 역으로 계산하면 수비게 코드를 작성할 수 있습니다. 또한, 좌우 이동은 서로 상반된 명령이기 때..
바로 전 시리즈에선 바닥 구현을 했습니다. 좌우로만 이동하면 이제 제대로 된 캐릭터 이동이 가능해지겠네요. 프로젝트 업데이트 이번 포스트부터는 기존 제공한 프로젝트와 해당 프로젝트로 구성한 중력구현 등을 포함한 버전의 새로운 프로젝트를 사용합니다. 프로그램 사용이 보다 접근성이 높아야 흥미를 느낄 수도 있을것 같아 몇가지 기능을 추가했으니 참고해주세요. 본 파일에 추가된 기능/소스코드는 다음과 같습니다. 마우스 좌측버튼 및 마우스 끌기로 블럭 형성이 가능합니다.[# 이렇게 만들어진 블럭에 대해서도 중력 구현 및 충돌의 영향을 받도록 구성해 캐릭터가 그 위에 놓였을 때 더이상 내려가지 않습니다] 마우스 우측버튼으로 형성된 블럭을 삭제할 수 있습니다.[# 프로그램 생성부터 나온 하단의 메인 블럭은 지우지 않..
티스토리 에디터가 업데이트 됐습니다. 단축키 안내가 새겼으며, 인용문구, 이모티콘 등의 기능이 추가로 생긴 것 같네요. 나타난 문제로는 다음이 있습니다. 단축키 목록을 표시하는 단축키가 표시된 Alt + /과 달리 Ctrl + / 입니다. Ctrl + Alt + E라 단축키가 표시된 코드 블럭이 아니라 이모티콘 탭을 여는 단축키입니다. 단축키로 제목-본문 글자 크기를 수정하게 되면 특정 상황에서 문제가 발생합니다.[# 알려진바에 의하면 현재 에디터의 글자 크기와 실제 발행된 포스트의 글자 크기가 매칭이 되지 않는 문제가 있습니다. 에디터의 글자 크기가 상대적으로 커졌다면 이는 실제 발행된 포스트에선 그보다 작은 크기로 노출됩니다.]
이전 시간에는 캐릭터가 바닥을 만났을 때, 더이상 아래로 내려가지 않도록 했습니다. 이번에는 점프를 구현해보겠습니다. 점프 구현 단순히 만들면 그냥 키 입력을 받았을 때 이동속도로 음수(-)값을 주면 됩니다. 근데, 이러면 다시 점프가 가능해지죠. 그래서 우리는 키 상태를 저장하고 실 계산은 Calculate 메서드에서 처리하도록 구성할겁니다. 키 상태를 저장하는 방법은 아래 포스트를 참고하세요. Win32 - 키보드 입력으로 사각형 움직이기 키보드 입력으로 사각형을 움직여봅니다. # Win32 프로그래밍을 이해하고 있어야합니다. # 알지 못하는 경우 여기에서부터 시작할 것을 권장합니다. # 본 문서는 Direct2D 기반으로 구현합니다. Win3 pang2h.tistory.com 위 페이지의 정보대로 ..
blog.naver.com/PostView.nhn?blogId=ohking22&logNo=222023535036&categoryNo=63&parentCategoryNo=-1&viewDate=¤tPage=&postListTopCurrentPage=&isAfterWrite=true 바뀐 윈도우10 블루투스 "전원관리" 찾기(블루투스 마우스 끊김 해결하기) 노트북이나 컴퓨터로 블루투스 마우스나 스피커, 이어폰 등을 사용하다 보면 절전 모드나 다른 이유로 블루... blog.naver.com 해당 포스트로 확인해 문제를 해결함. 삼성 멤버스에 문의를 통해 블로그 내 첫 번째 해결 방법을 받았으나, 여전히 문제가 발생했음. 링크의 두 번째 해결책을 통해 문제를 해결함 ++ 이후 문제가 심각해졌다. 보드..
이전 시간의 중력 구현에 이어 이번에는 지나갈 수 없는 벽을 구현해봅니다. 벽 물리엔진을 구성하다보니 주로 게임에 빗대는 경우가 많은데, 벽이라 함은 물체가 뚫고 지나갈 수 없는 것을 말하죠. 우리가 윈도우에 사각형을 그려넣는다고 그 사각형이 바로 벽이 되지는 않습니다. 연산을 통해 벽으로 인식되는 사각형을 대상이 뚫고 움직이지 못하도록 해야하죠. 이전 시간에 우리는 중력을 구현했기 때문에 중력이 적용된 시스템으로 구현해볼 것입니다. 중력을 구현한 방식과 중력을 구현하지 않은 방식은 약간의 차이가 존재하니까요. 접근 대상이 벽에 접근할 때는 네가지 방향에서 접근할 수 있습니다. 그리고 네 방향을 모두 점검하는 것은 좋지 않죠. 따라서 우리는 각 방향의 접근을 알아내고 그에 맞게 코드를 작성하겠습니다. 그..
이전 포스트의 마지막 부분에서 문제점 하나를 언급했었죠, 이번 포스트에서는 그 문제점을 해결하는 방법을 풀어봅니다. # Direct2D를 활용합니다. 문제점 이전 포스트에서 만든 프로그램의 문제는 다음과 같았습니다. 바닥에 닿지 않았는데 초기 위치로 돌아가버린다 이 문제는 언급했듯이, 이동 속도가 남은 공간보다 커서 공간을 넘어서다보니 초기 위치로 돌아가도록 명령이 실행됐기 때문입니다. 문제 해결하기 문제점에서 언급한 것처럼 그럼 이동 속도를 조절해주면 되겠네요. 첫 번째 if 구문은 현재 위치에 대한 판단을, 두 번째 if는 다음 위치에 대한 판단을 통해 이동 속도를 조절합니다. 두 if 구문 중 하나만 실행하면 되므로 else 로 묶어서 속도 향상을 꾀합니다. if (rcCenter.y + rcSiz..
지구에서는 지구 중력의 영향으로 물체를 공중에 놓으면 바닥으로 떨어집니다. 이런 식으로 중력에 영향을 받는 듯한 코드를 작성해봅니다. # Direct2D를 활용합니다. 기본 코드 기본 코드는 아래의 압축파일을 기준으로 합니다. 프로젝트 내 baseWin.h에 오류가 있습니다. 프로젝트 기준 baseWin.h > BaseWindow 클래스 > static WindowProc 함수에서 (LONG)을 (LONG_PTR)로 변경시 오류가 사라집니다. static LRESULT CALLBACK WindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { DERIVED_TYPE* pThis = nullptr; if (uMsg == WM_NCCREATE) { C..
키보드 입력으로 사각형을 움직여봅니다. # Win32 프로그래밍을 이해하고 있어야합니다. # 알지 못하는 경우 여기에서부터 시작할 것을 권장합니다. # 본 문서는 Direct2D 기반으로 구현합니다. Win32만 알아도 이해하는데 큰 무리는 없습니다. 객체 이동 키보드 이동으로 객체 이동을 한 번 구현해보겠습니다. 일반적으로 키보드 조작으로 객체 이동을 구현한다고 하면 아래와 같이 구현을 할 것입니다. 키 코드 명령 VK_LEFT 객체.x - offset VK_UP 객체.y - offset VK_RIGHT 객체.x + offset VK_DOWN 객체.y + offset LRESULT MainWindow::OnKeyDown(WPARAM key) { switch (key) { case VK_LEFT: cur..
당신의 글쓰기를 더욱 다채롭게, tmlTitle.js입니다. 일부 스킨에서 티스토리의 스킨 생성 규칙에 따른 치환자 적용을 하지 않아 스크립트 사용이 불가능한 일부 문서에 대해 스킨 수정 가이드를 전해드립니다. ⁕경고 본 문서는 모든 스킨에 적용될 수 없는 사안을 제시하고 있으며, 스킨 구조에 따라 치명적인 결함을 가져올 수 있습니다. 반드시 적용 전 현재 사용중인 스킨을 백업해 문제 발생에 대해 대응할 수 있는 수단을 마련하기 바랍니다. 스크립트의 적용 방식 본 스크립트는 웹페이지의 body 태그 세부 값 중 id값이 tt-body-page인 페이지를 대상으로 스크립트를 활성화 하도록 구성하고 있습니다. body 태그의 id값은 이란 치환자로 결정됩니다. 일부 스킨에서는 이러한 치환자를 적용하지 않는 ..