yyZa

Pixi.js 7.2.0๋ฒ„์ „ ์—…๋ฐ์ดํŠธ Vue3์—์„œ ์ง„ํ–‰ํ•˜๊ธฐ(with Pinia) ๋ณธ๋ฌธ

๊ฐœ๋ฐœ์ผ์ง€

Pixi.js 7.2.0๋ฒ„์ „ ์—…๋ฐ์ดํŠธ Vue3์—์„œ ์ง„ํ–‰ํ•˜๊ธฐ(with Pinia)

yyza 2023. 12. 11. 16:53
๋ฐ˜์‘ํ˜•

๐Ÿฅ‘Pixi.js 7.2.0๋ฒ„์ „ ์—…๋ฐ์ดํŠธ Vue3์—์„œ ์ง„ํ–‰ํ•˜๊ธฐ(with Pinia)

์ž ์—…๋ฐ์ดํŠธ ํ•˜์ž๋งˆ์ž ์ฒ˜์Œ๋ถ€ํ„ฐ ์—๋Ÿฌ ๋“œ๊ฐ€์ž~ 

!!Cannot find propagation path to disconnected target on destroyed sprite!!

์—…๋ฐ์ดํŠธ ํ›„ sprite๊ฐ์ฒด์— ํด๋ฆญ์ด๋ฒคํŠธ์ธ eventmode๋ฅผ static์œผ๋กœ ์„ค์ • ํ•˜๋ฉด ์ด๋Ÿฌํ•œ ์—๋Ÿฌ๋ฅผ ๋ฑ‰๋Š”๋‹ค.

 

์ด์œ ๊ฐ€ ๋ญ˜๊นŒ ?

- ๋‚˜๋Š” ํ•œ ์ดํ‹€์„ ์ฐพ์•„ ํ—ค๋ฉ”๊ณ  ๊ณ ์ƒํ–ˆ์ง€๋งŒ ์ด์œ ๋Š” ๊ฐ„๋‹จํ•˜๋‹ค. Pinia์— sprite๋‚˜ app, container๋ฅผ state์— ์ €์žฅ ์‹œํ‚ฌ ๋•Œ proxy๊ฐ์ฒด๋กœ ๋ณ€๋ชจ๋˜์–ด ์ €์žฅ๋˜๋ฏ€๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์—ˆ๋‹ค๋Š” ๊ฑฐ๋‹ค ... ์ฐธ ๋‹จ์ˆœํ•œ ใ… 

 

ํ•ด๊ฒฐ๋ฐฉ๋ฒ•!?

- pinia์—†์ด ์ „์—ญ๋ณ€์ˆ˜ ์„ค์ •์„ ๋ญ˜๋กœํ•ด์ฃผ๋‚˜ ~~ ํ•˜๋‹ค๊ฐ€ ๊ทธ๋ƒฅ main.js์— provide ์‚ฌ์šฉํ•˜์—ฌ ์ „์—ญ์œผ๋กœ ๋ณ€์ˆ˜ ์ €์žฅํ•ด์ฃผ๊ณ  inject๋กœ ๊ฐ€์ ธ์™€์„œ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค.(์ฃผ์˜! ์ •ํ•ด์ง„ ๊ฐ’์€ ๋ณ€๋™์ด ์•ˆ๋จ getter์˜ ์„ฑ์งˆ์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค.)

์ฐธ๊ณ ๋กœ ref๋ณ€์ˆ˜๋กœ ์ €์žฅํ•ด์„œ ๋„ฃ์–ด๋„ eventmode๋Š” ์—๋Ÿฌ๋ฅผ ๋ฑ‰์Šต๋‹ˆ๋‹ค. pinia state๋‚˜ ref ๋“ฑ๋“ฑ์œผ๋กœ ์ €์žฅ ์‹œ ์•„์ง pixi๊ฐ€ ํ˜ธํ™˜์„ ํ•˜์ง€ ์•Š๋Š”๋‹ค๊ณ  ํ•œ๋‹ค~ ์ฐพ์•„๋ด๋„ ํ•ด๊ฒฐ์ฑ…์ด ๋ณ„๋กœ ๋‚˜์™€์žˆ์ง€ ์•Š์•„์„œ ์ด๋ ‡๊ฒŒ ๊ธ€ ๋‚จ๊น๋‹ˆ๋‹ค ! ๋‚˜์ฒ˜๋Ÿผ ์‚ฝ์งˆํ•˜๋Š” ์ผ์—†๊ธฐ!

 

์•„ ์ฐธ๊ณ ๋กœ pixi์— ์ถ”๊ฐ€๋œ transfomer๋‚˜ viewport๊ฐ™์€ essential๋“ค๋„ ๋‹ค ๊ฐ™์ด ์—…๋ฐ์ดํŠธ๋ฅผ ํ•ด์ฃผ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค ! 

 

์šธ์–ด ํ•œ์—†์ด ์šธ์–ด!

๋ฐ˜์‘ํ˜•