¡¡¥³¥ë¡¼¥Á¥ó(Coroutine)¤È¤Ï°ìÄê¤Î»þ´Ö¤ä¾ò·ï¤ò¤â¤È¤Ë¡¢½èÍý¤òÃæÃÇ¡¦ºÆ³«¡¦½ªÎ»¤µ¤»¤ë¤³¤È¤¬¤Ç¤¤ë½èÍý¤Î¤³¤È¤Ç¤¹¡£
¡¡¥³¥ë¡¼¥Á¥ó¤Ë¤Ä¤¤¤Æ¤Î¾ÜºÙ¤ÊÀâÌÀ¤Ï³ä°¦¤·¤Þ¤¹¡£¤³¤Á¤é¤Îµ»ö¤ä¡¢¥µ¥¤¥È¤Ç¹¤¯¾ðÊó¤ò¼èÆÀ¤Ç¤¤Þ¤¹¤Î¤Ç¡¢¤½¤Á¤é¤ò»²¹Í¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£
XR-HU3ÍÍ
¡ÚUnity¡Û¥³¥ë¡¼¥Á¥ó¤Ç½èÍý¤òÃæÃÇ¡¦ºÆ³«¡¦Ää»ß¤µ¤»¤ëÊýË¡¤ò³Ø¤Ö
https://xr-hub.com/archives/20368
¡¡¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥ÉÆâ¤Ë¤Ï¡¢yield ¤òÍøÍѤ·¤¿½èÍý¤òµ½Ò¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
Î㤨¤Ð¡¢¿ôÉô֤ÎÃÙ±ä½èÍý¤ä¡¢¾ò·ïãÀ®¤Þ¤ÇÂÔµ¡¤µ¤»¤ë½èÍý¤Ê¤É¤ò¡¢¤³¤Î yield ¤òÍøÍѤ¹¤ë¤È¼ÂÁõ¤Ç¤¤Þ¤¹¡£
¡¡º£²ó¤Ï £²¤«½ê¤Ç³¤±¤Æ½èÍý¤ò¹Ô¤Ã¤Æ¤¤¤Þ¤¹¡£
// ¡½é´ü²½(¤³¤Î½èÍý¤¬½ªÎ»¤¹¤ë¤Þ¤Ç¡¢¼¡¤Î½èÍý¤ÏÆ°¤«¤Ê¤¤)
yield return StartCoroutine(Initialize());
¢
¡¡¡¡// ¢»Ä¤ê¤Î¼êµå¤Î¿ô¤À¤±¼êµå¤Î¥¢¥¤¥³¥ó¤ÎÀ¸À®¤¹¤ë(¤³¤Î½èÍý¤¬½ªÎ»¤¹¤ë¤Þ¤Ç¡¢¼¡¤Î½èÍý¤ÏÆ°¤«¤Ê¤¤)
yield return StartCoroutine(uiManager.GenerateIconRemainingBalls(currentHp));
¡¡Ä̾ï¤Î¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥É¤Î¸Æ¤Ó½Ð¤·¤È°ã¤¤¤Þ¤·¤Æ¡¢¸Æ¤Ó½Ð¤¹Á°¤Ë yield return ¤¬¤¢¤ê¤Þ¤¹¡£
¤³¤Î¾ì¹ç¡¢¸Æ¤Ó½Ð¤µ¤ì¤¿¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥É¤Î½èÍý¤¬¤¹¤Ù¤Æ½ªÎ»¤¹¤ë¤Þ¤Ç¡¢¤³¤³¤Ç¥×¥í¥°¥é¥à¤ò°ì»þÂÔµ¡¤µ¤»¤ë¡¢¤È¤¤¤¦½èÍý¤¬¼Â¹Ô¤µ¤ì¤Þ¤¹¡£
¡¡¸Æ¤Ó½Ð¤¹¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥É¤Î½èÍý¤Ï¡¢
¡¡¡¡ÖInitialize¥á¥½¥Ã¥É¤ò¼Â¹Ô¤¹¤ë¡£¤½¤Î¥á¥½¥Ã¥É¤Î½èÍý¤¬¤¹¤Ù¤Æ½ªÎ»¤¹¤ë¤Þ¤Ç¡¢¥×¥í¥°¥é¥à¤ò°ì»þÂÔµ¡¤µ¤»¤ë¡×
¢¡¡¡ÖUIManager¥¯¥é¥¹¤Ë¤¢¤ëGenerateIconRemainingBalls¥á¥½¥Ã¥É¤ò¼Â¹Ô¤¹¤ë¡£¤½¤Î¥á¥½¥Ã¥É¤Î½èÍý¤¬¤¹¤Ù¤Æ½ªÎ»¤¹¤ë¤Þ¤Ç¡¢¥×¥í¥°¥é¥à¤ò°ì»þÂÔµ¡¤µ¤»¤ë¡×
¤È¤¤¤¦ÆâÍƤǤ¹¡£
¡¡¤Ä¤Þ¤ê¡¢¢¤ÎÆâÍƤ¬½ªÎ»¤¹¤ë¤Þ¤Ç¡¤Î½èÍý¤Ï½ªÎ»¤·¤Ê¤¤¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
¤½¤Î·ë²Ì¡¢¼êµå¤Î¥¢¥¤¥³¥ó¤ÎÀ¸À®¤¬½ªÎ»¤·¤Æ¤«¤é¡¢¤Ï¤¸¤á¤Æ¼¡¤Î½èÍý¤¬¹Ô¤ï¤ì¤ë¡¢¤È¤¤¤¦½èÍý¤¬¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
¡¡¤³¤Î¤è¤¦¤ÊÂÔµ¡½èÍý¤ò¶´¤à¤³¤È¤Ë¤è¤Ã¤Æ¡¢¼êµå¤Î¥¢¥¤¥³¥ó¤¬¤¹¤Ù¤Æ²èÌ̤Ëɽ¼¨¤µ¤ì¤ëÁ°¤Ë½èÍý¤¬¤É¤ó¤É¤ó¤ÈÀè¤Ë¿Ê¹Ô¤·¤Æ¤·¤Þ¤¦¤Î¤òËɤ¤¤Ç¤¤¤Þ¤¹¡£