์์ :)
https://github.com/eazuooz/WindowAPI/commit/332b2d05fbaec11e5624acf131c513e66590b349
UI Bases · eazuooz/WindowAPI@332b2d0
Show file tree Showing 13 changed files with 240 additions and 40 deletions.
github.com
๊ฒ์ UI ( user interface )
๊ฒ์๊ณผ ์ ์ ์ฌ์ด์ ์์ฌ์ํต์ ์ํด์ ๋ฌผ๋ฆฌ์ ๊ฐ์์ ๋งค๊ฐ์ฒด๋ก ๊ฐ์์ ์ผ๋ก ๋ณด์ด๋ ํ๋ฉด ( ๋ฒํผ, ์คํฌ๋ฃฐ )๊ณผ ํฐ์น, ๋๋๊ทธ ์ ๊ฐ์ ์กฐ์ ๋ฐฉ๋ฒ์ ์ด์ผ๊ธฐ ํ๋ค.
1. ํ ํ๋ฉด
: ํ๋์ ์ฅ๋ฉด์ด ์คํฌ๋ฆฐ์ ๊ฝ ์ฑ์์ง๋ ํํ๋ฅผ ๋งํ๋ค.
[ ๋ธ๋กค์คํ์ฆ ํ ํ๋ฉด ]
2. ํ์ ํ๋ฉด ( ํ์ : ๊ฐ์๊ธฐ ํญ ํ์ด ๋์ค๋ ์ด๋ผ๋ ๋ป์ ๊ฐ์ง )
: ํ๋์ ์ฅ๋ฉด์ด ๊ธฐ์กด ํ๋ฉด ์์ ํ์ ์ผ๋ก ๋จ๋ ํํ๋ฅผ ๋งํ๋ค.
[ ๋ธ๋กค์คํ์ฆ ํ์ ํ๋ฉด ]
โถ ๊ฒ์์์๋ ํ๋ฉด ๋จ์๋ก UI๋ฅผ ์ ๊ณตํ๊ณ ์ปจํธ๋กค ํจ์ผ๋ก์จ ์ ์ ์์ ์ํธ์์ฉ์ด ์ผ์ด๋๋ค.
: ํ์ดํ ํ๋ฉด์์ ๊ฒ์ ์คํํธ ๋ฒํผ์ ๋๋ฌ์ ๊ฒ์์ ๋ค์ด๊ฐ๋ ๊ฒ, ๋ก๋น ํ๋ฉด์์ ๋ฒํผ์ ๋๋ฌ์ ๊ฒ์์ ์์ํ๋ ๊ฒ ๋ฑ ๊ฒ์์ ์์๋ถํฐ ๋๊น์ง ๋ชจ๋ ํ๋ฉด์ผ๋ก ์์ํด์ ํ๋ฉด์ผ๋ก ๋๋๋ ๊ฒ์ ์ ์ ์๋ค.
์ด๋ป๊ฒ ๊ฒ์์์๋ ์ด๋ฐ ํ๋ฉด ๋จ์๋ฅผ ๊ด๋ฆฌํด์ผํ๋๊ฐ?
: Android์์ Activity๋ฅผ ๊ด๋ฆฌํ๋ ๋ฐฉ์์ ์๊ฐํ๋ค๋ฉด ์ฝ๊ฒ UI๋ฅผ ์ด๋ป๊ฒ ๊ด๋ฆฌํ ์ง ์ ์ ์๋ค.
: Android์์๋ Activity ( = ํ๋์ ํ๋ฉด์ด๋ผ๊ณ ํ ์ ์๋๋ฐ) ๋ฅผ ๊ด๋ฆฌํ ๋์ Stack ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํ์ฌ ๊ด๋ฆฌํ๋ค.
โ Stack ์ด๋?
: Last-In-First-Out ํํ์ ๋ฐ์ดํฐ ๊ตฌ์กฐ
: ์์ ๊ทธ๋ฆผ์์ ๋ณผ ์ ์๋ฏ์ด Activity 1์ด ์๋ ์ํ์์ Activity 2๊ฐ ๋ค์ด์ค๋ฉด Activity 1 ์์ ์์ด๊ณ , Activity 3์ด ๋ค์ด์ค๋ฉด Acivitiy 2 ์์ ์์ด๋ ํํ์์, Back ๋ฒํผ์ ๋๋ฅด๋ฉด ๊ฐ์ฅ ์์ ์๋ Activity3 ์ด ์์ด์ง๋ ๊ฒ์ ๋ณผ ์ ์๋ค.
โ ๊ฒ์ UI์ Stack ๊ตฌ์กฐ๋ฅผ ์ ์ฉ ํ๋ค๋ฉด ์ด๋ค ๋ชจ์ต์ด ๋๋๊ฐ.
: ์๋ฅผ ๋ค์ด ํน์คํ ์ต์คํธ๋ฆผ ๋งค์น์ ํ๋ก์ฐ๋ฅผ ๋ณธ๋ค๋ฉด
1. ๋ก๋น ํ๋ฉด ( ํ ํ๋ฉด )
2. ๋ก๋น์์ ์คํ ์ด์ง ๋ฒํผ ํด๋ฆญ -> ์คํ ์ด์ง ํ๋ฉด ( ํ ํ๋ฉด )
3. ์คํ ์ด์ง ํ๋ฉด์์ ์คํ ์ด์ง ์ ํ -> ์คํ ์ด์ง ์ ๋ณด ํ๋ฉด ( ํ์ ํ๋ฉด )
4. ์คํ ์ด์ง ์ ๋ณด ํ๋ฉด์์ ์์ ๋ฒํผ ์ ํ -> ์์ ํ๋ฉด ( ํ์ ํ๋ฉด )
5. ์์ ํ๋ฉด์ ๋ซ์ ๊ฒฝ์ฐ ( 3๋ฒ ํ๋ฉด์ผ๋ก ์ด๋ )
6. ์คํ ์ด์ง ์ ๋ณด ํ๋ฉด์ ๋ซ์ ๊ฒฝ์ฐ ( 2๋ฒ ํ๋ฉด์ผ๋ก ์ด๋ )
7. ์คํ ์ด์ง ํ๋ฉด์ ๋ซ์ ๊ฒฝ์ฐ ( 1๋ฒ ํ๋ฉด์ผ๋ก ์ด๋ )
: ์์ ํ๋ก์ฐ๋ฅผ ๋์ํ ํ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
: ์ ์ ์ ์ํธ์์ฉ์ ์ํด ๋ณํ๋๋ ํ๋ฉด์ด ์๋๋ก์ด๋์ Activity ๊ด๋ฆฌ ( Stack )์ ๋์ผํจ์ ์ ์ ์๋ค.
โ ๋ชจ๋ ํ๋ฉด์ Stack์ผ๋ก๋ง ๊ด๋ฆฌํ๋ค๋ฉด UI๋ฅผ ์ฝ๊ฒ ๊ด๋ฆฌํ ์ ์์๊น.
โถ Stack๋ง์ผ๋ก๋ ๊ฒ์์ ๋ก์ง์ ๋ง๋ ํ๋ฉด ๊ตฌ์ฑ์ ํ ์ ์๋ค.
โถ ์์์ ์ ์ํ ํ ํ๋ฉด ๋๋ ํ์ ํ๋ฉด์ ๋ฐ๋ผ ๊ด๋ฆฌํ๋ ๋ฐฉ์์ ์ฝ๊ฐ์ ์ฐจ์ด๊ฐ ์๊ธฐ ๋๋ฌธ์ ํด๋น ๋ถ๋ถ์ ์ฒ๋ฆฌํด ์ฃผ์ด์ผ ํ๋ค.
: ํ ํ๋ฉด์ด 2๊ฐ ์ด์ ์์ฌ์๋ ๊ฒฝ์ฐ, ๊ฐ์ฅ ์ต์๋จ์ ํ ํ๋ฉด๋ง์ ๋ณผ ์ ์๊ธฐ ๋๋ฌธ์ ํ์์ ํํ๋ฉด์ ์ต์ ํ๋ฅผ ์ํด ์จ๊น ์ฒ๋ฆฌ๋ฅผ ํด์ฃผ์ด์ผ ํ๋ค.
: ํ์ ํ๋ฉด์ด 2๊ฐ ์ด์ ์์ฌ์๋ ๊ฒฝ์ฐ๋ ํ์ ํ๋ฉด์ ์ง์ค๋๋ฅผ ์ํด ์ต์๋จ์ ํ์ ํ๋ฉด์ ์ ์ธํ ํ์์ ํ์ ํ๋ฉด์ ์ต์ ํ๋ฅผ ์ํด ์จ๊น ์ฒ๋ฆฌ๋ฅผ ํด์ฃผ์ด์ผ ํ๋ค.
: ํน์คํ ์ต์คํธ๋ฆผ ๋งค์น, ๋ธ๋กค์คํ์ฆ ๋ฑ์ ๊ฒ์์์ ํ๋ฉด์ด ์ด๋ป๊ฒ ์ฒ๋ฆฌ๋๊ณ ์๋์ง๋ฅผ ๋ณด๋ฉด ์์ ๊ฐ์ด ์ฒ๋ฆฌ๋จ์ ์ ์ ์๋ค.
'๐ Development Study > ๐ป Win32API' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Sound (0) | 2022.11.09 |
---|---|
Gravity (0) | 2022.11.09 |
Tile Map (0) | 2022.11.02 |
Clone Object(๋ณต์ฌ ์์ฑ์) (0) | 2022.10.26 |
Rigidbody (0) | 2022.10.20 |
๋๊ธ