ahracho
@ahracho
Students
315
Reviews
19
Course Rating
4.8
Career
- 2020.08. - 2020.12. ์ผ์ฑ์ ์ ์ธํด (Android)
- 2023.01. - 2024.10. ํฌ๋ํํค ํด๋ผ์ด์ธํธ ๊ฐ๋ฐ (Unity, C#, UE5)
- 2024.10 - ์์ด๋ฒํผ ํด๋ผ์ด์ธํธ ๊ฐ๋ฐ (UE5, C++)
Education
- ํฌํญ๊ณต๊ณผ๋ํ๊ต ์ฐ์
๊ฒฝ์๊ณตํ๊ณผ ํ์ฌ ์กธ์
- ๋ฉ์์ด์ฌ์์ฒ๋ผ ํ๋ก ํธ์๋ ์ค์ฟจ 1๊ธฐ ์๋ฃ
Contacts
- ๋ฉ์ผ : ahracho816@gmail.com
- ๊นํ๋ธ : https://github.com/choar816
- ๋ธ๋ก๊ทธ : https://choar816.tistory.com/
Courses
Reviews
- [JS] Phaser Game Development - Vampire Survivors Clone
- [JS] Phaser Game Development - Vampire Survivors Clone
- [JS] Phaser Game Development - Vampire Survivors Clone
- [JS] Phaser Game Development - Vampire Survivors Clone
- [JS] Phaser Game Development - Vampire Survivors Clone
Posts
Q&A
physics.closest()๋ ์ค์ฌ์ ๊ธฐ์ค์ธ๊ฐ์, ์ถฉ๋ ์์ญ ๊ธฐ์ค์ธ๊ฐ์?
์๋ ํ์ธ์.this.physics.closest()๋ ๋จ์ํ ์ค์ฌ ์ข๋ฃ ๊ธฐ์ค์ผ๋ก ๊ณ์ฐ๋ฉ๋๋ค.Phaser์์ closest ํจ์๊ฐ ์ค์ ๋ก ์ด๋ป๊ฒ ๊ตฌํ๋์ด ์๋์ง ๋งํฌ์์ ํ์ธํด๋ณด์๋ฉด, ๋ค์๊ณผ ๊ฐ์ด source์ ๋ฌผ๋ฆฌ์์ง body๊ฐ ์๋ค๋ฉด body์ center(์ค์ฌ์ )์ ์ฌ์ฉํ๊ณ ์๋ ๊ฒ์ ํ์ธํ์ค ์ ์์ต๋๋ค!๋ฐ๋ผ์ ๋ชน์ ํํธ๋ฐ์ค๊ฐ ํฌ๊ธฐ๊ฐ ๋ค์ํ๋ค๋ฉด ์์๋๋ก ๋์ํ์ง ์์ ํ๋ฅ ์ด ํฌ๊ณ , ๊ทธ๋ฐ ๊ฒฝ์ฐ์๋ edge to edge๋ก ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ๋ ์ปค์คํ ๋ก์ง์ ์์ฑํ์ ์ผ ํฉ๋๋ค.closest: function (source, targets) { if (!targets) { targets = this.world.bodies.entries; } var min = Number.MAX_VALUE; var closest = null; var x = source.x; var y = source.y; var len = targets.length; for (var i = 0; i
- 0
- 1
- 67
Q&A
player, mob, background ์ด๋ฏธ์ง
์๋ ํ์ธ์~ ์ด ๊ฒ์ ์ ์์ ํ์ฉํ player, mob๊ณผ ๋น์ทํ ์ด๋ฏธ์ง๋ "free spritesheets" ๋ผ๋ ํค์๋๋ก ๊ฒ์ํด๋ณด์๋ฉด ์ฌ์ดํธ๋ฅผ ์ข ์ฐพ์ ์ ์์ต๋๋ค.https://opengameart.org/โ ์ฌ๊ธฐ์ spritesheet๋ก ๊ฒ์ํ์๋ฉด ์ํ์๋ ๋๋์ ์ด๋ฏธ์ง๊ฐ ๋ง์ด ๋์ต๋๋ค~https://kenney.nl/assets/toon-characters-1โ ์ด ์ด๋ฏธ์ง๋ ๋ํธ ๋๋์ ์๋์ง๋ง spritesheet ํ์์ผ๋ก ๋์ด์๋ ๋ฏ ํฉ๋๋ค.์ด๋ฏธ์ง๊ฐ ์ํ๋ ํฌ๊ธฐ์ ์ข ๋ค๋ฅด๋ค๋ฉด scale๋ก ์กฐ๊ธ ์กฐ์ ํด ๋ณผ ์ ์์ ๋ฏ ํฉ๋๋ค. ์ด๋ฏธ์ง ์์ฒด์ ํฌ๊ธฐ๋ฅผ ๊น๋ํ๊ฒ ์กฐ์ ํ๋ ค๋ฉด ๊ทธ๋ํฝ ํด์ ์ฌ์ฉํด์ผ ํ ๋ฏ ํ๋ฐ.. ์ด ๋ถ๋ถ์ ์ ๋ชจ๋ฅด๊ฒ ๋ค์ ใ ใ
- 0
- 2
- 52
Q&A
node ๋ฒ์ ๋ฌธ์๋๋ฆฝ๋๋ค.
์๋ ํ์ธ์. Phaser๊ฐ Node 18๋ฒ์ ๊ณผ ํธํ์ด ๋๋ฉด 18๋ฒ์ ์ผ๋ก ์๊ฐํ์ ๋ ๋ฌด๋ฐฉํ์๊ฒ ์ต๋๋ค. ๋ค๋ง 18๋ฒ์ ์ผ๋ก ์งํํ์๋ฉด ๊ฐ์์ ๋๊ฐ์ด ๋ฐ๋ผํ์ ๋ ๋ฒ์ ์ ์ผ๋ก ๋ฌ๋ผ์ง ๋ถ๋ถ ๋๋ฌธ์ ์๋ฌ๊ฐ ๋ ์ ์์ต๋๋ค. ์ด๋ฐ ๋ถ๋ถ์ ๊ตฌ๊ธ๋งํ์๋ฉฐ ๋๋ฒ๊น ํ์๋ฉด ์ข์ ํ์ต์ด ๋ ๊ฒ ๊ฐ์ต๋๋ค~
- 1
- 2
- 171
Q&A
npm start ๊ด๋ จ ์๋ฌ ์ง๋ฌธ
์๋ ํ์ธ์.ํด๋น ์ค๋ฅ๋ node ๋ฒ์ ์ด ๊ฐ์ ๋ฒ์ ๊ณผ ๋ง์ง ์์ ๋ฐ์ํ๋ ์ค๋ฅ ๊ฐ์ต๋๋ค.์ด ๊ฐ์๋ node 16.16.0 ๋ฒ์ ์ผ๋ก ์งํ๋์์ต๋๋ค.node๋ฅผ ๋ค์ด๊ทธ๋ ์ด๋ํด์ฃผ์๊ฑฐ๋, mise ๊ฐ์ ํด์ ์ฌ์ฉํ์ค ๊ฒ์ ๊ถํด๋๋ฆฝ๋๋ค.mise๋ node, python, terraform ๋ฑ์ ๊ฐ๋ฐ ๋๊ตฌ/๋ฐํ์์ ์ค์น ๋ฐ ๊ด๋ฆฌํ๊ณ ํ๋ก์ ํธ๋ง๋ค ์ฌ์ฉํ ๋๊ตฌ ๋ฒ์ ์ ์ง์ ํ ์ ์๋๋ก ํ๋ ํด์ ๋๋ค. ํ๊ฒฝ ๋ณ์๋ฅผ ๊ด๋ฆฌํด ํ๋ก์ ํธ๋ง๋ค ๋ค๋ฅธ AWS key ๋ฑ์ ์ง์ ํ ์๋ ์์ต๋๋ค.mise๋ฅผ ์ค์นํ์ ๋ค, node ๋ฒ์ ์ phaser ๊ฒ์ ํ๋ก์ ํธ ๋ฃจํธ ํด๋๋ก ์ด๋ํ์ ์ mise use node@16 ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ์๋ฉด ๋ฉ๋๋ค. mise ์ค์น ๋ฐ ์ฌ์ฉ์ ๋ค์ ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ์๋ฉด ๋ฉ๋๋ค: https://www.itsmo.dev/introduce-mise/
- 0
- 2
- 336
Q&A
๋ ธ๋.js ๋ฒ์ ์ง๋ฌธ
์๋ ํ์ธ์.์ง๋ฌธ์๋๊ณผ ๊ฐ์ ๊ฒฝ์ฐ, node ๋ฒ์ ์ ํ๋ก์ ํธ ๋ฒ์ ๋ง๋ค ๋ค๋ฅด๊ฒ ์ค์ ํ ์ ์๋ mise๋ฅผ ์ค์นํด์ ์ฌ์ฉํ ๊ฒ์ ์ถ์ฒ๋๋ฆฝ๋๋ค.mise๋ node, python, terraform ๋ฑ์ ๊ฐ๋ฐ ๋๊ตฌ/๋ฐํ์์ ์ค์น ๋ฐ ๊ด๋ฆฌํ๊ณ ํ๋ก์ ํธ๋ง๋ค ์ฌ์ฉํ ๋๊ตฌ ๋ฒ์ ์ ์ง์ ํ ์ ์๋๋ก ํ๋ ํด์ ๋๋ค. ํ๊ฒฝ ๋ณ์๋ฅผ ๊ด๋ฆฌํด ํ๋ก์ ํธ๋ง๋ค ๋ค๋ฅธ AWS key ๋ฑ์ ์ง์ ํ ์๋ ์์ต๋๋ค.mise๋ฅผ ์ค์นํ์ ๋ค, node ๋ฒ์ ์ phaser ๊ฒ์ ํ๋ก์ ํธ ๋ฃจํธ ํด๋๋ก ์ด๋ํ์ ์ mise use node@16 ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ์๋ฉด ๋ฉ๋๋ค. mise ์ค์น ๋ฐ ์ฌ์ฉ์ ๋ค์ ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ์๋ฉด ๋ฉ๋๋ค: https://www.itsmo.dev/introduce-mise/
- 0
- 2
- 422
Q&A
catnip ์ดํํธ ๋ฒ์๊ฐ ์ด์ํ๋ค์
์๋ ํ์ธ์.ํ์ฌ ์ด๋๊ณผ ๊ด๋ จ๋ ์ฝ๋๋ PlayingScene.js์ movePlayerManager ๋ฉ์๋์์ ๊ด๋ฆฌํ๊ณ ์๋๋ฐ, player๋ฅผ ์ด๋ํ๋ ์ฝ๋์ weapon์ ์ด๋ํ๋ ์ฝ๋์ ์์๊ฐ ๋ณด์ฅ๋์ง ์์ ๋ฐ์ํ๋ ๋ฌธ์ ๋ก ์๊ฐ๋ฉ๋๋ค.movePlayerManager() { this.m_player.move(vector); this.m_weaponStatic.children.each(weapon => { weapon.move(vector); }, this); }๋ค์๊ณผ ๊ฐ์ ๋ ๋ฐฉ๋ฒ์ ์๋ํด๋ณด์ค ์ ์๊ฒ ์ต๋๋ค.player์ move ๋ฉ์๋ ๋ด๋ก weapon์ move์ํค๋ ์ฝ๋๋ฅผ ์ด๋์ํต๋๋ค.AI ๋ต๋ณ์ผ๋ก ์ ํ์ ธ ์๋ ๋ฐฉ๋ฒ๋๋ก, catnip์ move ๋ฉ์๋๋ฅผ player์ ์ขํ๋ฅผ ๊ฐ์ ธ์ ์ง์ ๋์ ํ๋ ๋ฐฉ์์ผ๋ก ๋ณ๊ฒฝํฉ๋๋ค.
- 0
- 2
- 240
Q&A
addAttackEvent ์๋๊ฐ ๋๋ฌด ๋น ๋ฅด๋ฉด ์ด๋ฐ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค์
์๋ ํ์ธ์.์ผ๋ฐ์ ์ผ๋ก Maximum call stack size exceeded๋ผ๋ ์๋ฌ๋ ๋ฌดํ๋ฃจํ ๋๋ ๋ฐ๋ณต ํธ์ถ๋ก ์ธํด ์ฝ์คํ ํฌ๊ธฐ๊ฐ ์ด๊ณผ๋์์ ๋ ๋ฐ์ํฉ๋๋ค. ์ฝ๋์์ Beam.setVelocity๊ฐ ์ฌ๋ฌ ๋ฒ ๋ฐ๋ณต ํธ์ถ๋๋ฉด์ ์๋ฌ๊ฐ ๋ ๊ฒ ๊ฐ์ต๋๋ค.์์ ์๋ฃ๋๋ก๋ผ๋ฉด setVelocity ๋ฉ์๋์์ ๋ฌดํ ๋ฃจํ๊ฐ ๋ฐ์ํ์ง ์์ ๊ฒ ๊ฐ์๋ฐ, ์ด๋ฒคํธ๊ฐ ๋๋ฌด ์งง์ ์๊ฐ ์์ ๊ณ์ํด์ ๋ฐ์ํด์ ์ฝ์คํ ํฌ๊ธฐ๋ฅผ ์ด๊ณผํ ๊ฒ์ผ๋ก ๋ณด์ ๋๋ค. ์ฝ์คํ์ ํฌ๊ธฐ๋ฅผ ์ง์ ๋ณ๊ฒฝํ ์๋ ์์ผ๋ repeatGap์ ์กฐ๊ธ์ฉ ๋๋ ค์ ์ฝ์คํ์ด ํฐ์ง์ง ์๋ ๋ฒ์๋ฅผ ์ฐพ๋ ๊ฒ์ด ์ต์ ์ผ ๊ฒ ๊ฐ์ต๋๋ค.
- 0
- 2
- 281
Q&A
hello world ๊ฐ์ ์ง๋ฌธ์ด์~
์๋ ํ์ธ์, Phaser labs ํ์ด์ง์์ ํด๋น ํ์ด์ง๊ฐ ์ญ์ ๋ ๊ฒ์ผ๋ก ๋ณด์ ๋๋ค.Phaser labs์ ์๋ ๋ค๋ฅธ ์์๋ค์ ํตํด ์ค์ตํด๋ณด์ค ์ ์์ต๋๋ค. (https://labs.phaser.io/index.html)https://labs.phaser.io/view.html?src=src\game%20objects\sprites\create%20from%20config.js์ฌ๊ธฐ์๋ this.make.sprite(config8); ๋ถ๋ถ์์ config8์ config1, 2, 3, 4, 5 ๋ฑ์ผ๋ก ๋ฐ๊พธ๊ณ config์ ๋ด์ฉ์ ๋ฐ๊ฟ๋ณด๋ฉด์ ์ค์ตํ์ค ์ ์์ต๋๋ค.https://labs.phaser.io/view.html?src=src\physics\arcade\bounce%20test.js&v=3.80.1์ฌ๊ธฐ์๋this.logo.setOrigin(0.5, 0); this.logo.setVelocity(0, 60); this.logo.setBounce(1, 1); this.logo.setCollideWorldBounds(true);์ด ๋ถ๋ถ์ ์์น๋ฅผ ๋ฐ๊พธ๊ณ Run Code ํด๋ณด๋ฉฐ ๋ฌผ๋ฆฌ ์ ์ฉ์ ๊ด๋ จํด ์ค์ตํด๋ณด์ค ์ ์์ต๋๋ค.์ด์ธ์๋ ๋ค์ํ ์ํ์ด ํํ์ด์ง์ ์์ผ๋ฏ๋ก ๊ฐ ํ์ด์ง์์ Edit๋ฅผ ๋๋ฌ ์ฝ๋๋ฅผ ์์ ํ ๋ค Run Code๋ฅผ ํด๋ณด๋ฉฐ ๊ฐ๋จํ ์ค์ตํด๋ณด์๋ฉด ๋๊ฒ ์ต๋๋ค.
- 1
- 2
- 399
Q&A
[์ฐธ๊ณ ] Uncaught Error: createEmitter removed. See ParticleEmitter docs for info : ์๋ฌ์ ๋ํ ํด๊ฒฐ ๋ฐฉ๋ฒ ๊ณต์
์๋ ํ์ธ์ JJanmo๋!์๋ฌ ์ ๋ณด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ๋ ธ์ ๋ด์ฉ ์ ๋ฐ์ดํธ ์๋ฃํ์์ต๋๋ค. ๐
- 2
- 2
- 406
Q&A
npm start ์๋ฌ๋์ ๋ฌธ์๋๋ฆฝ๋๋ค.
์๋ ํ์ธ์, WS Kim๋.๊ฐ์์ ์ํํ ์๊ฐ์ ์ํด ์ํ ์ฝ๋๋ฅผ ๊ฐ์ ์ ์์ ๋ฒ์ ์ผ๋ก ๋ค์ด๊ทธ๋ ์ด๋ํ์ฌ ์๊ฐํ์๋ ๊ฒ์ ๊ถํด๋๋ฆฝ๋๋ค.๋ค์๊ณผ ๊ฐ์ git ๋ช ๋ น์ด๋ก ๊ฐ์ ์ ์ ์์ ์ ์ฝ๋๋ฅผ cloneํ ์ ์์ต๋๋ค.ํน์ ๋ค์ ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํด๋ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ฉด ์ถ๊ฐ ๋๊ธ ๋ถํ๋๋ฆฝ๋๋ค!git clone https://github.com/phaserjs/template-webpack.git git reset --hard 737428d
- 2
- 2
- 378





![Thumbnail image of the [JS] Phaser Game Development - Vampire Survivors Clone](https://cdn.inflearn.com/public/courses/329088/cover/4ae98f5f-88a4-437e-bfaa-cb531f013021/329088-eng.png?w=148)