ºÇ½ª¹¹¿·¡§
orika_ex_miyako 2023ǯ09·î25Æü(·î) 10:58:46ÍúÎò
¡¡¥³¥ë¡¼¥Á¥ó¡ÊCoroutines¡Ë¤Ï¡¢È󯱴ü½èÍý¤ò¼ÂÁõ¤¹¤ë¤¿¤á¤ÎÆÃÊ̤ʥ᥽¥Ã¥É¤Ç¤¹¡£
Ä̾ï¤Î¥á¥½¥Ã¥É¤È¤Ï°Û¤Ê¤ê¡¢¥³¥ë¡¼¥Á¥ó¤Ï°ì»þÄä»ß¤Ç¤¡¢¸å¤ÇºÆ³«¤Ç¤¤ëÆÃħ¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£
¡¡¤½¤Î¤¿¤á¥³¥ë¡¼¥Á¥ó¤Ï¡¢¥²¡¼¥àÆâ¤Ç»þ´Ö·Ð²á¤Ë¹ç¤ï¤»¤Æ²¿¤«¤ò¼Â¹Ô¤¹¤ë¤¿¤á¤ÎÊýË¡¤Î£±¤Ä¤È¤·¤ÆÍøÍѤǤ¤Þ¤¹¡£
Ä̾ï¤Î¥á¥½¥Ã¥É¤¬¼Â¹Ô¤µ¤ì¤ë¤È¡¢¤½¤Î½èÍý¤¬½ª¤ï¤ë¤Þ¤Ç¥²¡¼¥àÁ´ÂΤ¬°ì»þÄä»ß¤·¤Þ¤¹¡£
¤Ç¤¹¤¬¡¢¥³¥ë¡¼¥Á¥ó¤ò»È¤¦¤È¡¢¥²¡¼¥à¤Î¿Ê¹Ô¤ò¥Ö¥í¥Ã¥¯(Ää»ß)¤»¤º¤Ë»þ´Ö¤Î¤«¤«¤ë¥¿¥¹¥¯¤ò¼Â¹Ô¤Ç¤¤Þ¤¹¡£
¡¡¤³¤ì¤Ï¡¢¥²¡¼¥àÆâ¤Ç»þ´Ö¤Î·Ð²á¤Ë¹ç¤ï¤»¤Æ²¿¤«¤ò¼Â¹Ô¤·¤¿¤ê¡¢ÆÃÄê¤Î¥¢¥¯¥·¥ç¥ó¤ä¥¤¥Ù¥ó¥È¤ò»ØÄꤷ¤¿¾ò·ï¤òËþ¤¿¤¹¤Þ¤ÇÂÔµ¡¤µ¤»¤¿¤ê¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
¡¡È󯱴ü½èÍý¤Ï¡¢¥³¡¼¥É¤¬Â¾¤Î½èÍý¤ò¥Ö¥í¥Ã¥¯¤»¤º¤Ë¼Â¹Ô¤Ç¤¤ë½èÍýÊýË¡¤Ç¤¹¡£
¤³¤ì¤Ï¼ç¤Ë¡¢¥æ¡¼¥¶¡¼¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Î¥ì¥¹¥Ý¥ó¥¹À¤ò¸þ¾å¤µ¤»¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£
¡¡¥³¥ë¡¼¥Á¥ó¤ÏÈ󯱴ü½èÍý¤ò¼Â¸½¤¹¤ëÊýË¡¤Î°ì¤Ä¤Ç¡¢ÂÔ¤Á»þ´Ö¤Î¤¢¤ë¥¿¥¹¥¯¤òÃ༡Ū¤Ë¼Â¹Ô¤Ç¤¤Þ¤¹¡£
¡¡Ê̤ÎÊý¸þ¤«¤é¤â¹Í¤¨¤Æ¤ß¤Þ¤·¤ç¤¦¡£
¡¡È󯱴ü½èÍý¤Ï¡¢ÂÔ¤Á»þ´Ö¤Î¤¢¤ë¥¿¥¹¥¯¤ò¼Â¹Ô¤¹¤ëÊýË¡¤Ç¤¹¡£
¤³¤ì¤Ï¡¢¥²¡¼¥àÆâ¤Ç²¿¤«¤òÂÔµ¡¤·¤Ê¤¬¤é¾¤Î¤³¤È¤ò¤¹¤ë¾ì¹ç¤ËÌòΩ¤Á¤Þ¤¹¡£
¡¡Î㤨¤Ð¡¢¥×¥ì¥¤¥ä¡¼¥¥ã¥é¥¯¥¿¡¼¤¬°Üư¤·¤Æ¤¤¤ëºÝ¤Ë¡¢¥²¡¼¥àÁ´ÂΤòÄä»ß¤·¤Æ¤·¤Þ¤¦¤È¥²¡¼¥à¤¬À®Î©¤·¤Ê¤¯¤Ê¤ê¤Þ¤¹¤¬¡¢
°Üư½èÍý¤òÁ˳²¤»¤º¡¢ÆÃÄê¤Î½èÍý¤À¤±¤òÃÙ±ä½èÍý¤¹¤ë¤³¤È¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¡Æ±´ü½èÍý¤Ï¡¢¥¿¥¹¥¯¤¬½çÈ֤˼¹Ԥµ¤ì¡¢Á°¤Î¥¿¥¹¥¯¤¬´°Î»¤¹¤ë¤Þ¤Ç¼¡¤Î¥¿¥¹¥¯¤¬¼Â¹Ô¤µ¤ì¤Þ¤»¤ó¡£
¤³¤ì¤Ïº£¤Þ¤Ç¤Ë½ñ¤¤¤Æ¤¤¤ë¥½¡¼¥¹¥³¡¼¥É¤Î½èÍý¤Î¤³¤È¤Ç¤¹¡£¾å¤«¤é½ç¤Ë½èÍý¤µ¤ì¡¢¤½¤Î½èÍý¤¬½ª¤ï¤ë¤Þ¤Ç¤Ï²¼¤Î¹Ô¤Î½èÍý¤Ïư¤¤Þ¤»¤ó¡£
¤³¤ì¤Ï¥·¥ó¥×¥ë¤Çľ´¶Åª¤Ç¤¹¤¬¡¢Ä¹»þ´Ö¤ÎÂÔµ¡¤¬¤¢¤ë¾ì¹ç¤Ë¥¢¥×¥ê¥±¡¼¥·¥ç¥óÁ´ÂΤ¬¥Õ¥ê¡¼¥º¤·¤Æ¤·¤Þ¤¦²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡£
¡¡È󯱴ü½èÍý¤Ï¡¢¥¿¥¹¥¯¤¬´°Î»¤·¤Ê¤¯¤Æ¤â¼¡¤Î¥¿¥¹¥¯¤¬¼Â¹Ô¤Ç¤¤ë¤¿¤á¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥ì¥¹¥Ý¥ó¥¹À¤¬¸þ¾å¤·¤Þ¤¹¡£
¤Ä¤Þ¤ê¡¢Ì¿Îá¤À¤±¤·¤Æ¤ª¤¤¤Æ¡¢¤½¤Î½èÍý¤Î½ªÎ»¤ÏÂÔ¤¿¤º¤Ë²¼¤Î¹Ô¤Î½èÍý¤ò¼Â¹Ô¤·¤Þ¤¹¡£
¡¡¤³¤³¤Ç¤Ï¤½¤ì¤¾¤ì¤Ë¤Ä¤¤¤Æ¡¢Îã¤òµó¤²¤ÆÀâÌÀ¤·¤Þ¤¹¡£
¡¡Æ±´ü½èÍý¤Ï¡¢¼«Æ°¼Ö¤¬¸òº¹ÅÀ¤òÄ̲᤹¤ë¤Î¤Ë»÷¤Æ¤¤¤Þ¤¹¡£
¸òº¹ÅÀ¤Ë¤Ï¿®¹æ¤¬¤¢¤ê¡¢ÀÖ¿®¹æ¤Î¤È¤¤Ë¤Ï°ìÊý¤Îƻϩ¤Î¼ÖÄä»ß¤·¡¢Îп®¹æ¤Î¤È¤¤Ë¤Ï¤â¤¦°ìÊý¤Îƻϩ¤Î¼Ö¿Ê¹Ô¤Ç¤¤Þ¤¹¡£
¡¡¤³¤Î¾ì¹ç¡¢¿®¹æ¤¬¸òº¹ÅÀÁ´ÂΤòÀ©¸æ¤·¤Æ¤ª¤ê¡¢³Æ¼Öξ¤Ï¿®¹æ¤Î¾õÂ֤˹ç¤ï¤»¤Æ¿Ê¹Ô¤Þ¤¿¤ÏÄä»ß¤ò·èÄꤷ¤Þ¤¹¡£
¤Ä¤Þ¤ê¡¢°ì¤Ä¤Î¼Ö¸òº¹ÅÀ¤òÄ̲᤹¤ë¤Î¤òÂÔ¤¿¤Ê¤±¤ì¤Ð¤Ê¤é¤º¡¢¿®¹æ¤Î¾õÂ֤˰͸¤·¤Æ¤¤¤Þ¤¹¡£¤³¤ì¤¬Æ±´ü½èÍý¤Ç¤¹¡£
¡¡Æ±Íͤˡ¢Æ±´ü½èÍý¤Ç¤Ï°ì¤Ä¤Î¥¿¥¹¥¯¤¬´°Î»¤¹¤ë¤Î¤òÂÔ¤Á¡¢¤½¤Î¸å¼¡¤Î¥¿¥¹¥¯¤¬¼Â¹Ô¤µ¤ì¤Þ¤¹¡£
¾¤Î¥¿¥¹¥¯¤Ï¡¢Á°¤Î¥¿¥¹¥¯¤¬½ªÎ»¤¹¤ë¤Þ¤ÇÂÔµ¡¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
¡¡È󯱴ü½èÍý¤Ï¡¢ÀöÂõµ¡¤ÇÀöÂõ¤ò¤¹¤ë¤Î¤Ë»÷¤Æ¤¤¤Þ¤¹¡£
ÀöÂõµ¡¤ËÀöÂõʪ¤òÆþ¤ì¡¢ÀöÂõ¥â¡¼¥É¤òÀßÄꤷ¤¿¤é¡¢¥¹¥¿¡¼¥È¥Ü¥¿¥ó¤ò²¡¤·¤Þ¤¹¡£
¤½¤Î¸å¡¢ÀöÂõµ¡¤ÏÀöÂõ¤ò»Ï¤á¡¢¤¢¤Ê¤¿¤Ï¼«Í³¤Ë¾¤Î¤³¤È¤ò¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¤Ä¤Þ¤ê¡¢ÀöÂõµ¡¤¬ÀöÂõ¤ò³¤±¤Æ¤¤¤ë´Ö¡¢¤¢¤Ê¤¿¤ÏÊ̤Υ¿¥¹¥¯¤Ë¼è¤êÁȤळ¤È¤¬¤Ç¤¤Þ¤¹¡£
¡¡È󯱴ü½èÍý¤Ç¤Ï°ì¤Ä¤Î¥¿¥¹¥¯¤¬´°Î»¤¹¤ë¤Î¤òÂÔ¤ÄɬÍפ¬¤Ê¤¯¡¢Â¾¤Î¥¿¥¹¥¯¤òƱ»þ¤Ë¼Â¹Ô¤Ç¤¤Þ¤¹¡£
È󯱴ü½èÍý¤Ï¡¢ÂÔ¤Á»þ´Ö¤¬¤¢¤ë¾ì¹ç¤ä¡¢Ê£¿ô¤Î¥¿¥¹¥¯¤òƱ»þ¤Ë½èÍý¤·¤¿¤¤¾ì¹ç¤ËÈó¾ï¤ËÊØÍø¤Ç¤¹¡£
¡¡°Ê¾å¤Î¤è¤¦¤Ë¡¢Æ±´ü½èÍý¤Ï¥¿¥¹¥¯¤¬½çÈ֤˼¹Ԥµ¤ì¡¢Á°¤Î¥¿¥¹¥¯¤¬´°Î»¤¹¤ë¤Þ¤ÇÂÔ¤¿¤Ê¤±¤ì¤Ð¤Ê¤é¤º¡¢È󯱴ü½èÍý¤Ï¥¿¥¹¥¯¤¬´°Î»¤·¤Ê¤¯¤Æ¤â¾¤Î¥¿¥¹¥¯¤ò¼Â¹Ô¤Ç¤¤Þ¤¹¡£
¡¡¥³¥ë¡¼¥Á¥ó¤òÄêµÁ¤¹¤ë¤Ë¤Ï¡¢Ä̾ï¤Î¥á¥½¥Ã¥É¤ÈƱ¤¸¤è¤¦¤Ë¥á¥½¥Ã¥É¤òÄêµÁ¤·¤Þ¤¹¤¬¡¢
Ìá¤êÃͤη¿¤ò IEnumerator(¡Ö¥¢¥¤¡¦¥¤¥Ë¥å¥á¥ì¡¼¥¿¡¼¡×¤ÈÆÉ¤à¤³¤È¤¬°ìÈÌŪ¤Ç¤¹) ¤Ë¤·¤Þ¤¹¡£
¡¡¤Þ¤¿¡¢¥³¥ë¡¼¥Á¥óÆâ¤ÇÂÔµ¡¤¹¤ë¤¿¤á¤Ë yield(¡Ö¥¤¡¼¥ë¥É¡×¤ÈÆÉ¤à¤³¤È¤¬°ìÈÌŪ¤Ç¤¹) ¥¹¥Æ¡¼¥È¥á¥ó¥È¤ò»ÈÍѤ·¤Þ¤¹¡£
using System.Collections; using UnityEngine; public class Example : MonoBehaviour { // ¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥É¤ÎÄêµÁ IEnumerator MyCoroutine()¡¡¡¡//¡¡Ìá¤êÃͤη¿¤ËÃíÌÜ { // ¥³¥ë¡¼¥Á¥ó¤ÎÃæ¤ÇÂÔµ¡¤¹¤ë yield return new WaitForSeconds(2.0f);¡¡¡¡// yield ¤òÍøÍѤ·¤¿½èÍý¤òµ½Ò¤¹¤ë¤³¤È¤ÇÂÔµ¡¤Ç¤¤ë // ¤½¤Î¾¤Î½èÍý Debug.Log("ÂÔµ¡½ªÎ»"); } }
¡¡yield return new WaitForSeconds(2.0f) ¤È¤Ï¤è¤¯ÍøÍѤµ¤ì¤ë½ñ¼°¤Ç¡¢°ú¿ôÆâ¤Î»þ´Ö¤À¤±½èÍý¤òÃæÃǤ·¤Æ¡¢
ÂÔµ¡¸å¡¢¤½¤Î¼¡¤Ë½ñ¤«¤ì¤Æ¤¤¤ë½èÍý¤ò¼Â¹Ô¤·¤Þ¤¹¡£
¡¡¾åµ¤ÎÎã¤Ç¤¢¤ì¤Ð¡¢MyCoroutine ¥á¥½¥Ã¥É¤ò¼Â¹Ô¤¹¤ë¤È¡¢2ÉýèÍý¤òÃæÃǤ·¤ÆÂÔµ¡¤·¡¢¤½¤Î¸å¡¢ÂÔµ¡½ªÎ»¤Î¥í¥°¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
¡¡¥³¥ë¡¼¥Á¥ó¤ò¼Â¹Ô¤¹¤ë¤Ë¤Ï¡¢StartCoroutine ¥á¥½¥Ã¥É¤ò»ÈÍѤ·¡¢°ú¿ôÆâ¤Ë¼Â¹Ô¤·¤¿¤¤¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥É¤ò»ØÄꤷ¤Þ¤¹¡£
¡¡°Ê²¼¤Ï¡¢¥³¥ë¡¼¥Á¥ó¤ò¼Â¹Ô¤¹¤ëÎã¤Ç¤¹¡£
public class Example : MonoBehaviour { IEnumerator MyCoroutine() { yield return new WaitForSeconds(2.0f); } void Start() { // ¥³¥ë¡¼¥Á¥ó¤Î¼Â¹Ô StartCoroutine(MyCoroutine()); } }
¡¡¤³¤Î¥³¡¼¥É¤Ç¤Ï¡¢StartCoroutine ¥á¥½¥Ã¥É¤ò»ÈÍѤ·¤Æ MyCoroutine ¥³¥ë¡¼¥Á¥ó¤ò¼Â¹Ô¤·¤Æ¤¤¤Þ¤¹¡£
¥³¥ë¡¼¥Á¥óÆâ¤Î yield return ¥¹¥Æ¡¼¥È¥á¥ó¥È¤Ë¤è¤Ã¤Æ¡¢»ØÄꤷ¤¿ÂÔµ¡»þ´Ö¤¬·Ð²á¤·¤¿¸å¤Ë¥³¥ë¡¼¥Á¥ó¤¬ºÆ³«¤µ¤ì¤Þ¤¹¡£
¡¡¥³¥ë¡¼¥Á¥óÆâ¤ÇÂÔµ¡¤¹¤ë¤¿¤á¤Ë¤Ï¡¢yield return ¥¹¥Æ¡¼¥È¥á¥ó¥È¤ò»È¤Ã¤Æ¡¢WaitForSeconds ¤ä¾¤ÎÂÔµ¡Ì¿Îá¤ò»ØÄꤷ¤Þ¤¹¡£
¤³¤ì¤Ë¤è¤ê¡¢¥²¡¼¥àÆâ¤Ç»þ´Ö¤Ë´ð¤Å¤¤¤¿È󯱴ü½èÍý¤ä¥¢¥Ë¥á¡¼¥·¥ç¥óÀ©¸æ¤Ê¤É¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¡¼Â¹Ô¤¹¤ë¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥É¤Ë°ú¿ô¤¬¤¢¤ë¾ì¹ç¤Ë¤Ï¡¢Ä̾ï¤Î¥á¥½¥Ã¥É¤ÈƱÍͤ˰ú¿ô¤ò»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¡¡°Ê²¼¤Ï¡¢°ú¿ô¤òȼ¤¦¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥É¤ò¼Â¹Ô¤¹¤ë¥µ¥ó¥×¥ë¥³¡¼¥É¤Ç¤¹¡£
using System.Collections; using UnityEngine; public class Example : MonoBehaviour { // °ú¿ô¤ò¼õ¤±¼è¤ë¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥É¤ÎÄêµÁ IEnumerator MyCoroutine(int count) { for (int i = 0; i < count; i++) { // ²¿¤«¤Î½èÍý Debug.Log("Step " + i); // ¤³¤³¤ÇÂÔµ¡ yield return new WaitForSeconds(1.0f); } } void Start() { // °ú¿ô¤ò»ØÄꤷ¤Æ¥³¥ë¡¼¥Á¥ó¤Î¼Â¹Ô int numberOfSteps = 3; // Îã: 3²ó·«¤êÊÖ¤¹ StartCoroutine(MyCoroutine(numberOfSteps)); } }
¡¡¤³¤Î½èÍý¤ò¼Â¹Ô¤¹¤ë¤È¡¢1É䪤¤Ë Step 0¡¢Step 1¡¢Step 2 ¤Èɽ¼¨¤µ¤ì¤Æ¤¤¤¤Þ¤¹¡£
¡¡yield ¥¹¥Æ¡¼¥È¥á¥ó¥È¤Ï¡¢C#¤Î¥³¥ë¡¼¥Á¥óÆâ¤Ç»ÈÍѤ¹¤ëÆÃÊ̤ʥ¡¼¥ï¡¼¥É¤Ç¤¢¤ê¡¢IEnumerator ¥á¥½¥Ã¥ÉÆâ¤Ç¤Î¤ß»ÈÍѤǤ¤Þ¤¹¡£
¤Þ¤¿¡¢¥³¥ë¡¼¥Á¥óÆâ¤Ç yield ¥¹¥Æ¡¼¥È¥á¥ó¥È¤ò¾¯¤Ê¤¯¤È¤â1²ó»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
¡¡°Ê²¼¤Ë¡¢Àµ¤·¤¤¹½Ê¸¤È¥¨¥é¡¼¤Î¹½Ê¸¤ò¼¨¤·¤Þ¤¹¡£
¡¡¡ãÀµ¤·¤¤¹½Ê¸¡ä
using System.Collections; using UnityEngine; public class Example : MonoBehaviour { // ¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥É¤ÎÄêµÁ IEnumerator MyCoroutine() { // ¤³¤³¤Ç yield ¥¹¥Æ¡¼¥È¥á¥ó¥È¤ò»ÈÍѤ¹¤ë yield return new WaitForSeconds(2.0f); // ¤½¤Î¾¤Î½èÍý } void Start() { // ¥³¥ë¡¼¥Á¥ó¤Î¼Â¹Ô StartCoroutine(MyCoroutine()); } }
¡¡¾åµ¤Î¥³¡¼¥É¤ÏÀµ¤·¤¤¹½Ê¸¤Ç¤¹¡£
MyCoroutine ¥á¥½¥Ã¥ÉÆâ¤Ç yield ¥¹¥Æ¡¼¥È¥á¥ó¥È¤¬»ÈÍѤµ¤ì¤Æ¤ª¤ê¡¢¥³¥ë¡¼¥Á¥óÆâ¤ÇÈ󯱴ü½èÍý¤ò¹Ô¤¦¤¿¤á¤ËÀµ¤·¤¯¹½Â¤²½¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
¡¡¡ã¥¨¥é¡¼¤Î¹½Ê¸¡¡ä
using System.Collections; using UnityEngine; public class Example : MonoBehaviour { // ¥¨¥é¡¼: IEnumerator Æâ¤Ç yield ¥¹¥Æ¡¼¥È¥á¥ó¥È¤¬ÉÔ IEnumerator MyCoroutine() { // ¤³¤³¤Ç yield ¥¹¥Æ¡¼¥È¥á¥ó¥È¤ò»ÈÍѤ·¤Ê¤¤ } void Start() { // ¥¨¥é¡¼: ¥³¥ë¡¼¥Á¥óÆâ¤Ç yield ¥¹¥Æ¡¼¥È¥á¥ó¥È¤¬ÉÔ StartCoroutine(MyCoroutine()); } }
¡¡¾åµ¤Î¥³¡¼¥É¤Ï¥¨¥é¡¼¤Î¹½Ê¸¤Ç¤¹¡£
MyCoroutine ¥á¥½¥Ã¥ÉÆâ¤Ç yield ¥¹¥Æ¡¼¥È¥á¥ó¥È¤¬ÉÔ¤·¤Æ¤ª¤ê¡¢¥³¥ë¡¼¥Á¥ó¤¬Å¬Àڤ˵¡Ç½¤·¤Ê¤¤¤¿¤á¡¢¹½Ê¸¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤¹¡£
¡¡¡ã¥¨¥é¡¼¤Î¹½Ê¸¢¡ä
using System.Collections; using UnityEngine; public class Example : MonoBehaviour { IEnumerator MyCoroutine() { yield return new WaitForSeconds(2.0f); } void Start() { // ¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥É¤¬¼Â¹Ô¤µ¤ì¤Ê¤¤ MyCoroutine(); } }
¡¡¾åµ¤Î¥³¡¼¥É¤Ï¡¢¹½Ê¸¥¨¥é¡¼¤ÏȯÀ¸¤·¤Þ¤»¤ó¤¬¡¢¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥É¤¬¼Â¹Ô¤µ¤ì¤Þ¤»¤ó¡£
Íýͳ¤Ï¡¢¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥É¤ò¼Â¹Ô¤¹¤ëºÝ¤Ë StartCoroutine ¥á¥½¥Ã¥É¤òÍøÍѤ·¤Æ¤¤¤Ê¤¤¤¿¤á¤Ç¤¹¡£
¡¡ÆÃ¤Ë¤³¤Î¥¨¥é¡¼¤Î¾ì¹ç¡¢½èÍý¼«ÂΤΥ¨¥é¡¼¤Ï½Ð¤º¡¢¤¯¤ï¤¨¤Æ¥í¥°¤Ë¤â¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤Ïɽ¼¨¤µ¤ì¤Þ¤»¤ó¤Î¤Ç¡¢
¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥É¤¬¼Â¹Ô¤µ¤ì¤Ê¤¤Íýͳ¤Ëµ¤¤Å¤±¤Ê¤¤²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡£ÆÃ¤ËÃí°Õ¤¬É¬ÍפǤ¹¡£
¡¡Àµ¤·¤¤¥³¥ë¡¼¥Á¥ó¤Î¹½Ê¸¤òÍý²ò¤¹¤ë¤³¤È¤Ç¡¢È󯱴ü½èÍý¤òÀ©¸æ¤¹¤ë¤¿¤á¤Ë¥³¥ë¡¼¥Á¥ó¤òŬÀڤ˻ÈÍѤǤ¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¡°Ê²¼¤Ï¡¢¥³¥ë¡¼¥Á¥ó¤ò»ÈÍѤ·¤Æ¥²¡¼¥àÆâ¤Ç°ìÈÌŪ¤Ë¹Ô¤ï¤ì¤ë¥¿¥¹¥¯¤ò¼Â¹Ô¤¹¤ë¥µ¥ó¥×¥ë¥³¡¼¥É¤Ç¤¹¡£
using UnityEngine; using System.Collections; public class Example : MonoBehaviour { void Start() { StartCoroutine(WaitAndDoSomething()); } IEnumerator WaitAndDoSomething() { yield return new WaitForSeconds(2f); // 2ÉÃÂÔµ¡ Debug.Log("2ÉÃÂÔµ¡¸å¤Ë²¿¤«¤ò¼Â¹Ô"); } }
using UnityEngine; using System.Collections; public class Example : MonoBehaviour { private Animator animator; void Start() { animator = GetComponent<Animator>(); StartCoroutine(PlayAnimation()); } IEnumerator PlayAnimation() { yield return new WaitForSeconds(1f); animator.Play("Run"); // ¥¢¥Ë¥á¡¼¥·¥ç¥óºÆÀ¸ } }
using UnityEngine; using System.Collections; using UnityEngine.SceneManagement; public class Example : MonoBehaviour { void Start() { StartCoroutine(LoadLevelAsync()); } IEnumerator LoadLevelAsync() { AsyncOperation asyncLoad = SceneManager.LoadSceneAsync("Level2"); while (!asyncLoad.isDone) { float progress = Mathf.Clamp01(asyncLoad.progress / 0.9f); Debug.Log("ÆÉ¤ß¹þ¤ß¿ÊĽ: " + (progress * 100) + "%"); yield return null; } } }
¡¡¥³¥ë¡¼¥Á¥ó¤òÍøÍѤ¹¤ëºÝ¤Ë¤Ï¡¢°Ê²¼¤ÎÃí°ÕÅÀ¤Ëµ¤¤òÉÕ¤±¤Æ¤¯¤À¤µ¤¤¡£
¡¡¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥É¤òÍøÍѤ¹¤ë¤¿¤á¤Ë¤Ï¡¢MonoBehaviour ¥¯¥é¥¹¤ò·Ñ¾µ¤·¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
¡¡¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤¬Ç˲õ¤µ¤ì¤¿¾ì¹ç¡¢¥³¥ë¡¼¥Á¥ó¤âÄä»ß¤·¤Þ¤¹¡£¤³¤ì¤òËɤ°¤¿¤á¤Ë¥ª¥Ö¥¸¥§¥¯¥È¤Î¾õÂÖ¤ò³Îǧ¤·¤Þ¤·¤ç¤¦¡£
¤³¤ì¤ÏÌ¿Îá¤ò½Ð¤·¤¿¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤È¡¢Ì¿Îá¤ò¼õ¤±¤¿¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤¬°Û¤Ê¤ë¾ì¹ç¤ËÆÃ¤ËÃí°Õ¤¬É¬ÍפǤ¹¡£
¤½¤Î¾ì¹ç¡¢Î¾Êý¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤¬Â¸ºß¤·¤Æ¤¤¤Ê¤¤¤È¥³¥ë¡¼¥Á¥ó¤Î½èÍý¤ÏÄä»ß¤·¤Þ¤¹¡£
¡¡Î㤨¤Ð¡¢¥×¥ì¥¤¥ä¡¼ÍѤΥ¹¥¯¥ê¥×¥ÈÆâ¤Ë¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥É¤¬ÍѰդµ¤ì¤Æ¤ª¤ê¡¢¤½¤ì¤òŨ¦¤Î¥¹¥¯¥ê¥×¥È¤«¤é¼Â¹Ô¤¹¤ë¤È¹Í¤¨¤Æ¤¯¤À¤µ¤¤¡£
Ũ¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ÏÇ˲õ¤µ¤ì¤Æ¤·¤Þ¤¦¤È¡¢°ì½ï¤Ë¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë¥¹¥¯¥ê¥×¥È¤âÇË´þ¤µ¤ì¤Þ¤¹¡£
¤³¤Î¤È¤¡¢Å¨Â¦¤Î¥¹¥¯¥ê¥×¥È¤«¤é¥×¥ì¥¤¥ä¡¼ÍѤΥ¹¥¯¥ê¥×¥ÈÆâ¤Î¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥É¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢
Ũ¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤¬Ç˲õ¤µ¤ì¤ë¤ÈƱ»þ¤Ë¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥É¤Î½èÍý¤âÄä»ß¤·¤Þ¤¹¡£
¡¡¤è¤Ã¤Æ¡¢³°Éô¤Î¥¹¥¯¥ê¥×¥È¤«¤é¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥É¤ò¼Â¹Ô¤¹¤ë¾ì¹ç¤Ë¤Ï¥ê¥¹¥¯¤¬È¼¤¤¤Þ¤¹¤Î¤Ç¡¢
¤Ê¤ë¤Ù¤¯³°Éô¤Î¥¹¥¯¥ê¥×¥È¤«¤é¤ÏľÀܼ¹Ԥ»¤º¡¢¥×¥ì¥¤¥ä¡¼¤Î¥¹¥¯¥ê¥×¥È¤ÎÊ̤Υ᥽¥Ã¥É¤ò·Ðͳ¤·¤Æ¡¢¥¹¥¯¥ê¥×¥ÈÆâÉô¤«¤é¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥É¤ò¼Â¹Ô¤¹¤ë¤è¤¦¤Ë¤·¤Þ¤·¤ç¤¦¡£
- ¥«¥Æ¥´¥ê¡§
- ¿Ê³Ø/¥¹¥¯¡¼¥ë
- ¥×¥í¥°¥é¥ß¥ó¥°
¥³¥á¥ó¥È¤ò¤«¤¯