Notice
Recent Posts
Recent Comments
Link
๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋ก์ „์ฒด ๊ธ€ (1096)

KoreanFoodie's Study

์œˆ๋„์šฐ API ํ”„๋กœ๊ทธ๋ž˜๋ฐ 10 : ๋ฐฑ๋ฒ„ํผ์™€ ํ”ฝ ๋ฉ”์‹œ์ง€

์œˆ๋„์šฐ API ํ”„๋กœ๊ทธ๋ž˜๋ฐ 10 : ๋ฐฑ๋ฒ„ํผ์™€ ํ”ฝ ๋ฉ”์‹œ์ง€ ๋ฐฑ ๋ฒ„ํผ๋Š” ํ™”๋ฉด์— ๊ทธ๋ ค์ง€๋Š” ๋ฒ„ํผ์— ๋ฐ”๋กœ ๋ Œ๋”๋ฅผ ์‚ด ๊ฒฝ์šฐ ๋ฒ„ํผ๊ฐ€ ์ง€์›Œ์ง€๋Š” ์ˆœ๊ฐ„ ๋˜๋Š” ๋ฒ„ํผ์— ์ „์ฒด๊ฐ€ ๋‹ค ๊ทธ๋ ค์ง€๊ธฐ ์ „์— ํ™”๋ฉด์— ๊ทธ๋ ค์ง€๊ธฐ ์ „์— ํ™”๋ฉด์— ๊ทธ๋ ค์งˆ ๊ฒฝ์šฐ ๋œ ๊ทธ๋ ค์ง„ ๋ถ€๋ถ„์ด ํ™”๋ฉด์—์„œ ์ž ๊น ์ง€์›Œ์ง„ ์ƒํƒœ๊ฐ€ ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๊นœ๋นก์ด๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด๋Š” ํ˜„์ƒ์ด ์ƒ๊ธด๋‹ค. ์ด๋•Œ, ๋ฐฑ ๋ฒ„ํผ๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ๋ฐฑ ๋ฒ„ํผ์— ๋ชจ๋“  ๋‚ด์šฉ์„ ๊ทธ๋ฆฌ๊ณ  ๋ฐฑ ๋ฒ„ํผ๋ฅผ ํ™”๋ฉด์— ๋ Œ๋”ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์œ„์˜ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ฐฑํผํผ์™€ ํ”ฝ ๋ฉ”์‹œ์ง€ ๊ธฐ์กด์—๋Š” WM_TIMER๋ฅผ ์ด์šฉํ•˜์—ฌ ์—…๋ฐ์ดํŠธ๋ฅผ ์ฒ˜๋ฆฌํ–ˆ์ง€๋งŒ ์ด๋Š” ๋ชจ๋“  ๋ฉ”์‹œ์ง€ ์ค‘์—์„œ ์šฐ์„  ์ˆœ์œ„๊ฐ€ ๊ฐ€์žฅ ๋‚ฎ๊ณ  ์ตœ๋Œ€ ์†๋„๊ฐ€ 0.01์ดˆ์ด๋‹ค. ์ด๋ฅผ ๊ทน๋ณตํ•˜๊ณ  cpu ์„ฑ๋Šฅ์„ ์ œ๋Œ€๋กœ ํ™œ์šฉํ•˜๊ธฐ ์œ„ํ•ด ํ”ฝ ๋ฉ”์‹œ์ง€๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค! HDC hdc = GetDC(g_hWnd); g_hDC..

์œˆ๋„์šฐ API ํ”„๋กœ๊ทธ๋ž˜๋ฐ 9 : ํ‚ค๋งค๋‹ˆ์ €(ํ‚ค ์ž…๋ ฅ ๋ฐ›๊ธฐ), bitset ์˜ˆ์ œ

