startPos๊ฐ A๊ณ endPos๊ฐ B๋ฉด
๋ฒฝ A๊ฐ B๋ก ๊ฐ๋ ๋ฐฉ๋ฒ์ข์ desPos๋ ๋ญ์ง ๋ชจ๋ฅด๊ฒ ๋ค์... ๊ทธ๋ฅ endPos๋ ๋๊ฐ์๊ฑฐ ๋ฃ์์ต๋๋ค.
์ ๊ฐ ์ด ์ฝ๋๋ ์๋๊ณ ์ ํ๋ธ์ ์ณ์ 2D ์ด๋ ์ฝ๋๋ฅผ 3D๋ก ๋ฐ๊ฟจ์ต๋๋ค. (Vector2๋ฅผ Vector3๋ก ๋ฐ๊ฟจ์ต๋๋ค.)
๊ทผ๋ฐ ์ ์๋๋์?
public Transform startPos;
public Transform endPos;
public Transform desPos;
publicfloat speed;
voidStart()
{
transform.position = startPos.position; desPos = endPos;
}
voidFixedUpdate()
{
transform.position = Vector3.MoveTowards(transform.position, desPos.position, speed * Time.deltaTime);
if (Vector3.Distance(transform.position, desPos.position) <= 0.05f)
{
if (desPos == endPos) desPos = startPos;
else desPos = endPos;
}
}
์ฝ๋์๋ ๋ฌธ์ ๊ฐ ์์ด ๋ณด์. ๋ณ์์ ์์น ๊ฐ์ ์ ๋ฃ์ด์ค๋ฏ?
๋ณ์์ ์์น๊ฐ์ ์ด์บ ๋ฃ์?? ๋ ์ด๋ณด๋ผ์ ๋ชจ๋ฆ
์ ์จ๋งํ๋ค..
1. speed ๊ฐ์ด 0์ธ๊ฐ ํ์ธํ๊ธฐ 2. null reference ๋จ๋์ง ํ์ธํ๊ธฐ
speed ๊ฐ 0 ์๋ null reference ์๋ธ
์ธ์คํํฐ ์ฐฝ์์ ๋ณ์์ ๊ฐ์ ๋ฃ์๋์?
๋ณ์๊ฐ ๋ญ์ฃ ? ๊ฐ์ ๋ญ ์ด์บ ๋ฃ์ด์?
startPos, endPos ์ด๋ฐ๊ฑธ ๋ณ์๋ผ๊ณ ํฉ๋๋ค ์ฒ์์ง์ , ๋ ์ง์ ์ ๊ฒ์์ค๋ธ์ ํธ๋ก ์ง์ ํด๋๋ค๋ฉด ํ์ด์ด๋ผํค ์ฐฝ์์ ๊ทธ ์ค๋ธ์ ํธ๋ฅผ ๋์ด๋ค๊ฐ ์คํฌ๋ฆฝํธ์ starPos์ endPos์ ๋์ผ์๋ฉด ๋ฉ๋๋ค
๋ณ์๊ฐ ๋ญ์ง๋ ๋ชจ๋ฅด๋ ์์ค์ด๋ฉด ๊ธฐ์ด์ ์ธ ์ฝ๋ฉ ๊ณต๋ถ๋ถํฐ ํด์ผ ํ ๋ฏ
์ ์๋...... ๊ฑ ๋นก๋๊ฐ๋ฆฌ์ผ๋ฟ๋ง ์๋๋ผ ๋ฒ์จ๋ถํฐ ํํ๋ผ๊น์ง ๋ณด์ด๋ค.. ์ ๋ ๊ฒ์ ์์ฑ ๋ชปํ๊ฒ ๋ค
๋ณ์๊ฐ ๋ญ์ง ์ด๋ป๊ฒ ๋์ ํ๋์ง ๊ตฌ๊ธ์ ๊ฒ์ํ๋ฉด ๋ฐ๋ก ๋์ค๋๋ฐ ์ด๊ฑธ 1์๊ฐ๊ฐ๊น์ด ๋๋์ผ๋ก ์ฒ๋ฌป๊ณ ์๋ ธ ใ ใ ใ ใ
๊ทธ...์ด๋ฐ ์ํฉ์๋ ์ฑ๊ธํ๊ฒ ํ๋ ค๊ณ ํ์ง ๋ง๊ณ ๊ธฐ์ด ๊ณต๋ถ๋ฅผ ํ์ฌ์ด... ๊ธฐ๋ณธ์ ์ธ ๊ฐ๋ ๋ถํฐ ์ฒ์ฒํ ๋ฐฐ์ฐ์ธ์
์ด๋ป๊ฒ ๊ณต๋ถํด์ผ ์ฝ๋ฉ์ ํ๋๋ฐ ๋ณ์๊ฐ ๋ญ์ง ๋ชจ๋ฅผ์๊ฐ ์๋๊ฑฐ์? ์ง์ง๋ก ๊ถ๊ธํ๊ณ ์ ๊ธฐํด์ ๊ทธ๋ผ