BitmapText์ .text ์์ฑ์ ์ค์ ํ ํ .textWidth๋ ๋ ๋๋ง์ด ๋๋ ๋๊น์ง ์ฌ๋ฐ๋ฅด์ง ์์ต๋๋ค. repositioning ๊ณ์ฐ์ ํ ๋ ๊ธฐ๋ค๋ฆฌ๊ธฐ ์ํด requestAnimationFrame ()์ ์ฌ์ฉํด์ผํ์ต๋๋ค. ์์๋๋ ๋์์ ๋๊น?
Err, ๊ทธ๊ฒ์ ์ฝ๋๊ฐํ๋ ์ผ์ด๊ธฐ ๋๋ฌธ์ ์ง๊ธ ๋น์ฅ ์์๋๋ ๋์์ ๋๋ค. ๊ทธ๋ฌ๋ ์ฐ๋ฆฌ๋ ๊ทธ๊ฒ์ ๋ ์ข๊ฒ ๋ง๋ค ์ ์์ต๋๋ค;)
ํ ์คํธ๋ ์ฑ๋ฅ์์ ์ด์ ๋ก ๋ ๋๋ง ๋ ๋๊น์ง ์ ๋ฐ์ดํธ๋์ง ์์ต๋๋ค. ๋น์ ์ด ์นด์ดํฐ๋ฅผ ๊ฐ์ง๊ณ ์๋ค๊ณ ์์ํด๋ณด์ญ์์ค. ๋ ๋๋ง ๋ ๊ฒฝ์ฐ์๋ง ์ฌ๋ฐ๋ฅธ ๊ฒ์ ํ์ํ๋ ๋ฐ ํ์ํ๊ธฐ ๋๋ฌธ์ ํ ์คํธ ํด๋์ค์ ๊ฐ ์ซ์๋ฅผ ๋ค์ ๋ง๋ค๊ณ ์ถ์ง ์์ ๊ฒ์ ๋๋ค.
์๋ฅผ ๋ค์ด ์ผ๋ฐ Text ํด๋์ค๋ ๋๋น๋ฅผ ์ป์ผ๋ ค๊ณ ํ ๋ ๋ ๋๋ง ๋ฃจํ ์ธ๋ถ์ ํ ์คํธ๋ฅผ ์ ๋ฐ์ดํธํ์ฌ ๋ฐํ ๋ ๊ฐ์ด ์ ํํ๊ณ ์ต์ ์ํ์ธ์ง ํ์ธํฉ๋๋ค. BitmapText๋์ด๋ฅผ ์ํํ์ง ์์ต๋๋ค (ํ์ง๋ง ๊ทธ๋์ผํฉ๋๋ค).
์์ ์ฌํญ์ด ์์ฑ๋๋ ๋์ .textWidth๋ฅผ ์ฟผ๋ฆฌํ๊ธฐ ์ ์ ๊ฐ์ฒด์์ .updateText ()๋ฅผ ํธ์ถ ํ ์ ์์ต๋๋ค. ์ด๊ฒ์ rAF๋ฅผ ๊ธฐ๋ค๋ฆด ํ์์์ด ์ ํํ ์ธก์ ์ ์ ๊ณตํฉ๋๋ค.
์์ ์ฌํญ์ ํ์ฌ .textWidth๋ฅผ ๊ฐ์ธ ._textWidth๋ก ๋ง๋ค๊ณ .textWidth๋ผ๋ ์ฝ๊ธฐ ์ ์ฉ getter๋ฅผ ๋ง๋ค๊ณ ._textWidth๋ฅผ ๋ฐํํ๊ธฐ ์ ์ .validate ()๋ฅผ ํธ์ถํ๋ ๊ฒ์ ๋๋ค.
.width (๋ฐ ๋์ด)์ getter์ ๊ฒฝ์ฐ ๋๋น๋ฅผ ๋ฐํํ๊ธฐ ์ ์ .updateTransform ()์ ํธ์ถํด์ผํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
.validate๋ ๋ด๊ฐ ์ฐพ๋ ๊ฒ์ ๋๋ค. ๊ฐ์ฌ :). ๊ธฐํ๊ฐ๋๋ค๋ฉด ์ค๋ ์ ๋ ์ + ํ๋ณด๋ฅผ ๊ตฌํํ ๊ฒ์ ๋๋ค.
์ด ์ค๋ ๋๋ ๋ซํ ํ ์ต๊ทผ ํ๋์ด ์์๊ธฐ ๋๋ฌธ์ ์๋์ผ๋ก ์ ๊ฒผ์ต๋๋ค. ๊ด๋ จ ๋ฒ๊ทธ์ ๋ํ ์ ๋ฌธ์ ๋ฅผ์ฌ์ญ์์ค.