์œˆ๋„์šฐ API ํ”„๋กœ๊ทธ๋ž˜๋ฐ 9 : ํ‚ค๋งค๋‹ˆ์ €(ํ‚ค ์ž…๋ ฅ ๋ฐ›๊ธฐ), bitset ์˜ˆ์ œ ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ์‹ฑ๊ธ€ํ†ค ํŒจํ„ด์„ ์ด์šฉํ•ด์„œ ํ‚ค ์ž…๋ ฅ์„ ๋ฐ›๋Š” ๋ฐฉ๋ฒ•๊ณผ ๊ฐ„๋‹จํ•œ bitset ๋ฉ”์†Œ๋“œ๋ฅผ ์ด์šฉํ•ด ๋ณด๊ฒ ๋‹ค. SingletonBase.h ๋จผ์ €, ์‹ฑ๊ธ€ํ†ค ํด๋ž˜์Šค๋ฅผ ์ด์šฉํ•  ํ…œํ”Œ๋ฆฟ ํด๋ž˜์Šค์ธ SingletonBase.h๋ฅผ ์ •์˜ํ•ด ๋ณด์•˜๋‹ค. #pragma once /* ์‹ฑ๊ธ€ํ†ค ํŒจํ„ด : ๋‹จ์ผ ๊ฐ์ฒด ๊ด€๋ฆฌ ๋ฐฉ๋ฒ• - ์ธ์Šคํ„ด์Šค๋ฅผ ํ˜ธ์ถœ ์‹œ ์ฒ˜์Œ ํ˜ธ์ถœ ํ•˜๋Š” ๊ฒฝ์šฐ ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์ƒ์„ฑ ๋œ ์ธ์Šคํ„ด์Šค๋ฅผ ๋ฐ˜ํ™˜ ํ•œ๋‹ค. - ์ธ์Šคํ„ด์Šค๋ฅผ ํ˜ธ์ถœ ์‹œ ์ด์ „์— ํ˜ธ์ถœ๋˜์–ด ์ƒ์„ฑ์ด ๋˜์–ด ์žˆ๋Š” ๊ฒฝ์šฐ ๊ทธ ์ƒ์„ฑ ๋˜์–ด ์žˆ๋Š” ์ธ์Šคํ„ด์Šค๋ฅผ ๋ฐ˜ํ™˜ ํ•œ๋‹ค. ํ…œํ”Œ๋ฆฟ(Template, ํ˜•ํŒ) : ํ•จ์ˆ˜ ๋˜๋Š” ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค์–ด ๋‚ด๊ธฐ ์œ„ํ•œ ํ‹€ - ์ •ํ•ด์ง€์ง€ ์•Š์€ ์ž๋ฃŒํ˜•์— ๋Œ€ํ•œ ์„ ์–ธ์„ ํ…œํ”Œ๋ฆฟ์„ ์‚ฌ์šฉํ•˜์—ฌ ํ•˜๊ณ  ..

์œˆ๋„์šฐ API ํ”„๋กœ๊ทธ๋ž˜๋ฐ 7 : ๊ฒŒ์ž„ ํ”„๋ ˆ์ž„์›Œํฌ ๊ตฌ์„ฑ

์œˆ๋„์šฐ API ํ”„๋กœ๊ทธ๋ž˜๋ฐ 7 : ๊ฒŒ์ž„ ํ”„๋ ˆ์ž„์›Œํฌ ๊ตฌ์„ฑ ์ง€๊ธˆ์€ ๊ฐ„๋‹จํ•œ ๊ฒŒ์ž„์ด๋‹ˆ๊นŒ WindowsProject1.cpp๋ผ๋Š” ๋‹จ์ผ ํŒŒ์ผ์— ๋ชจ๋“  ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ–ˆ์ง€๋งŒ, ํ”„๋กœ๊ทธ๋žจ์ด ๋ณต์žกํ•ด์ง€๋ฉด ์‚ฌ์‹ค ํ•„์š”ํ•œ ์ฝ”๋“œ๋ฅผ ํ•„์š”ํ•œ ํŒŒ์ผ์— ๋ถ„ํ• ํ•ด์„œ ๊ตฌ์„ฑํ•ด์•ผ ํ•œ๋‹ค. ์ด ๊ธ€์—์„œ๋Š” ์ด๋ฅผ ์œ„ํ•œ ๋ฐ‘์ž‘์—…์„ ์–ด๋–ป๊ฒŒ ํ•˜๋Š”์ง€๋ฅผ ๋‹ค๋ฃจ๊ณ ์ž ํ•œ๋‹ค. GameNode : ๋จผ์ € ์Šค์ผˆ๋ ˆํ†ค ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค์ž #pragma once class GameNode { public: GameNode(); ~GameNode(); virtual void Init() = 0; // ์ˆœ์ˆ˜ ๊ฐ€์ƒ ํ•จ์ˆ˜ virtual void Update() = 0; virtual void Render() = 0; }; ๋จผ์ € ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์œผ๋กœ Init, Update, Render๋ผ๋Š” ๊ฐ€์ƒ ๋ฉ”์†Œ๋“œ๋ฅผ ๊ฐ€์ง„..

์œˆ๋„์šฐ API ํ”„๋กœ๊ทธ๋ž˜๋ฐ 6 : ๊ฐ„๋‹จํ•œ UI ๊ตฌํ˜„๊ณผ ๋˜ฅํ”ผํ•˜๊ธฐ ๊ฒŒ์ž„ ์˜ˆ์ œ

