๋ชฉ๋ก์ ์ฒด ๊ธ (1096)
KoreanFoodie's Study
ํจ์์ ์ค๋ฒ๋ก๋ฉ (function overloading) ํจ์์ ์ค๋ฒ๋ก๋ฉ์, ์ธ์๋ก ๋ค์ด์ค๋ ๋ณ์์ ํ์ ์ ๋ฐ๋ผ ์ด๋ฆ์ด ๊ฐ์ ํจ์๋ค ์ค ์ ํฉํ ํจ์๋ฅผ ํธ์ถํด ์ฃผ๋ ๊ฒ์ ์๋ฏธํ๋ค. ์ด๋, ์ธ์๋ฅผ ์ฐพ๋ ๊ณผ์ ์ ๋ค์๊ณผ ๊ฐ๋ค. 1 ๋จ๊ณ : ์์ ๊ณผ ํ์ ์ด ์ผ์นํ๋ ํจ์๋ฅผ ์ฐพ๋๋ค. 2๋จ๊ณ : ์ ํํ ์ผ์นํ๋ ํ์ ์ด ์๋ ๊ฒฝ์ฐ, ์๋์ ๊ฐ์ ํ๋ณํ์ ํตํด ์ผ์นํ๋ ํจ์๋ฅผ ์ฐพ๋๋ค. Char, unsigned char, short ๋ int๋ก ๋ณํ๋๋ค. Unsinged Short๋ int์ ํฌ๊ธฐ์ ๋ฐ๋ผ int ํน์ unsigned int๋ก ๋ณํ๋๋ค. Float๋ double๋ก ๋ณํ๋๋ค. Enum์ int๋ก ๋ณํ๋๋ค. 3๋จ๊ณ : ์์ ๊ฐ์ด ๋ณํํด๋ ์ผ์นํ๋ ๊ฒ์ด ์๋ค๋ฉด ์๋์ ์ข ๋ ํฌ๊ด์ ์ธ ํ๋ณํ์ด ์ผ์ด๋๋ค. ์์์ ์ซ..
๊ฐ์ฒด๋? ๊ฐ์ฒด๋ ์ธ์คํด์ค ๋ณ์(instance variable)๊ณผ ์ธ์คํด์ค ๋ฉ์๋(instance method)๋ก ์ด๋ฃจ์ด์ ธ ์๋ค. ํด๋์ค ํด๋์ค๋ ๊ฐ์ฒด๋ฅผ ์ฐ์ด๋ด๋ '์ค๊ณ๋'์ด๋ค. ํด๋์ค ๋ด๋ถ์ ๋ณ์์ ํจ์๋ฅผ ๊ฐ๊ฐ ๋ฉค๋ฒ ๋ณ์(member variable)๊ณผ ๋ฉค๋ฒ ํจ์(member function)์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค. ๋ฉค๋ฒ ๋ณ์์ ํจ์๋ ์ ๊ทผ ์ง์ ์๋ฅผ ์ค์ ํ ์ ์๋ค. public : ์ธ๋ถ์์ ์ ๊ทผ ๊ฐ๋ฅ protected : ์์๋ ํด๋์ค๋ง ์ ๊ทผ ๊ฐ๋ฅ private : ์ธ๋ถ์์ ์ ๊ทผ ๋ถ๊ฐ๋ฅ ์ฌ์ค C++์์ ํด๋์ค์ ๊ตฌ์กฐ์ฒด์ ์ ์ผํ ์ฐจ์ด๋ ๋ฐ๋ก ์ ๊ทผ ์ง์ ์์ ์๋ค!
new์ delete c์ malloc๊ณผ calloc์ด ์๋ค๋ฉด, C++์๋ new์ delete๊ฐ ์๋ค. int* p = new int; *p = 10; delete p; ๋ง์ฝ ์ง์ญ๋ณ์๋ฅผ delete๋ก ํด์ ํ๋ ค ํ๋ค๋ฉด Heap์ด ์๋ ๊ณต๊ฐ์ ํด์ ํ๋ ค ํ๋ค๋ ๊ฒฝ๊ณ ๋ฉ์์ง๊ฐ ๋ํ๋๋ค. ์ปดํ์ผ๋ฌ๋ ๋ณ์๋ฅผ ๊ฐ๊น์ด ๊ณณ์์ ์ฐพ๋๋ค. int a = 4; { std::cout
์ฐธ์กฐ์ (๋ ํผ๋ฐ์ค) ๋ ํผ๋ฐ์ค(reference)๋ & ๊ธฐํธ๋ฅผ ์ด์ฉํด์ ํ๊ธฐํ๋ค. #include int main() { int a = 3; int& another_a = a; } ์ฐธ์กฐ์๋ ๋ณ๋ช , ์ฆ ๋๋ค๋ฅธ ์ด๋ฆ์ด๋ค. ๋ ํผ๋ฐ์ค๋ ๋ฐ๋์ ์ ์ ์ ๋๊ตฌ์ ๋ณ๋ช ์ด ๋ ๊ฒ์ธ์ง ์ง์ ํด์ผ ํ๋ค. ๋ํ, ๋ ํผ๋ฐ์ค๊ฐ ํ ๋ฒ ๋ณ๋ช ์ด ๋๋ฉด ์ ๋๋ก ๋ค๋ฅธ ์ด์ ๋ณ๋ช ์ด ๋ ์ ์๋ค! int a = 10; int& another_a = a; int b = 3; another_a = b; ์ ์ผ ๋ง์ง๋ง ์ค์, ์ค์ ๋ก "a=b"์ ๊ฐ์ ์๋ฏธ๋ฅผ ์ง๋๋ค. ๋ํ, ๋ ํผ๋ฐ์ค๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ ์์ ์กด์ฌํ์ง ์์ ์๋ ์๋ค. ์ด๋ ๋ ํผ๋ฐ์ค๋ฅผ ์ํด ์๋ก์ด ๊ณต๊ฐ์ ํ ๋นํ ํ์๊ฐ ์์ ์๋ ์๋ค๋ ๊ฒ์ด๋ค. ์ฐธ์กฐ์์ ์ฐธ์กฐ์? int a = 1; int& ..
์ด๋ฆ ๊ณต๊ฐ (namespace) namespace๋ ์ ์๋ ๊ฐ์ฒด๊ฐ ์ด๋ ์์์ธ์ง๋ฅผ ์ง์ ํด์ค๋ค. #include "header1.h" #include "header2.h" int main() { header1::foo(); header2::foo(); } ์์ ์์์ฒ๋ผ, header1๊ณผ header2์ ๊ฐ์ ์ด๋ฆ์ ํจ์ foo( )๊ฐ ์ ์๋์ด ์๋๋ผ๋ namespace๋ฅผ ์ฌ์ฉํ๋ฉด ๊ตฌ๋ถํด์ ์ฌ์ฉํ ์ ์๋ค. ๋ํ, "using namespace std;"์ ๊ฐ์ ๋ฐฉ์์ ์ถ์ฒํ์ง ์๋๋ค. std์๋ ์๋ง์ ํจ์๋ค์ด ํฌํจ๋์ด ์๊ธฐ ๋๋ฌธ์, ์ถฉ๋์ด ์ผ์ด๋ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค. ์ด๋ฆ ์๋ ์ด๋ฆ ๊ณต๊ฐ ์ด๋ฆ ์๋ ์ด๋ฆ ๊ณต๊ฐ์ ์ค์ ํ ๊ฒฝ์ฐ, ์ ์๋ ๊ฒ๋ค์ ํด๋น ํ์ผ ์์์๋ง ์ ๊ทผํ ์ ์๊ฒ ๋๋ค. ์ด ๊ฒฝ์ฐ ๋ง์น stati..
๊ฐ์น๋ ๋ฌด์์ธ๊ฐ. ๋ฌด์์ ๊ฐ์น์๋ค๊ณ ์ ์ํ ์ ์์๊น. ๋นํธ์ฝ์ธ์ด ์ฒ์ ์ดํ์ด ๋ถ์์ ๋๋ฅผ ์์ํ ๊ธฐ์ตํ๋ค. ๋ฌด์์ด ๊ฐ์น ์๊ธธ๋ ์ฌ๋๋ค์ ๋ฐ์ดํฐ ์ชผ๊ฐ๋ฆฌ์ ๊ทธ๋ฆฌ๋ ์ด๊ดํ๋ ๊ฒ์ธ๊ฐ. ๋ ๋ํ ๋นํธ์ฝ์ธ ๊ธฐ์ ์์ ์ ์ฝ์ผ๋ฉฐ, ์ค์ ํฌ์๋ ํ๊ณ ๊ธ๋ ์ฐ๋ฉฐ ์คํํธ์ ์๋ ๊ธฐ์๊ฑฐ๋ ธ๋ค. ๋๋ฌด๋๋ ๊ถ๊ธํ๊ธฐ์. ๋น์ท ๊ทธ๊ฒ ๋ฌด์์ด๊ธธ๋ ๊ทธ๋ฆฌ๋ ๊ฐ์น๊ฐ ์๋ค๊ณ ํ๋์ง ์์์ผ๊ฒ ๋ค๊ณ ์๊ฐํ์๋ค. ํ์ง๋ง ์๋ฌด๋ฆฌ ๊ธฐ์ ์ด ํ๋ฅญํ๋ค ํ๋ค, ๊ฒฐ๊ตญ ๊ฐ์น๋ ์ธ๊ฐ์ด ์ ํ๋ ๊ฒ์ด์๋ค. ์ํธ๊ฐ์ ํฉ์, '์ด๊ฒ์ ๊ฐ์น๊ฐ ์๋ ๊ฒ์ด๋ค'๋ผ๋ ๊ณตํต์ ์ ๋ขฐ๊ฐ ๋ฌด์์ ์ ๋ฅผ ์ฐฝ์ถํด๋ด๊ณ ์์๋ค. ์ถํด๊ทผ๊ธธ์ ์ฑ ์์ง๋ ๋ฒ์ค ์ ๋ฆฌ์ฐฝ์๋, ์ค๋๋ ๋ช ํ ์ธ์ผ์ ํ๋ณดํ๋ ์คํฐ์ปค๊ฐ ๋์ง๋์ง ๋ถ์ด์๋ค. ๋ช ํ์ ์ ๋ง๋ก ๊ฐ์น๊ฐ ์๋ ๊ฒ์ผ๊น. ์ต ์๋ฆฌ๊ฐ ๋๋ ๋์ ์ง๋ถํ ์ ๋์ ๊ฐ์ด์น๊ฐ..
์ธ์์ ํผ์๋ค. ๊ทธ๋ ๊ธฐ์ ๋์ฑ ๋ ์ฌ๋์ด ํ์ํ๋ค. ์ฌ๋ ์ธ(ไบบ)์ด๋ผ๋ ํ์๋ฅผ ํด๋ถํ๋ฉฐ ์ง๋ถํ ์ด์ผ๊ธฐ ๋ณด๋ฐ๋ฆฌ๋ฅผ ํ๊ณ ์ถ์ ๊ฒ์ด ์๋๋ค. ๋ค๋ง ์ธ๋ก์์ ๋ํด์ ํ ๋ฒ์ฏค ์๊ฐํด ๋ณผ ํ์๊ฐ ์๋ค๋ ๊ฑธ ๋งํ๊ณ ์ถ์์ ๋ฟ์ด๋ค. ์ธ๊ฐ์ ์ธ๋ก์์ด๋ผ๋ ๊ฒ์ ์ฐธ์ผ๋ก ๋ณต์ก ๋ฏธ๋ฌํด์, ๋๋ ๊ทธ๊ฒ์ ์์ํ ์ถฉ์กฑ๋์ง ๋ชปํ ๊ทผ์์ ์ธ ๊ณตํํจ์ผ๋ก ์ ์๋ด๋ ธ๋ค. ์ ๋ง๋ก, ์ธ๋กญ์ง ์์ ์ฌ๋์ด ์กด์ฌํ ์ ์๋๊ฐ. ์๋ง์ ์ฌ๋๋ค์ ์ค๋๋ ๋ค๋ฅธ ์ฌ๋์ ๋ง๋๋ค. ๋์ ๋ง์ฃผ์น๊ณ , ์ด์ผ๊ธฐ๋ฅผ ๋๋๋ค. ์๊ณ ๋ ๋ค๊ณ ํฌ์นํ๊ณ , ๊ต๊ฐํ๋ค. ๋จ๊ฑฐ์ฐ๋ฉด์๋ ์ฐจ๊ฐ์ด, ๊ฐ๊น์ฐ๋ฉด์ ๋จผ ๊ด๊ณ๋ฅผ ์๋ ๋งบ๋๋ค. ํ์ง๋ง ๊ทธ๋ค์ ํ์์ฐ์ ๋ฉ์ถ ์ค์ ๋ชจ๋ฅธ๋ค. ์ฌ๋์ ํ๊ณ ์์์๋ ๊ณ ๋ ํ๋ค๋ ๋ถํธํ ํฌ์ ๊ณผ, ์ฌ๋๋ฐ๊ณ ์์ง ์์์์ ์ค๋ ํ์ํต์ ๋๋๋ค๋ ์ฐ์ธํ ํธ๋ . ๊ทธ๋ฆฌ๊ณ ์ฌ..
๊น๋จน๊ธฐ ์ ์ ์ ์ด๋๋ ๋์ ํ์ญ์ฌ๋ค. 1. ์์ด๊ฐ ํตํ์ง ์๋ ํ์ฝฉ ์์์ 2. ์ ๋ ดํ๋ ์๋ฏผํ ์ผ๋ณธ ํ์ ์ด๋ฐฅ 3. ๊ทนํ์ ์ง์ ์ ์ ์ผ๋ก ๋ฌด์ฅํ ๋ฉ์ด๋ ์นดํ 4. ๋2๋ณ ์์ ๊ฐ๋ ๋ฒผ๋ฆฌ์บ ํ์ ์ฃผ๋ฃจ๋ง๋ธ To Be Continued.
๋จผ์ Get Control Rotation์ ๊ตฌํ ํ, Make Rotator๋ก degree๋ก ๋ณํ๋ ๊ฐ์ ๋ง๋ ๋ค. ๋ฐฉํฅ ๋ฒกํฐ๋ฅผ ์ถ์ถํ๊ณ , Normalize๋ฅผ ํด ์ค ๋ค, Add MovementInput๊ณผ ์ฐ๊ฒฐ์ํค๋ฉด ๋. ์ถํ ๋ฌ๋ฆฌ๊ธฐ ๊ธฐ๋ฅ์ ๊ตฌํํ ํ ๋ฐ, ์๋ ฅ์ผ๋ก ๋์์ ๊ตฌ๋ถ์ง์ผ๋ฉด ๋๋ค. Character Movement: Walking์์ Max Walk Speed๋ฅผ ์กฐ์ ํด ์๋ ฅ์ ๊ฒฐ์ ํ์. ๋ฐ๊ธฐ์ ๊ฒฝ์ฐ, ์์ Max Walk Speed ๋ฅผ ์กฐ์ ํด ์ฃผ๊ธฐ๋ง ํ๋ฉด ๋๋ค. ์ก์ ๋งคํ์์ Run์ ์ถ๊ฐํ๊ณ , ๋ค์๊ณผ ๊ฐ์ด ๋ง๋ค์ด์ค๋ค.
์ง์คํจ์ ํ์์ด๊ณ , ์ ๋จธ๋ฌ์คํจ์ ์ ํ์ด๋ค. ์ต๊ทผ ์๊ฐ์ ๋ํ ์ด์ผ๊ธฐ๋ฅผ ๋ง์ด ์ ์๋ค. ํ ๋ฌธ์ฅ์ผ๋ก ์์ฝํ์๋ฉด, ์๊ฐ์ ์ด๋ป๊ฒ ๋ณด๋ด๋์ง๊ฐ ์ค์ํ๋ ๊ฑฐ๋ค. ๊ทธ๋ฌ๋ ์ด์ ํ๋ฌ๊ฐ ์๊ฐ์ด๋ผ๋ฉด ์กฐ๊ธ์ด๋ผ๋ ์ฆ๊ฒ๊ฒ ๋ณด๋ด์ผ ํ๋ค. ์ ๋จธ์ ์ฌ๋ฏธ๊ฐ ์ค์ํ ์ด์ ๋, ๊ฒฐ๊ตญ ์๊ฐ์ด ์์คํ๊ธฐ ๋๋ฌธ์ด๋๊น. ๋ชจ๋ ์ฌ๋์๊ฒ ์๊ฐ์ ๋๋ฑํ๊ฒ ์ฃผ์ด์ง๋ค. ๋๊ตฐ๋ค ์๊ฐ์ ์ ์พํ๊ฒ ๋ณด๋ด๊ณ ์ถ์ง ์์ํ ๊น. ์ค๋๋ ์๋ง์ ์ฌ๋๋ค์ ์์ ์๊ฒ ์ฃผ์ด์ง ๋ช ์๊ฐ ๋จ์งํ ์์ ์๊ฐ์ ์ต๋ํ ์ฌ๋ฏธ์๊ฒ ๋ณด๋ด๊ธฐ ์ํด ์ ํฌ๋ธ์ ๋ทํ๋ฆญ์ค๋ฅผ ๋ค์ ๊ฑฐ๋ฆฐ๋ค. ๋ฌผ๋ก ์ฌ๋ฏธ๋ผ๋ ๊ฒ ์์กด์ ์ํ ํ์ ์์๋ ์๋ ์ ์๋ค. ๋ฐฅ๋ง ์ ๋จน๊ณ ๋ ์ฃฝ์ง๋ ์์ผ๋๊น. ํ์ง๋ง ์กฐ๊ธ ๋ ์ธ๊ฐ๋ค์ด ์ํ์ ์์ํ๋ค๋ ๊ฑด, ๋๋ฌผ์ ์ธ ์ถ ๊ทธ ์ด์์ ๋ฌด์ธ๊ฐ๋ฅผ ์ถ๊ตฌํ๋ค๋ ๋ป์ด๋ค. ์์์ ์ธ ์ธ๊ตฌ๋ ค ๋๋ด์์ ๋..