1. Property(ํ๋กํผํฐ)๋ ๋ฌด์์ธ๊ฐ
ํ๋กํผํฐ๋ ์์ฑ์ด๋ผ๋ ์๋ฏธ๋ฅผ ๊ฐ์ง๋ C#์์ ์ฌ์ฉํ ์ ์๋ ๋ฐ์ดํฐ ์ ๊ทผ ๋ฐฉ์ ์ค ํ๋์
๋๋ค.
get์ ์์ด ๊ทธ๋๋ก ๊ฐ์ ์ป์ด์ฌ ๋(๋ฐํ) set์ ๊ฐ์ ์ค์ ํ ๋(ํ ๋น) ์ฌ์ฉํ๊ณ value๋ set ์ ๊ทผ์๊ฐ ํ ๋นํ๋ ๊ฐ์ ๋ํ๋
๋๋ค.
set๋ง ๊ตฌํํ๋ฉด ์ฐ๊ธฐ ์ ์ฉ get๋ง ๊ตฌํํ๋ฉด ์ฝ๊ธฐ ์ ์ฉ์
๋๋ค.
2. ์ด๋์ ์ฐ์ด๋๊ฐ
์ธ๋ถ์์ ๊ฐ์ ๋ฐ๊พธ๋ ๊ฑด ๋ชปํ๊ฒ ํ๊ณ ์ถ์ง๋ง, ๊ฐ์ ๋ฐ์๋ ์ค๊ณ ์ถ์ ๋ ์๋๋ ๊ฐ์ ๋ฐ์์ค๋ ํจ์๋ฅผ public์ผ๋ก ๋ง๋ค์ด์ค๋ค๋ ๊ฐ ํ๋ ๋ฐฉ์์ ์จ์ผ ํ์ต๋๋ค. ํ์ง๋ง ํ๋กํผํฐ๋ฅผ ์ด์ฉํ๋ฉด ์ด๊ฒ ํจ์ฌ ๊ฐ๋จํด์ง๋๋ค.
1
|
public int Idx { get; private set; }
|
cs |
์์ ๊ฐ์ด set ์ ๊ทผ์๋ง private๋ก ์ ์ธํ๋ค๋ฉด ์๋์ ๊ฐ์ด ์ค๋ฅํ์๊ฐ ๋น๋๋ค.
๋ํ ๊ฐ๋ฐ์๊ฐ ์ค์ ํ ๋ฒ์๋ฅผ ๋ฒ์ด๋๋ฉด ๋ฒ์ ๋ด์๊ฐ์ผ๋ก ๋ฐ๊ฟ์ฃผ๋ ๋ฐ๋ ์ฌ์ฉํ ์ ์์ต๋๋ค.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
public int Hp
{
get
{
return Hp;
}
set
{
if (value > 100)
{
hp = 100;
}
else
{
hp = value;
}
}
}
|
cs |
์ด๋ ๊ฒ ์ฝ๋๋ฅผ ์ง ๋ค๋ฉด hp์ 100์ด ๋๋ ๊ฐ์ด ์ ๋ ฅ๋๋๋ผ๋ 100์ผ๋ก ์ค์ ํ ์ ์์ฃ .
๊ทธ๋ฆฌ๊ณ ์ด๋ฒ์ ์ฑ ์ผ๋ก ๊ณต๋ถํ๋ฉด์ ๋ฐฐ์ด ๊ฑด๋ฐ ๋ฒํผ ์ ๋ ฅ์ ํ๋กํผํฐ๋ก ๋ฐ์์ค๋๊ตฐ์. ์ฑ ์ ๋์จ ๋ด์ฉ์ ์กฐ๊ธ ์์ฉํด์ ํ๋ ์ด์ด์ ์ด๋์ ๊ตฌํํด ๋ดค์ต๋๋ค.
1
2
3
4
5
6
7
8
9
10
11
|
public string moveAxisXName = "Horizontal";
public string moveAxisZName = "Vertical";
public float XAxis { get; private set; }
public float ZAxis { get; private set; }
void Update()
{
XAxis = Input.GetAxis(moveAxisXName);
ZAxis = Input.GetAxis(moveAxisZName);
}
|
cs |
1
2
3
4
5
|
private void Move()
{
Vector3 moveDistance = new Vector3(playerInput.XAxis, 0f, playerInput.ZAxis).normalized * moveSpeed * Time.deltaTime;
playerRigidbody.MovePosition(playerRigidbody.position + moveDistance);
}
|
cs |
Property๋ฅผ ์ฌ์ฉํ playerInput๊ณผ playerMovement ๊ตฌํ
์ ๋ ํ๋กํผํฐ๋ผ๋ ๊ฒ์ ์ด๋ฒ์ ์ฒ์ ์๊ฒ ๋์๋๋ฐ ๋๊ฒ ์ ์ฌ์ ์์ ์ฌ์ฉํ๋ค๋ฉด ๋๊ฒ ์ ์ฉํ๊ฒ ๋ค๊ณ ์๊ฐํด์ ๋ค์ ํ๋ฒ ์ ๋ฆฌํด ๋ณด์์ต๋๋ค. ๊ธฐ์ต์ด ์ ๋ ๋๋ ์ ๋ฆฌํด๋ ๊ฑฐ๋ก ๋ณต์ตํ๋ฉด์ ์ต์ํด์ง ๋๊น์ง ๊ณต๋ถํ๋๋ก ํ ์๊ฐ์
๋๋ค. ๊ทธ๋ผ, ๋ค์ ๊ธ์ ์๋ง ์ธํฐํ์ด์ค์ ๋ํ ๋ด์ฉ์ผ ๋ฏํ๋ฐ ๋ค์ ๊ธ์์ ๋ต๊ฒ ์ต๋๋ค:)
* ํ๋กํผํฐ์ ๊ดํด ๊ณต๋ถํ๋ค๊ณ ๋ค๋ฅธ ๋ถ๋ค์ ๋ธ๋ก๊ทธ๋ ์ฐพ์๋ดค์๋๋ฐ '๋ณ์์ ํ๋กํผํฐ์ ์ด๋ฆ์ ๊ฐ์์ผ ํ๊ณ ๋ ์๋ฌธ์๋ก ๊ตฌ๋ถํ๋ค'๋ผ๋ ๋ด์ฉ๋ ์๋๊ตฐ์. ์ง์ ์คํํด๋ณธ ๊ฒฐ๊ณผ ๋ณ์์ ํ๋กํผํฐ์ ์ด๋ฆ์ด ๊ฐ์ ํ์๋ ์์์ต๋๋ค.
* ์ด ๊ธ์ ๊ฐ์ธ ๊ณต๋ถ์ฉ ๊ธฐ๋ก์ผ๋ก ํ๋ฆฐ ๋ด์ฉ์ด ์์ ์ ์์ต๋๋ค. ํผ๋๋ฐฑ์ ์ธ์ ๋ ํ์ํฉ๋๋ค:)
'๐งโ๐ป ์ฝ๋ฉ > Unity' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Unity Tip] ํ ๋ฒ์ ์ฌ๋ฌ๊ฐ์ ์ค๋ธ์ ํธ ํ ๋นํ๊ธฐ (0) | 2023.01.03 |
---|---|
[Practice Unity] ์ธํฐํ์ด์ค ์ฌ์ฉ๋ฒ ์ ๋ฆฌ (0) | 2022.12.31 |
๋ ํธ๋ก์ ์ ๋ํฐ ๊ฒ์ ํ๋ก๊ทธ๋๋ฐ ์์ผ์ค ํ๊ธฐ (0) | 2022.12.26 |
[Practice Unity] ์ฝ๋ฃจํด(Coroutine) ์ฌ์ฉ๋ฒ ์ ๋ฆฌ (0) | 2022.12.07 |
[Practice Unity] Unity 2D - Tile Map (0) | 2022.11.27 |