public class Arrowtrap : MonoBehaviour
{
ย ย public GameObject Arrow;
ย ย public Transform Arrowpos;
ย ย public float arrowdelay;
ย ย private float arrowcooltime;
ย ย public bool Active = true;
ย ย // Start is called before the first frame update
ย ย void Start()
ย ย {
ย ย ย ย if (Active = true)
ย ย ย ย {
ย ย ย ย ย ย StartCoroutine("Spawnarrow");
ย ย ย ย ย ย Debug.Log("spawn start");
ย ย ย ย }
ย ย }
ย ย // Update is called once per frame
ย ย void Update()
ย ย {
ย ย }
ย ย IEnumerable Spawnarrow()
ย ย {
ย ย ย ย while (true)
ย ย ย ย {
ย ย ย ย ย ย Debug.Log("spawn repeat");
ย ย ย ย ย ย Instantiate(Arrow, Arrowpos);
ย ย ย ย ย ย yield return new WaitForSeconds(1);
ย ย ย ย }
ย ย }
}
1์ด๋ง๋ค ํ์ด์ ์์ฑํ๋ ์ฝ๋๋ฅผ ์ฐ๊ณ ์ถ์๋ฐ
์ฝ๋ฃจํด ๋ถ๋ถ์ด ์ ๋์๊ฐ๋ค ๋ก๊ทธ๋ ์ ๋์ค๊ณ
๋ญ๊ฐ ๋ฌธ์ ์?
IEnumerable ๋์ ์ IEnumerator ์ฐ๋ฉด ๋จ
๋ ์ฉ
IEnumerator๋ก ๋ฐ๊พธ๋ฉด ์ ๋ ๋ฏ
๋ญ๊ฐ ํ๋ฆฐ ๊ฑฐ์?
๋๋ ๊ฐ๋ ์๋์์ฑ์ผ๋ก able๋ก ์น๋๊น ๊ฐ๋ ๊ทธ๋ผ
able ์ ๋ฐํ๊ฐ์ด IEnumerator์ธ๊ฐ ๊ทธ๋ฌ์
if(Active == true)์ด๋ ๊ฒ ๋ค๊ฐ์ผ ํ๋๊ฑฐ ์๋??
if (Active == true) ์ด๊ฑฐ๋ ์ฒดํฌํด๋ณด๊ณ ( = ๊ฐ 1๊ฐ๊ฐ ์๋๋ผ 2๊ฐ๊ฐ ๋ค์ด๊ฐ์ผ ์ ๋๋ก ๋ ๋น๊ต๋ฌธ์) StartCoroutine์ string๋ ๋ฐ์ง๋ง ๊ทธ๋ฅ IEnumerator ๊ทธ๋๋ก ๋ฃ๋๊ฒ ์ข์