๐ŸŽฒ ๋žœ๋ค ์ˆซ์ž ํฐํŠธ ์ ์šฉ - FRONTENDBOOTCAMP-13th/JS-07-7zzang-Arcade GitHub Wiki

๊ตฌ๋ถ„

  • ๋‚ ์งœ : 2025.05.16
  • ์ข…๋ฅ˜ : ๋ฒ„๊ทธ
  • ์ค‘์š”๋„ : ๐Ÿ”ด

1. ๋ฌธ์ œ ์ƒํ™ฉ

ํฐํŠธ๋Š” ๋„คํŠธ์›Œํฌ์—์„œ ์ž˜ ๋ถˆ๋Ÿฌ์™€์ง€๊ณ , HTML์—์„œ ์ ์šฉ๋„ ์ž˜ ๋˜๋Š”๋ฐ, TS์—์„œ ์ƒ์„ฑํ•œ ๋žœ๋คํ•˜๊ฒŒ ์ƒ์„ฑ๋˜๋Š” ์ˆซ์ž๋“คํ•œํ…Œ๋งŒ ํฐํŠธ๊ฐ€ ์ ์šฉ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ


2. ์ฝ”๋“œ ์ฒจ๋ถ€

    ctx.font = `${cellHeight * 0.4}px DungGeunMo`;
    ctx.fillStyle = 'black';
    ctx.textAlign = 'center';
    ctx.textBaseline = 'middle';

3. ์›์ธ

  • Canvas API๋Š” ํ…์ŠคํŠธ๋ฅผ ๊ทธ๋ฆด ๋•Œ, ํ•ด๋‹น ํฐํŠธ๊ฐ€ '๋กœ๋“œ ์™„๋ฃŒ ์ƒํƒœ'์—ฌ์•ผ ์ œ๋Œ€๋กœ ์ ์šฉ๋œ๋‹ค.
  • HTML์˜ <p> ์š”์†Œ์—์„  DungGeunMo๊ฐ€ ์ž˜ ์ ์šฉ๋์ง€๋งŒ, canvas์—์„œ๋Š” ๊ธฐ๋ณธ ํฐํŠธ๋กœ ์ถœ๋ ฅ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์ด์—ˆ๋‹ค. canvas๊ฐ€ fillText๋ฅผ ์‹คํ–‰ํ•  ๋•Œ, DungGeunMo ํฐํŠธ๊ฐ€ ์•„์ง ๋กœ๋”ฉ ์ค‘์ด์—ˆ๊ธฐ ๋•Œ๋ฌธ์—โ€ฆ

๋„คํŠธ์›Œํฌ์—์„œ ๋ถˆ๋Ÿฌ์™€์ ธ๋„ ๊ทธ๋ฆฌ๋Š” ํƒ€์ด๋ฐ์ด ๋” ๋นจ๋ž๊ธฐ ๋•Œ๋ฌธ์— ํ•œ๋ฒˆ ๊ทธ๋ฆฌ๊ณ  ๊ทธ๋Œ€๋กœ fix ๋œ ๊ฒƒ..


4. ํ•ด๊ฒฐ ๊ณผ์ •

ํฐํŠธ ๋กœ๋“œ๊ฐ€ ์™„๋ฃŒ๋œ ์ดํ›„, fillTextํ•˜๋„๋ก ์„ค์ •ํ•ด์ฃผ๋„๋กโ€ฆ!!!

๊ทธ๋Ÿฌ๊ธฐ ์œ„ํ•ด Promise ๋ฅผ ํ†ตํ•ด ํฐํŠธ์™€ ์ด๋ฏธ์ง€๊ฐ€ ๋ถˆ๋Ÿฌ์™€์กŒ๋Š”์ง€ ํ™•์ธํ•œ ๋‹ค์Œ, ๋กœ๋“œ๊ฐ€ ๋˜์—ˆ๋‹ค๋ฉด ์ฝ”๋“œ ์‹คํ–‰ํ•˜๋„๋ก ์ฝ”๋“œ๋ฅผ ๋ฐ”๊ฟ”์ฃผ๋ฉด ์ ์šฉ์ด ์ž˜ ๋œ๋‹ค ~! ํฐํŠธ ์ ์šฉ๋œ ๊ฑฐ์— ๋งž์ถฐ์„œ ํฌ๊ธฐ ์กฐ์ • ์œ„์น˜ ์กฐ์ • ๋‹ค์‹œ ํ•ด์ฃผ๋ฉด ์˜ˆ์˜๊ฒŒ ์ž˜ ๋“ค์–ด๊ฐ€์žˆ๋‹ค.

์›๋ž˜ ..์ด๋žฌ๋˜ ๋…€์„์ด โ€ฆ. ์ด๋ ‡๊ฒŒ โ€ฆ ใ… ใ