์œˆ๋„์šฐ API ํ”„๋กœ๊ทธ๋ž˜๋ฐ 6 : ๊ฐ„๋‹จํ•œ UI ๊ตฌํ˜„๊ณผ ๋˜ฅํ”ผํ•˜๊ธฐ ๊ฒŒ์ž„ ์˜ˆ์ œ ์ด์ „ ๊ธ€์— ์ด์–ด์„œ ์ถ”๊ฐ€์ ์ธ ๊ธฐ๋Šฅ์„ ์•ฝ๊ฐ„ ์ถ”๊ฐ€ํ•ด ๋ณด์ž. ์ „์—ญ ๋ณ€์ˆ˜ ์žฌ์„ค์ • struct tagBox { RECTrt; floatspeed; }; vectorvecBox;// ๋–จ์–ด์ง€๋Š” ๋ ‰ํŠธ๋“ค์˜ ์ •๋ณด intnDelay = 50; struct tagBox๋ฅผ ์ƒˆ๋กœ ์„ ์–ธํ•˜์—ฌ RECT๋ฅผ ๋Œ€์ฒดํ–ˆ๋‹ค. ๊ทธ ์ด์œ ๋Š”, ๊ฐ๊ฐ์˜ ์ƒ์ž๋งˆ๋‹ค ๋–จ์–ด์ง€๋Š” ์†๋„๋ฅผ ๋‹ค๋ฅด๊ฒŒ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„œ์ธ๋ฐ, ์ด๋Š” ๋‚œ์ด๋„๋‚˜ ์•ฝ๊ฐ„์˜ ์žฌ๋ฏธ ์š”์†Œ๋ฅผ ์ฒจ๊ฐ€ํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋‹ค. WM_TIMER : ์ ์ˆ˜ ๊ณ„์‚ฐ๊ณผ ํƒ€์ž… ์ˆ˜์ • case WM_TIMER:// ํƒ€์ด๋จธ์— ์˜ํ•ด์„œ ํ˜ธ์ถœ { InvalidateRect(hWnd, NULL, true); nLevel = nScore / 100 + 1; // ํฌ์ง€์…˜ ์œ„..

์œˆ๋„์šฐ API ํ”„๋กœ๊ทธ๋ž˜๋ฐ 1, 2 : ์ฐฝ ์ƒ์„ฑ ๋ฐ ๊ธฐ๋ณธ ์„ธํŒ…๊ณผ ๋„ํ˜• ๊ทธ๋ฆฌ๊ธฐ

์œˆ๋„์šฐ API ํ”„๋กœ๊ทธ๋ž˜๋ฐ 1 : ์ฐฝ ์ƒ์„ฑ ๋ฐ ๊ธฐ๋ณธ ์„ธํŒ… ๋จผ์ € ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค(2019)์—์„œ Windows ๋ฐ์Šคํฌํƒ‘ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•˜์ž. ๊ทธ๋Ÿผ ์•„๋ž˜์™€ ๊ฐ™์€ ์‹์œผ๋กœ ํ”„๋กœ์ ํŠธ๊ฐ€ ์ƒ์„ฑ๋˜๋Š”๋ฐ, ์ด์ค‘ framework.h, WindowsProject1.cpp ํŒŒ์ผ์ด ์ž๋™ ์ƒ์„ฑ๋˜๊ณ , ์ด ๋ถ€๋ถ„์„ ๊ณ ์น˜๋ฉด์„œ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•œ๋‹ค. framwork.h ํŒŒ์ผ์€ ํ—ค๋” ํŒŒ์ผ์ด๋‚˜ ๋งคํฌ๋กœ ์„ ์–ธ, ๋ณ€๊ฒฝ์ด ๊ฑฐ์˜ ์—†๋Š” ๋ณ€์ˆ˜ ๋“ฑ์„, WindowsProject1.cpp ํŒŒ์ผ์—์„œ๋Š” ํƒ€์ด๋จธ๋‚˜ ํŽ˜์ธํŒ…์„ ํฌํ•จํ•˜๊ณ  ์žˆ๋‹ค. framework.h // header.h: ํ‘œ์ค€ ์‹œ์Šคํ…œ ํฌํ•จ ํŒŒ์ผ // ๋˜๋Š” ํ”„๋กœ์ ํŠธ ํŠน์ • ํฌํ•จ ํŒŒ์ผ์ด ๋“ค์–ด ์žˆ๋Š” ํฌํ•จ ํŒŒ์ผ์ž…๋‹ˆ๋‹ค. // #pragma once #include "targetver.h" #define WIN..

