๐ซ ์ ์ฒดํ๋ฉด์ ๊ธฐ์ค์ผ๋ก ์ ์ ๋์์ต๋๋ค. ์ค๊ฐ์ ํ๋ฉด์ ์ถ์ ํ์ง ๋ง์์ฃผ์ธ์! ๐ซ
์ฌ๋ฐฉ์์ ๋ชฐ๋ ค์ค๋ ์ ๋ค๋ก๋ถํฐ ์ด์๋จ๊ณ , ๋ชฉํ๋ฅผ ์์ํด ์ต์ข ์คํ ์ด์ง์ ๋๋ฌํ์ธ์!
HTML, CSS, JavaScript
WASD ํค๋ฅผ ์ด์ฉํ์ฌ ์ด๋ํ ์ ์๊ณ , Space Q E R์ ๋๋ฌ์ ์คํฌ์ ์์ ํ ์ ์์ต๋๋ค.(E์คํฌ์ 3๋ ๋ฒจ, R์คํฌ์ 5๋ ๋ฒจ์ ํด๊ธ๋ฉ๋๋ค.)
์ผ์ชฝ ์๋์๋ ์ฒด๋ ฅ, ๋ง๋๊ฐ ํ๊ธฐ ๋์ด์์ต๋๋ค.
์ฒด๋ ฅ์ด ๋ชจ๋ ์์ง๋๋ฉด, ๊ฒ์์ด ์ข
๋ฃ๋ฉ๋๋ค.
์คํฌ์ ์์ ํ ๋๋ง๋ค ๋ง๋๊ฐ ์์ง๋๋ฉฐ, ๋ง๋๊ฐ ๋ถ์กฑํ๋ฉด ์คํฌ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.(์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ์๋์ผ๋ก ์ถฉ์ )
์ค๋ฅธ์ชฝ ์๋์๋ ๊ฐ ์คํฌ์ ๋ํ ํค, ์ฟจํ์ ์ ๋ณด๊ฐ ํ์๋์ด ์์ต๋๋ค.
์์ชฝ ์ค์์๋ ํ์ฌ ์คํ
์ด์ง๊ฐ ํ์๋๋ฉฐ, ์ด 15์คํ
์ด์ง๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค.
๊ฐ ์คํ
์ด์ง์ ๋ํ ๋ชฉํ๋ ์ค๋ฅธ์ชฝ ์์ ํ์๋์ด ์์ผ๋ฉฐ, ์กฐ๊ฑด ๋ฌ์ฑ ์ ๋ค์ ์คํ
์ด์ง๋ก ๋์ด๊ฐ๋๋ค.
์คํ
์ด์ง์ ๋ฐ๋ผ ๋ฑ์ฅ ํ๋ ๋ชฌ์คํฐ์ ์ข
๋ฅ๊ฐ ๋ค๋ฅด๊ณ , ์ ์ ๊ฐํด์ง๋๋ค. ๋ํ 10์คํ
์ด์ง์ 15์คํ
์ด์ง์๋ ๊ฐ๋ ฅํ ๋ชฌ์คํฐ๊ฐ ์กด์ฌํฉ๋๋ค.
๋ชฌ์คํฐ๋ฅผ ์ฒ์นํ ๋๋ง๋ค ๊ฒฝํ์น๋ฅผ ํ๋ํ๋ฉฐ, ์ผ์ ๋์ ๊ฒฝํ์น ํ๋ ์ ๋ ๋ฒจ์ด ์ค๋ฆ
๋๋ค.
1๋ ๋ฒจ์ด ์ค๋ฅผ ๋๋ง๋ค ์คํ
ํฌ์ธํธ๋ฅผ, 2๋ ๋ฒจ์ด ์ค๋ฅผ ๋๋ง๋ค ์คํฌํฌ์ธํธ๋ฅผ ์ป์ต๋๋ค.
Tํค๋ฅผ ํตํด ์คํ
ํฌ์ธํธ๋ ์ต๋ ์ฒด๋ ฅ ๋๋ ๋ง๋๋ฅผ ๋๋ฆด ์ ์์ผ๋ฉฐ, ์คํฌํฌ์ธํธ๋ ์คํฌ์ ๊ฐํํ ์ ์์ต๋๋ค.
์คํฌ์ 3๋ฒ ๊ฐํํ ๋๋ง๋ค ์๋ก์ด ๋ฅ๋ ฅ์ด ๊ฐ๋ฐฉ๋์ด ๋์ฑ ๊ฐํด์ง๋๋ค!
ESCํค๋ฅผ ํตํด ์ผ์์ ์ง ๋ฐ ์์๋ฉ๋ด๋ก ๋์๊ฐ๊ธฐ๊ฐ ๊ฐ๋ฅํฉ๋๋ค.
https://mf03ij348h32.netlify.app/
์ด๋ฏธ์ง ๊น๋นก์ ํ์์ ์ ๊ฑฐํ๊ธฐ ์ํ preload
์ด๋ฏธ์ง y์ถ ๊ธฐ์ค์ผ๋ก ๋ค์ง๋ ๋ฐฉ๋ฒ
Solid ์์น
ํด๋์ค ์ค๊ณ์ ํ์ผ ๋ถ๋ฆฌ ์ค์์ฑ
| ๋ฌธ์ | ์์ธ | ํด๊ฒฐ๊ณผ์ |
|---|---|---|
| ํค๋ณด๋๋ฅผ ๊พน ๋๋ ์ ๋, ์ด๋์ด ๋งค๋๋ฝ๊ฒ ์ด๋ฃจ์ด์ง์ง ์์ | ์ด๋ฒคํธ ๋ฆฌ์ค๋์์ ์ด๋์ ์ฒ๋ฆฌํ๋ ๋ฐฉ์ | ๋๋ฅธ ํค์ ์ํ๋ฅผ true, flase๋ก ์ ์ฅํ๊ณ , AnimationFrame์์ ์ด๋ ์ฒ๋ฆฌ |
| ๋๊ฐ์ ์ด๋ ์ ์ด๋ ์๋๊ฐ ๋ ๋น ๋ฆ | ๋ ๊ฐ์ ํค๋ฅผ ๋๋ ์ ๋๋ ๋์ผํ x,y ์ฆ๊ฐ ๋ฐฉ์ | ๋๊ฐ์ ์ผ๋ก ์ด๋ํ๋ ๋ ๊ฐ์ ํค๋ฅผ ๋๋ฅธ ๊ฒฝ์ฐ ์ฝ๊ฐ ๋๋ฆฌ๊ฒ ์ด๋ ์ํค๊ธฐ |
| ํน์ ๊ฒฝ์ฐ ์ถฉ๋ ๊ฐ์ง๋ฅผ ๋ชปํจ | ๊ณ ๋ คํ์ง ๋ชปํ ์ถฉ๋ ์กฐ๊ฑด | ์ค๋ธ์ ํธ์ 4๊ฐ์ ๊ผญ์ง์ ์ค ๋ค๋ฅธ ์ค๋ธ์ ํธ ์์ ํฌํจ ๋์ด ์๋ ์ ์ด ์๋๊ฐ? ๋ผ๋ ์กฐ๊ฑด์ โ๋ชจ์์ผ๋ก ๊ฒน์น ๊ฒฝ์ฐ์ ๋ํ ์์ธ์ฒ๋ฆฌ๋ฅผ ์ถ๊ฐ(์ค๋ธ์ ํธa์ ๋ x์ขํ๊ฐ b์ ๋ x์ขํ ์ฌ์ด์ ์๊ณ , b์ y์ขํ๊ฐ a์ y์ขํ ์ฌ์ด์ ์๋๊ฐ?) |
| ์ผ์ ์๊ฐ ํ ๋ฐ์ํ๋ ์ด๋ฒคํธ ๋์ค ์ผ์ ์ ์ง๋ฅผ ๋๋ฌ๋ ์๊ฐ์ด ์ง๋๋ฉด ์ด๋ฒคํธ๊ฐ ๋ฐ์ | setTimeout์ ํน์ง์ผ๋ก ์๊ธด ๋ฌธ์ | ๊ฒ์์๊ฐ์ ๊ธฐ๋ฐ์ผ๋ก ์ผ์ ์๊ฐ ํ ํจ์๋ฅผ ๋ฉ์๋ํ๋ ํจ์ ๊ตฌํ 1. requestAnimationFrame์ ๋ฐ๋ผ game_timer๊ฐ 1์ฉ ์ฆ๊ฐ 2. ์ผ์ ์ ์ง ์ game_timer๋ ์ค์ง 3. execute_time_out ํจ์๊ฐ ํธ์ถ ๋๋ฉด, ํ์ฌ ์๊ฐ์ ์ ์ฅ ๋ฐ game_timer > ์ ์ฅ๋ ์๊ฐ+์ผ์ ์๊ฐ ์ผ๋ ์ธ์๋ก ์ ๋ฌ ๋ฐ์ ํจ์ ํธ์ถํ๊ณ ์ข ๋ฃ |
| window ํฌ๊ธฐ์ ๋ฐ๋ผ ๊ฐํ ํ๋ฉด์์ ํ ์คํธ๊ฐ ๋์น๋ ํ์ | font-size๊ฐ ์ ์ ์ธ ๊ฐ | ๊ฐํ ํ๋ฉด ์ฐฝ ํฌ๊ธฐ์ window ํฌ๊ธฐ์ ๋ง์ถฐ ๊ฐ๋ณ์ ์ผ๋ก ์ฒ๋ฆฌ |