๊ฐ๋ นย
void SexMaster()
{
ย ย trasnform.position = new vector3( 0,0,0);
}
์ด๋ผ๋ ํจ์๋ฅผ ์ด๋ค ์กฐ๊ฑด์ด ๋์ ๋๋ง ๋ฑ ๋ฐ๋์ํค๊ณ ์ถ๋ค๋ฉด,
๋ฑํ ์์๋ณธ ์ ์ด ์์ด์.. ๊ทธ๋ฅ ๋ถ๊ฐ์ผ๋ก ์ ์ดํ๋ฉด ๋๋ค๊ณ ์๊ฐํ๊ฑฐ๋ ์
public bool isSex;
void start()
{ isSex = false;ย }
void SexMaster()
{
ย if(isSex)
{
ย ย ย ย ย transform.position = vector3.zero;
ย isSex = false;
}
}
์๋ฐ์์ผ๋ก์ค
๊ทผ๋ฐ ์ด๋ฐ ๊ธฐ๋ฅ ํ๋์ฉ ๋์ด๋ ๋๋ง๋ค ๋ถ๋ฆฐ์ด ์์ฒญ ๋์ด๋์ ์ข ๋ณต์กํด์ง๋ ๋๋์ด ์๋๋ฐ.ย
๊ฒ์ ๋ด์ ์์ '์ด๋ค ์กฐ๊ฑด'์ด ์์ฑ๋๋ ๊ฑธ ํ์ธํ๋ ํจ์๋ ๊ฒฐ๊ตญ ์ ๋ฐ์ดํธ์์ ํ์ธ์ ํด์ผํ์์์ฉ?
์๋ฅผ๋ค์ด์.
์บ๋ฆญํฐ๊ฐ hp๊ฐ 0์ด ๋๋ค๋ฉด. - Ui ๋งค๋์ ์์ ๊ฒ์์ Pennel์ ์ํ๊ฐ์ deltaTime์ฉ ๋ํด์ ํ์ด๋์ธ ํ๊ณ ์ถ๋ค
- hp๊ฐ 0์ด ๋๋ฉด 'isdead' ๋ถ์ true๋ก ๋ฐ๊พธ์
๋ผ๋ ์์ ์กฐ๊ฑด์ ๋ง๋ค์๋ค๊ณ ์น๋ฉด
๊ฒฐ๊ตญ if(isdead) {} ๋ก ์์ํด์ ์ ๋ฐ์ดํธ์์ ํ์ธํด์ผ ํ๋๋ฐ
์ด๋ฐ ๋ฐฉ๋ฒ ๋ง๊ณ ์ ๋ฐ์ดํธ์์ ์กฐ๊ฑด์ ํ์ธํ๋ฉด 1ํ๋ง ๋์ง๋ ๋ฐฉ๋ฒ์ดย ์๋์?
๊ณ ์๋ค์ ๋ญ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ด ์์์ง๋ ๋ชจ๋ฅด๊ฒ ๋ค๋ง ๋ณ๊ฑธ ๋ค ํด๋ด๋ bool๋ณด๋ค ์ข์๊ฑด ์๋๋ฐ
์ํญ ์ญ์ ๊ธํฐ์
์ค๋ง ๋ด๊ฐ ์ง์ ํจ์๋ฅผ ๋ง๋ค์ด์ผ ํ๋?
์ค๋งค ๊ฒ๋์ด๋ ต๋ค
ํ๋ฒ๋ง ํธ์ถํ ๊ฑฐ๋ฉด ๊ทธ๋ ๊ฒํ์ง๋ง๊ณ ์ด๋ฒคํธ๋ฅผ ์จ
์ธ๋ฆฌ์ผ์ do_once๋ฉ์๋์๋๋ฐ
Coroutine
์ฝ๋ฃจํด
์ต์ ๋ฒ ํจํด ใฑ
์ต์ ๋ฒ ํจํด๊ณผ ํด์ฌ, ์ด๋ฒคํธ๋ฅผ ์ฌ์ฉํ๋ฉด ๊น๋ํ๊ฒ ๊ตฌํ ๋ ๋ฏ
ํจํด ๋๊ณ ๋๋ค๊ฐ ๊ฒฐ๊ตญ์ ์ฑ๊ธ์ ๋ฐ์ดํธ, ํตํฉ ํ๋๊ทธ๋ก ์ต์ ํํ๊ฒ๋จ
UniRx๋ฅผ ์ฐ๋ฉด public static int myHP = 100; private void Awake() { this.ObserveEveryValueChanged(value => myHp) .Where(value => value <= 0) .Subscribe(method => { OnDead(); }) .AddTo(this.gameObject); } ์ด๋ฐ ์์ผ๋ก ํน์ ๊ฐ์ ๊ฐ์ํ๊ณ ์๋ค๊ฐ ํน์ ์กฐ๊ฑด ๋ง์กฑ๋๋ฉด ํน์ ํจ์ ํธ์ถํ๋ ์์ผ๋ก ๊ฐ๋ฅ.