์žฌํ…Œํฌ / ํˆฌ์ž ์„œ์  ๋ฆฌ๋ทฐ : <์šด๋ช…์„ ๋ฐ”๊พธ๋Š” 10๋…„ ํ†ต์žฅ> [๊ณ ๋“์„ฑ] (์žฌํ…Œํฌ, ๋ถ€์žํ•™, ๊ฒฝ์ œ์  ์ž์œ , ์ž์‚ฐ ๊ด€๋ฆฌ, ๋ˆ ๊ด€๋ฆฌ, ์ €์ถ•, ์ฃผ์‹,

๊ฒฝ์ œ์  ์ž์œ ๋ฅผ ์œ„ํ•ด ์ฝ๊ณ  ์ •๋ฆฌํ•œ ๊ธ€๋“ค์„ ์ •๋ฆฌํ•œ ํฌ์ŠคํŒ…์ž…๋‹ˆ๋‹ค. ์žฌํ…Œํฌ, ๋ถ€์žํ•™, ๊ฒฝ์ œ์  ์ž์œ , ์ž์‚ฐ ๊ด€๋ฆฌ, ๋ˆ ๊ด€๋ฆฌ, ์ €์ถ•, ์ฃผ์‹, ๋ถ€๋™์‚ฐ, ํˆฌ์ž ๋“ฑ์— ๊ด€์‹ฌ์ด ๋งŽ์€ ๋ถ„๋“ค๊ป˜ ๋„์›€์ด ๋˜์—ˆ์œผ๋ฉด ํ•ฉ๋‹ˆ๋‹ค. ์ฑ…์˜ ๊ฒฝ์šฐ, ์•ก๊ธฐ์Šค๋งŒ ๋ฝ‘์•„์„œ ์ „๋‹ฌํ•ด ๋“œ๋ฆฌ๋ ค๊ณ  ๋…ธ๋ ฅํ–ˆ์Šต๋‹ˆ๋‹ค. ์œ ํ˜น์— ๋น ์ง€์ง€ ๋ง๋ผ. 1. ๊ณ ์ˆ˜์ต์˜ ์œ ํ˜น - ๋ˆ„๊ตฌ๋‚˜ ์ž์‹ ์˜ ๋ˆ์ด ๋ถˆ์–ด๋‚˜๊ธธ ๋ฐ”๋ž€๋‹ค 2. ๊ณผ์†Œ๋น„์˜ ์œ ํ˜น - ๋‚จ๋“ค๊ณผ ์ž์‹ ์ด ๋‹ค๋ฅด๋‹ค๋Š” ๊ฒƒ์„ ๋ณด์—ฌ์ฃผ๊ณ  ์‹ถ์–ดํ•œ๋‹ค 3. ๊ฒŒ์œผ๋ฆ„์˜ ์œ ํ˜น - ๋” ๋ง ์•Š๊ฒ ์Œ ์žฌ์ •์ ์ธ ์–ด๋ ค์›€์€ ์ง์—…, ๊ฐ€์กฑ, ๊ฐœ์ธ์  ์˜์—ญ ์ „๋ฐ˜์„ ๊ทธ๋Š˜์ง€๊ฒŒ ํ•œ๋‹ค. ๋ˆ ๊ฑฑ์ •์€ ์žฌ๋Šฅ, ์šฉ๊ธฐ, ์ž ์žฌ๋ ฅ์„ ๊ฐ‰์•„๋จน๋Š”๋‹ค. ๋ˆ์— ์ง‘์ฐฉํ•˜๋ฉด, ๋ˆ์„ ์ข‡์œผ๋ฉด ๋ˆ์€ ๋„๋ง๊ฐ„๋‹ค. ์ง„์ •ํ•œ ๋ถ€์ž๋Š” ๋ˆ์— ์ง‘์ฐฉํ•˜์ง€ ์•Š๋Š”๋‹ค. ๋ˆ์€ ์‚ฌ๋ž‘์˜ ๋Œ€์ƒ์ด ์•„๋‹ˆ๋ผ ์ฒ ์ €ํ•˜๊ณ  ๋ƒ‰์ •ํ•˜๊ฒŒ ๊ด€๋ฆฌ๋˜์–ด์•ผ ํ•  ๋Œ€์ƒ์ด๋‹ค. ์›ํ•˜..

์žฌํ…Œํฌ 2021. 10. 13. 21:24