Unity¤Ë´ØÏ¢¤¹¤ëµ­»ö¤Ç¤¹

¡¡¤³¤Î¼ê½ç¤Ç¤Ï¡¢ËɱÒÍѤÎÌ£Êý¥­¥ã¥é¤Ë¹¶·âÈÏ°ÏÆâ¤Ë¤¤¤ëŨ¤ËÂФ·¤Æ°ìÄê»þ´Ö¤´¤È¤Ë¥À¥á¡¼¥¸¤òÍ¿¤¨¤ë¤è¤¦¤Ë¤·¡¢¥À¥á¡¼¥¸¤Ë¤è¤Ã¤ÆÇ˲õ¤µ¤ì¤ë¡¢¤È¤¤¤¦¤è¤¦¤Ë½çÈ֤˽èÍý¤ò¼ÂÁõ¤·¤Þ¤¹¡£
¤Þ¤¿¹¶·âÈϰϤè¤êŨ¥­¥ã¥é¤¬¤¤¤Ê¤¯¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿¾ì¹ç¤Ë¤Ï¡¢¹¶·â¤Î½èÍý¤òÄä»ß¤¹¤ë½èÍý¤â¹ç¤ï¤»¤Æ¼ÂÁõ¤·¤Þ¤¹¡£

¡¡°Ê²¼¤ÎÆâÍƤǽçÈ֤˼ÂÁõ¤ò¿Ê¤á¤Æ¤¤¤­¤Þ¤¹¡£


¡ã¼ÂÁõÆ°²è­¡¡¡¹¶·âÈÏ°ÏÆâ¤ËŨ¥­¥ã¥é¤¬¿¯Æþ¤·¤¿¤é°ìÄê»þ´Ö¤´¤È¤Ë¹¶·â¤·¤Æ¥À¥á¡¼¥¸¤òÍ¿¤¨¤ë¡ä
Æ°²è¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯


¡ã¼ÂÁõÆ°²è­¢¡¡Å¨¥­¥ã¥é¤¬¹¶·âÈϰϳ°¤Ë¤Ê¤Ã¤¿¤é¹¶·â¤òÄä»ß¤¹¤ë¡ä
Æ°²è¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯


¼ê½ç£±£²¡¡¡¼Ì£Êý¥­¥ã¥é¤Î¹¶·â½èÍý¤ÈŨ¥­¥ã¥é¤Î¥À¥á¡¼¥¸½èÍý¤Î¼ÂÁõ¡¼
£²£°¡¥CharaController ¥¹¥¯¥ê¥×¥È¤Î½¤Àµ¤ò¹Ô¤¤¡¢¹¶·âÈÏ°ÏÆâ¤Ë¿¯Æþ¤·¤¿Å¨¥­¥ã¥é¤Ë°ìÄê»þ´Ö¤´¤È¤Ë¹¶·â¤¹¤ë½èÍý¤È¡¢Å¨¥­¥ã¥é¤¬¤¤¤Ê¤¯¤Ê¤Ã¤¿¾ì¹ç¤Ë¹¶·â¤òÄä»ß¤¹¤ë½èÍý¤ò¼ÂÁõ¤¹¤ë
£²£±¡¥EnemyController ¥¹¥¯¥ê¥×¥È¤Î½¤Àµ¤ò¹Ô¤¤¡¢¹¶·âÈÏ°ÏÆâ¤Ë¿¯Æþ¤·¤¿Å¨¥­¥ã¥é¤Ë¥À¥á¡¼¥¸¤òÍ¿¤¨¤ÆÇ˲õ¤¹¤ë½èÍý¤ò¼ÂÁõ¤¹¤ë



¡¡¿·¤·¤¤³Ø½¬ÆâÍƤϡ¢°Ê²¼¤ÎÄ̤ê¤Ç¤¹¡£

¡¡¡¦while ʸ¤È¥³¥ë¡¼¥Á¥ó¡¦¥á¥½¥Ã¥É¤òÁȤ߹ç¤ï¤»¤¿½èÍý¤Î¼ÂÁõÎã
¡¡¡¦OnTriggerExit2D ¥á¥½¥Ã¥É
¡¡¡¦Mathf.Clamp ¥á¥½¥Ã¥É
¡¡¡¦Tween.Kill ¥á¥½¥Ã¥É



£²£°¡¥CharaController ¥¹¥¯¥ê¥×¥È¤Î½¤Àµ¤ò¹Ô¤¤¡¢¹¶·âÈÏ°ÏÆâ¤Ë¿¯Æþ¤·¤¿Å¨¥­¥ã¥é¤Ë°ìÄê»þ´Ö¤´¤È¤Ë¹¶·â¤¹¤ë½èÍý¤È¡¢Å¨¥­¥ã¥é¤¬¤¤¤Ê¤¯¤Ê¤Ã¤¿¾ì¹ç¤Ë¹¶·â¤òÄä»ß¤¹¤ë½èÍý¤ò¼ÂÁõ¤¹¤ë

£±¡¥Àß·×


¡¡°ìÅ٤˽èÍý¤ò¼ÂÁõ¤¹¤ë¤Î¤Ç¤Ï¤Ê¤¯¡¢ËɱÒÍѤΥ­¥ã¥é¦¤Î½èÍý¤ò¼ÂÁõ¤·¡¢¤½¤Î¸å¡¢Å¨¥­¥ã¥é¦¤Î½èÍý¤ò¼ÂÁõ¤·¤Þ¤¹¡£
£±¤Ä¤º¤Ä½çÈ֤˵¡Ç½¤òÄɲ䷤Ƥ¤¤¯¤³¤È¤ÇÉÔ¶ñ¹ç¤ò¸«¤Ä¤±¤ä¤¹¤¯¤·¤Þ¤¹¡£¤Þ¤¿¡¢Á°Äó¤È¤Ê¤ë½èÍý¤òÍý²ò¤·¤¿¾å¤ÇÀè¤Ë¿Ê¤á¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£

¡¡¤Þ¤º¤ÏËɱÒ¦¤ÎÌ£Êý¥­¥ã¥é¤Ë¤É¤Î¤è¤¦¤Ê½èÍý¤¬É¬Íפˤʤ뤫¡¢¤½¤Î¾ì¹ç¤Ë¤Ï¡¢¤É¤ó¤ÊÊÑ¿ô¤¬É¬Íפǡ¢¤É¤Î¤è¤¦¤ËÍøÍѤ·¤Æ¤¤¤±¤Ð¤è¤¤¤«¤È¤¤¤Ã¤¿Éôʬ¤ò¹Í¤¨¤Æ½ñ¤­¤À¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£
Ƭ¤ÎÃæ¤Ç¤Î¥¤¥á¡¼¥¸¤ò½ñ¤­½Ð¤¹¤³¤È¤¬½ÐÍè¤ì¤Ð¡¢¤½¤ì¤ò¸µ¤Ë¥×¥í¥°¥é¥à¤Î¥í¥¸¥Ã¥¯¤ò¹Í¤¨¤Æ¤¤¤¯¤³¤È¤¬Íưפˤʤê¤Þ¤¹¡£
¸½ºß¤Î CharaController ¥¹¥¯¥ê¥×¥È¤ò¤ß¤Ê¤¬¤é½èÍý¤ò¥¤¥á¡¼¥¸¤·¤Æ¤ß¤Þ¤·¤ç¤¦¡£
¡¡
¡¡¹¶·âÈÏ°ÏÆâ¤Ë¤Ä¤¤¤Æ¤Ï OnTriggerEnter2D ¥á¥½¥Ã¥É¤Ë¤ª¤¤¤Æ¼ÂÁõºÑ¤Ç¤¹¡£¤³¤Î½èÍý¤ÎÃæ¤ÇŨ¥­¥ã¥é¤ò¤¹¤°¤ËÇ˲õ¤·¤Æ¤·¤Þ¤Ã¤Æ¤¤¤¿¤¿¤á¡¢
¤½¤ÎÉôʬ¤ò¡Ö°ìÄê»þ´Ö¤´¤È¡×¤Ë¡ÖŨ¤ò¹¶·â¤¹¤ë¡×¤È¤¤¤¦¥í¥¸¥Ã¥¯¤ò¹Í¤¨¤Æ¤¤¤­¤Þ¤¹¡£

¡¡°ìÄê»þ´Ö¤´¤È¡¢¤È¤¤¤¦¤Î¤Ï¡¢´Êñ¤Ë¹Í¤¨¤Æ¤â·×¬ÍѤÎÃͤÈÌÜɸÍѤÎÃͤΣ²¤Ä¤¬É¬Íפˤʤê¤Þ¤¹¡£
ÃÍƱ»Î¤òÈæ³Ó¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢°ìÄê»þ´Ö¤òɽ¸½¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ë¤¿¤á¤Ç¤¹¡£
¤Þ¤¿°ìÄê»þ´Ö¤òȽÄꤷ¡¢¤½¤ì¤ò·«¤êÊÖ¤¹¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¤Î¤Ç¡¢·«¤êÊÖ¤·ÍѤνèÍý¤ò¹Í¤¨¤ëɬÍפ⤢¤ê¤Þ¤¹¡£

¡¡Å¨¤ò¹¶·â¤¹¤ë¡¢¤È¤¤¤¦¤Î¤Ï¡¢Å¨¤ÎÂÎÎϤò¸º¤é¤¹¡¢¤È¤¤¤¦¾õÂ֤ˤʤê¤Þ¤¹¡£
¸½»þÅÀ¤Ç¤ÏŨ¤Ë¤âÂÎÎϤȤʤëÃͤϤ¢¤ê¤Þ¤»¤ó¤Ç¤Î¡¢¤Þ¤º¤ÏËɱÒÍѤÎÌ£Êý¥­¥ã¥é¤Ë¹¶·âÎÏÍѤÎÃͤò½àÈ÷¤¹¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£
¸º¤é¤¹½èÍý¼«ÂΤÏŨ¤ÎÂÎÎϤ¬Äɲ䵤ì¤Æ¤«¤é¼ÂÁõ¤¹¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¤Î¤Ç¡¢¤Þ¤º¤Ï Debug.Log ¥á¥½¥Ã¥É¤ò³èÍѤ·¤Æ¡¢¹¶·â¤ò¹Ô¤Ã¤Æ¤¤¤ë¤³¤È¤ò³Îǧ¤·¤Æ¤ª¤¯¤è¤¦¤Ë¤·¤Þ¤¹¡£
¤³¤ÎÉôʬ¤Ë¤¢¤È¤Ç½èÍý¤ò¼ÂÁõ¤¹¤ë¥¤¥á¡¼¥¸¤Ç¤¹¡£

¡¡¤Þ¤º¤Ï¤³¤³¤Þ¤Ç¤ò¼ÂÁõ¤Ç¤­¤ë¤è¤¦¤Ë¡¢¥í¥¸¥Ã¥¯¤ò¹Í¤¨¤Æ¤ß¤Þ¤·¤ç¤¦¡£


£²¡¥CharaController ¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤¹¤ë


¡¡À߷פÎÆâÍƤò¸µ¤Ë¥í¥¸¥Ã¥¯¤ò¹Í¤¨¤Æ¡¢¤½¤ì¤«¤é¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¤Þ¤¹¡£
¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤¹¤ë¤Î¤Ï¡¢¤·¤Ã¤«¤ê¤È½èÍý¤Î¥¤¥á¡¼¥¸¤¬¸Ç¤Þ¤ê¡¢¥í¥¸¥Ã¥¯¤¬´°À®¤·¤Æ¤«¤é¤Ë¤Ê¤ê¤Þ¤¹¡£
¤¤¤­¤Ê¤ê½èÍý¤ò½ñ¤¤¤¿¤ê¡¢¶µºàÄ̤ê¤Ë½ñ¤±¤Ð¤¤¤¤¡¢¤È¤¤¤¦·Á¤Ç¿Ê¤á¤Æ¤·¤Þ¤¦¤È¡¢¸å¡¹¤Ë¼«Ê¬¤Ç¥í¥¸¥Ã¥¯¤ò¹Í¤¨¤ë¤³¤È¤¬½ÐÍè¤Ê¤¯¤Ê¤Ã¤Æ¤·¤Þ¤¤¤Þ¤¹¡£

¡¡¾ï¤Ë¼«Ê¬¤Ç½èÍý¤ò½ñ¤¯¡¢¤È¤¤¤¦°Õ¼±¤ò»ý¤Á¤Ê¤¬¤é¡¢½èÍý¤ÎÆâÍƤòÍý²ò¤·¤Ê¤¬¤é½ñ¤¤¤Æ¤¤¤¯¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£


CharaController.cs


¡¡¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¤¿¤é¥»¡¼¥Ö¤ò¹Ô¤¤¤Þ¤¹¡£


£³¡¥while ʸ¤È¥³¥ë¡¼¥Á¥ó¡¦¥á¥½¥Ã¥É¤òÁȤ߹ç¤ï¤»¤¿½èÍý¤Î¼ÂÁõÎã


¡¡while(¥Û¥ï¥¤¥ë) ʸ¤ÏÈ¿Éü½èÍý¤È¸Æ¤Ð¤ì¤ë½èÍý¤Ç¤¹¡£¾ò·ï¤òËþ¤¿¤·¤Æ¤¤¤ë¸Â¤ê¡¢·«¤êÊÖ¤·½èÍý¤ò¹Ô¤¤¤Þ¤¹¡£

¡¡º£²ó¤Î¥±¡¼¥¹¤Ç¤Ï¾ò·ï¤¬¡ÖisAttack ¤ÎÃͤ¬ true ¤Î´Ö¡×¤Ç¤¹¡£
¤è¤Ã¤Æ¡¢isAttack ¤ÎÃͤ¬ false ¤Ë¤Ê¤ë¤Þ¤Ç¤Ï¤º¤Ã¤È·«¤êÊÖ¤µ¤ì¤Æ½ª¤ï¤ë¤³¤È¤Î¤Ê¤¤½èÍý¤Ë¤Ê¤ê¤Þ¤¹¡£


    public IEnumerator PrepareteAttack() {

        Debug.Log("¹¶·â½àÈ÷³«»Ï");

        int timer = 0;

¡¡¡¡¡¡¡¡// ¹¶·âÃæ¤Î´Ö¤À¤±¥ë¡¼¥×½èÍý¤ò·«¤êÊÖ¤¹
        while (isAttack) {

            // TODO ¥²¡¼¥à¥×¥ì¥¤Ãæ¤Î¤ß¹¶·â¤¹¤ë

            timer++;
        
¡¡¡¡¡¡¡¡¡¡¡¡// ¹¶·â¤Î¤¿¤á¤ÎÂÔµ¡»þ´Ö¤¬·Ð²á¤·¤¿¤é    
¡¡¡¡¡¡¡¡    if (timer > intervalAttackTime) {

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡// ¼¡¤Î¹¶·â¤ËÈ÷¤¨¤Æ¡¢ÂÔµ¡»þ´Ö¤Î¥¿¥¤¥Þ¡¼¤ò¥ê¥»¥Ã¥È
                timer = 0;

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡// ¹¶·â
                Attack();
                   
                // TODO ¹¶·â²ó¿ô´ØÏ¢¤Î½èÍý¤ò¤³¤³¤Ëµ­½Ò¤¹¤ë

                
            }

¡¡¡¡¡¡¡¡¡¡¡¡// £±¥Õ¥ì¡¼¥à½èÍý¤òÃæÃǤ¹¤ë(¤³¤Î½èÍý¤ò½ñ¤­Ëº¤ì¤ë¤È̵¸Â¥ë¡¼¥×¤Ë¤Ê¤ê¡¢Unity ¥¨¥Ç¥£¥¿¡¼¤¬Æ°¤«¤Ê¤¯¤Ê¤Ã¤ÆºÆµ¯Æ°¤¹¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£Ãí°Õ¡ª)
            yield return null;
        }
    }

¡¡while ʸÆâ¤Î½èÍý¤Ï£³¤Ä¤¢¤ê¡¢£±¤Ä¤Ï timer ÊÑ¿ô¤Î²Ã»»½èÍý¡¢¤â¤¦£±¤Ä¤Ï¹¶·â¥á¥½¥Ã¥É¤Î¼Â¹Ô½èÍý¤Ç¤¹¡£
»ØÄꤵ¤ì¤¿Ãͤˤʤ뤿¤Ó¡¢¹¶·â¥á¥½¥Ã¥É¤ò¼Â¹Ô¤¹¤ëÀ©¸æ¤ò¹Ô¤Ã¤Æ¤¤¤Þ¤¹¡£

¡¡¤â¤¦£±¤Ä¤Ï yield ¤Ë¤è¤ëÃæÃÇ(ÂÔµ¡¡¦ÃÙ±ä)¤Î½èÍý¤Ç¤¹¡£ yield return null £±¥Õ¥ì¡¼¥à¤À¤±½èÍý¤òÃæÃǤ·¤Þ¤¹¡£

¡¡¤½¤Î¤¿¤á¡¢¤³¤Î while ʸ¤Ë¤è¤ë·«¤êÊÖ¤·¤Î½èÍý¤Ï¼¡¤Î¤è¤¦¤ÊµóÆ°¤Ë¤Ê¤ê¤Þ¤¹¡£

¡¡£±¡¥while ʸ¤Î¾ò·ï¤òËþ¤¿¤·¤Æ¤¤¤ë¤«¡¢³Îǧ¤¹¤ë¡£Ëþ¤¿¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢½èÍý¤ò½ªÎ»¤¹¤ë
¡¡£²¡¥¾ò·ï¤òËþ¤¿¤·¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢timer ÊÑ¿ô¤ÎÃͤò²Ã»»¤¹¤ë¡£
¡¡¡¡¡¡¤½¤Î¸å¡¢timer ÊÑ¿ô¤ÎÃÍ¤È intervalAttackTime ¤ÎÃͤò if ʸ¤Ë¤ÆÈæ³Ó¤·¤Æ¡¢¾ò·ï¤òËþ¤¿¤·¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï if ʸÆâ¤Î½èÍý(timer ÊÑ¿ô¤Î¥ê¥»¥Ã¥È¤È¹¶·â¥á¥½¥Ã¥É¤Î¸Æ¤Ó½Ð¤·)¤ò¹Ô¤¦
¡¡£³¡¥£±¥Õ¥ì¡¼¥àÂÔ¤Ä
¡¡£´¡¥¡Ú£±¡Û¤Î½èÍý¤ËÌá¤ë

¡¡Update ¥á¥½¥Ã¥É¤òÍøÍѤ·¤Æ¤¤¤Þ¤»¤ó¤¬¡¢¤·¤Ã¤«¤ê¤È°ìÄê¤Î´Ö³Ö¤Ç·«¤êÊÖ¤·¹¶·â¤ò½èÍý¤ò¼ÂÁõ¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤·¤¿¡£

¡¡¤Ê¤ª¡¢while ʸ¤Ç¤Ï½èÍý¤òÃæÃǤ¹¤ë½èÍý¤ò¶´¤Þ¤Ê¤¤¤È·«¤êÊÖ¤·¤Î½èÍý¤¬»ß¤Þ¤é¤Ê¤¯¤Ê¤Ã¤Æ¡¢Unity ¤Î¥¨¥Ç¥£¥¿¡¼¤¬Æ°¤«¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£
¤³¤¦¤Ê¤Ã¤Æ¤·¤Þ¤¦¤ÈºÆµ¯Æ°¤¹¤ë¤·¤«¤Ê¤¯¤Ê¤ê¤Þ¤¹¤Î¤Ç¡¢while ʸ¤ÏÆä˵¤¤òÉÕ¤±¤Æºî¶È¤·¤Æ¤¯¤À¤µ¤¤¡£


»²¹Í¥µ¥¤¥È
̤³ÎǧÈô¹Ô C ÍÍ
È¿Éü½èÍý
https://ufcpp.net/study/csharp/st_loop.html


¡¡Â¾¤Ë¤â¼«Æ°Åª¤Ë¹¶·â¤ò¹Ô¤¦¤è¤¦¤Ë¤¹¤ë½èÍý¤Ï¹Í¤¨¤é¤ì¤Þ¤¹¡£¿§¡¹¤Ê½èÍý¤ò»î¤·¤Æ¤ª¤¯¤³¤È¤Ç½èÍý¤Î°ú¤­½Ð¤·¤¬¹­¤¬¤ê¡¢
¤è¤ê¿¤¯¤Î½èÍý¤ò¼ÂÁõ¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¤Î¤Ç¡¢¤¤¤Ä¤â»È¤Ã¤Æ¤¤¤ë½èÍý¤À¤±¤Ç¤Ï¤Ê¤¯¡¢¿·¤·¤¤µ»½Ñ¤â¼è¤êÆþ¤ì¤Æ¤¤¤­¤Þ¤·¤ç¤¦¡£


£´¡¥Chara ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ÎÀßÄê¤ò¹Ô¤¦


¡¡Chara ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤ò³Îǧ¤·¡¢¿·¤·¤¯Äɲä·¤¿ÊÑ¿ô¤Ë¾ðÊó¤ËÀßÄ꤬ȿ±Ç¤·¤Æ¤¤¤ë¤«³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£
½é´üÃͤ¬Æþ¤ê¤Þ¤¹¤Î¤Ç¿·¤·¤¯ÀßÄê¤òÊѹ¹¤¹¤ëÉôʬ¤Ï¤¢¤ê¤Þ¤»¤ó¤Î¤Ç¡¢³Îǧ¤À¤±¤ÇÌäÂꤢ¤ê¤Þ¤»¤ó¡£

¡¡isAttack ÊÑ¿ô¤Ï¥¹¥¯¥ê¥×¥ÈÆâ¤ÇÀ©¸æ¤¬Æþ¤ê¤Þ¤¹¤Î¤Ç¡¢¥Á¥§¥Ã¥¯¤Ê¤·¡Êfalse¡Ë¤Î¾õÂ֤ǹ½¤¤¤Þ¤»¤ó¡£
¤Þ¤¿ enemy ÊÑ¿ô¤âƱÍͤǡ¢OnTriggerEnter2D ¥á¥½¥Ã¥É¤¬¼Â¹Ô¤µ¤ì¤¿¥¿¥¤¥ß¥ó¥°¤ÇÂåÆþ¤µ¤ì¤Þ¤¹¤Î¤Ç¡¢¤³¤Á¤é¤â None ¤Î¤Þ¤Þ¤ÇÌäÂꤢ¤ê¤Þ¤»¤ó¡£


¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü



¡¡°Ê¾å¤ÇÀßÄê¤Ï´°Î»¤Ç¤¹¡£


£µ¡¥¥²¡¼¥à¤ò¼Â¹Ô¤·¤ÆÆ°ºî¤ò³Îǧ¤¹¤ë


¡¡¤¤¤Þ¤Þ¤Ç¤ÈƱ¤¸¤è¤¦¤Ë½èÍý¤ÎÆâÍƤòÇÄ°®¤·¤Æ¤«¤é¡¢¥²¡¼¥à¤ò¼Â¹Ô¤·¤ÆÀ©¸æ¤Ç¤­¤Æ¤¤¤ë¤«¤ò³Îǧ¤·¤Æ¤¤¤­¤Þ¤¹¡£


¡ã¼ÂÁõÆ°²è¡ä
Æ°²è¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯


¡¡°ìÄê»þ´Ö(Ìó1ÉÃÁ°¸å)¤´¤È¤Ë Debug.Log ¥á¥½¥Ã¥É¤¬É½¼¨¤µ¤ì¤ì¤Ð¡¢·«¤êÊÖ¤·½èÍý¤È¹¶·â½èÍý¤ÎÀ©¸æÀ®¸ù¤Ç¤¹¡£


¡ã¥±¡¼¥¹¥¹¥¿¥Ç¥£¡¡¡¼Attack ¥á¥½¥Ã¥ÉÆâ¤Î Debug.Log(¡È¹¶·â¡É) ¤Î¥í¥°¤¬ÂçÎ̤Ëɽ¼¨¤µ¤ì¤ë¾ì¹ç¡¼¡ä

¡¡
¡¡¹¶·â¤Î½èÍý¤¬·«¤êÊÖ¤·È¯À¸¤·¡¢ÂçÎ̤Ρֹ¶·â¡×¥í¥°¤¬É½¼¨¤µ¤ì¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£

¡¡¤³¤Î¾ì¹ç¡¢¥¹¥¯¥ê¥×¥È¦¤Î¥¨¥é¡¼¤Î¾ì¹ç¤È¡¢PC ¤Î¥¹¥Ú¥Ã¥¯¤Ë°Í¸¤·¤Æ¤¤¤ë¾ì¹ç¤Î£²¤Ä¤¬¹Í¤¨¤é¤ì¤Þ¤¹¡£

¡¡¤Þ¤º¤Ï¤É¤Á¤é¤Ë³ºÅö¤¹¤ë¤Î¤«¤ò¡¢¤¹¤Ç¤Ëµ­½ÒºÑ¤Î Debug.Log ¥á¥½¥Ã¥É¤Ç³Îǧ¤·¡¢ÌäÂê¤ÎÆÃÄê¤ò¹Ô¤¤¤Þ¤¹¡£
¡¡
    public IEnumerator PrepareteAttack() {

        Debug.Log("¹¶·â½àÈ÷³«»Ï");¡¡¡¡//¡¡¢«¡¡¤³¤Î¥í¥°

¡¡¡¡¡¡(¾Êά)


¡¡¤³¤Î PrepareteAttack ¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥ÉÆâ¤Ë¤¢¤ë Debug.Log("¹¶·â½àÈ÷³«»Ï") ¤¬²¿²ó¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¤«¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£

¡¡¡Ö¹¶·â½àÈ÷³«»Ï¡×¤È¤¤¤¦¥í¥°¤¬ÂçÎ̤˽ФƤ¤¤ë¾ì¹ç¤Ë¤Ï¡¢¥¹¥¯¥ê¥×¥È¦¤Î¥¨¥é¡¼¤Î²ÄǽÀ­¤¬¹â¤¤¤Ç¤¹¡£
½èÍý¤ò½ñ¤­´Ö°ã¤¨¤Æ¤¤¤Ê¤¤¤«¡¢ºÆÅÙ¡¢¶µºà¤ÎÆâÍƤȡ¢¼«Ê¬¤Î½ñ¤¤¤¿¥¹¥¯¥ê¥×¥È¤ÎÆâÍƤθ«Ä¾¤·¤ò¹Ô¤Ã¤Æ¤¯¤À¤µ¤¤¡£



¡¡¡Ö¹¶·â½àÈ÷³«»Ï¡×¤Î¥í¥°¤Ï£±²ó¤·¤«½Ð¤Æ¤¤¤Ê¤¤¤Ë¤â¤«¤«¤ï¤é¤º¡¢ÂçÎ̤ΠDebug.Log(¡È¹¶·â¡É) ¤¬É½¼¨¤µ¤ì¤ë¾ì¹ç¡¢
¤ª»È¤¤¤Î PC ¤Î Update ¥á¥½¥Ã¥É¤ò¼Â¹Ô¤¹¤ë¥Õ¥ì¡¼¥à¥ì¡¼¥È(FPS)¤ÎÃͤ¬¹â¤¤¤³¤È¤¬¸¶°ø¤Ç¤¹¡£

¡¡while ʸ¤Ï yield return null ¤Ë¤è¤ê¡¢1¥Õ¥ì¡¼¥à¤´¤È¤Î¥ë¡¼¥×½èÍý¤ò¹Ô¤Ã¤Æ¤¤¤Þ¤¹¤¬¡¢
¤³¤Î1Éô֤˼¹Ԥ¹¤ë¥Õ¥ì¡¼¥à¥ì¡¼¥È¤ò 60 ¤ÈÁÛÄꤷ¤Æ¥×¥í¥°¥é¥à¤òºîÀ®¤·¤Æ¤¤¤Þ¤¹¡£
¤½¤Î¤¿¤á¡¢intervalAttackTime ÊÑ¿ô¤Ë¤Ï 60 ¤È¤¤¤¦ÃͤòÂåÆþ¤·¤Æ if ʸ¤Î¾ò·ï¼°¤È¤·¡¢
timer ÊÑ¿ô¤Ï1Éä´¤È¤Ë 60 ¤Ë¤Ê¤ëÁÛÄê¤Ç¤½¤Î¥¿¥¤¥ß¥ó¥°¤Ç Attack ¥á¥½¥Ã¥É¤ò¼Â¹Ô¤·¤Æ¤¤¤Þ¤¹¡£

int timer = 0;

¡¡¡¡¡¡¡¡// ¹¶·âÃæ¤Î´Ö¤À¤±¥ë¡¼¥×½èÍý¤ò·«¤êÊÖ¤¹
        while (isAttack) {

            timer++;
        
¡¡¡¡¡¡¡¡¡¡¡¡// ¹¶·â¤Î¤¿¤á¤ÎÂÔµ¡»þ´Ö¤¬·Ð²á¤·¤¿¤é    
¡¡¡¡¡¡¡¡    if (timer > intervalAttackTime) {¡¡¡¡//¡¡¢«¡¡¤³¤³

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡// ¼¡¤Î¹¶·â¤ËÈ÷¤¨¤Æ¡¢ÂÔµ¡»þ´Ö¤Î¥¿¥¤¥Þ¡¼¤ò¥ê¥»¥Ã¥È
                timer = 0;

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡// ¹¶·â
                Attack();
                   
                // TODO ¹¶·â²ó¿ô´ØÏ¢¤Î½èÍý¤ò¤³¤³¤Ëµ­½Ò¤¹¤ë

                
            }

¡¡¡¡¡¡¡¡¡¡¡¡// £±¥Õ¥ì¡¼¥à½èÍý¤òÃæÃǤ¹¤ë(¤³¤Î½èÍý¤ò½ñ¤­Ëº¤ì¤ë¤È̵¸Â¥ë¡¼¥×¤Ë¤Ê¤ê¡¢Unity ¥¨¥Ç¥£¥¿¡¼¤¬Æ°¤«¤Ê¤¯¤Ê¤Ã¤ÆºÆµ¯Æ°¤¹¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£Ãí°Õ¡ª)
            yield return null;

¡¡¤½¤Î¤¿¤á¡¢1Éô֤Υե졼¥à¥ì¡¼¥È¤ÎÃͤ¬¹â¤¤¤È¡¢timer ÊÑ¿ô¤ÎÃͤ¬¤¹¤°¤Ë intervalAttackTime(60) ¤ËÅþ㤹¤ë¤¿¤á¡¢
1Éäδ֤˲¿²ó¤â·«¤êÊÖ¤·¤Æ if (timer > intervalAttackTime) ¤Î¾ò·ï¤òËþ¤¿¤¹¤³¤È¤Ë¤Ê¤ê¡¢Attack ¥á¥½¥Ã¥É¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¤¿¤á¡¢
Debug.Log("¹¶·â") ¤Î¥í¥°¤¬ÂçÎ̤˽ФƤ·¤Þ¤Ã¤Æ¤¤¤Þ¤¹¡£

¡¡²þÁ±ÊýË¡¤È¤·¤Æ¤Ï¡¢intervalAttackTime ÊÑ¿ô¤ÎÃͤòÊѹ¹¤¹¤ë¤«¡¢¥Õ¥ì¡¼¥à¥ì¡¼¥È¤ÎÃͤòµ¬ÄêÃͤËÀßÄꤹ¤ëÊýË¡¤Ç¤¹¡£
¤¿¤À¤·¡¢intervalAttackTime ÊÑ¿ô¤ÎÃͤˤĤ¤¤Æ¤Ï¡¢ÁêÅö¤Ë¹â¤¤ÃͤËÀßÄꤷ¤Æ¤â¡¢ÊѲ½¤¬¸«¤é¤ì¤Ê¤¤²ÄǽÀ­¤¬¹â¤¤(PC ¤Î¥¹¥Ú¥Ã¥¯¤¬¹â¤¤)¤Î¤Ç¤½¤ÎÊýË¡¤Ï¤ª´«¤á¤·¤Þ¤»¤ó¡£
¤³¤³¤Ç¤Ï¥Õ¥ì¡¼¥à¥ì¡¼¥È¤ÎÃͤòµ¬ÄêÃͤËÀßÄꤹ¤ëÊýË¡¤òºÎÍѤ·¤Æ¤¯¤À¤µ¤¤¡£

¡¡²¼µ­¤Îµ­»ö¤ò»²¹Í¤Ë¤·¤Æ¥¹¥¯¥ê¥×¥È¤òºîÀ®¤·¡¢¤¤¤º¤ì¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤â¹½¤¤¤Þ¤»¤ó¤Î¤Ç¥¢¥¿¥Ã¥Á¤·¤Æ¤¯¤À¤µ¤¤¡£


¡¡¡¡¡¡¢ª¡¡¥Õ¥ì¡¼¥à¥ì¡¼¥È(FPS)¤Î¸ÇÄê²½ÀßÄê¤ÎÊýË¡


¡¡¤³¤¦¤¹¤ë¤³¤È¤Ç¥Õ¥ì¡¼¥à¥ì¡¼¥È¤ÎÃͤ¬¸ÇÄê²½¤µ¤ì¤ë¤¿¤á PC ¤ÎÀ­Ç½º¹¤Ë°Í¸¤·¤Ê¤¤ÃͤˤʤꡢÌäÂê¤ò²ò¾Ã¤Ç¤­¤Þ¤¹¡£


£¶¡¥ÌäÂêÅÀ¤ò½¤Àµ¤¹¤ë¡¡¡¼CharaController ¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤¹¤ë¡¼


¡¡¥Ç¥Ð¥Ã¥°¤ò¹Ô¤Ã¤Æ½èÍý¤ò³Îǧ¤·¤Æ¤¤¤¯¤È¤ï¤«¤ê¤Þ¤¹¤¬¡¢OnTriggerEnter2D ¥á¥½¥Ã¥É¤ËÃÖ¤¤¤Æ EnemyController ¥¹¥¯¥ê¥×¥È¤Î¾ðÊó¤ò¼èÆÀ¤¹¤ë¤È¡¢
¤½¤Î¾ðÊó¤ò¤º¤Ã¤ÈÊÝ»ý¤·¤¿¤Þ¤Þ¤Ë¤Ê¤ê¤Þ¤¹¤Î¤Ç¡¢Å¨¥­¥ã¥é¤¬¹¶·âÈϰϳ°¤Ë½Ð¤Æ¤¤¤Ã¤Æ¤â¡¢¤º¤Ã¤È¹¶·â¤ò¤·Â³¤±¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£

¡¡¤³¤Á¤é¤ò½¤Àµ¤¹¤ë¤³¤È¤ò¹Í¤¨¤Þ¤¹¡£

¡¡OnTriggerExit2D ¥á¥½¥Ã¥É¤È¤¤¤¦½èÍý¤¬¤¢¤ê¤Þ¤¹¤Î¤Ç¡¢¤³¤Á¤é¤ò³èÍѤ·¤Þ¤·¤ç¤¦¡£
¤³¤Î¥á¥½¥Ã¥É¤Ï¿¯Æþ¤·¤Æ¤¤¤ë¥³¥é¥¤¥À¡¼¤¬¿¯ÆþÈϰϳ°¤Ë½Ð¤¿¤È¤­¤Ë£±²ó¤À¤±¼«Æ°Åª¤Ë½èÍý¤¬¼Â¹Ô¤µ¤ì¤ë¥á¥½¥Ã¥É¤Ç¤¹¡£
¤Ä¤Þ¤ê¡¢Å¨¥­¥ã¥é¤¬¹¶·âÈϰϳ°¤Ë½Ð¤¿¥¿¥¤¥ß¥ó¥°¤Ç¸Æ¤Ó½Ð¤µ¤ì¤Þ¤¹¤Î¤Ç¡¢¤³¤Î¥á¥½¥Ã¥ÉÆâ¤Ç·«¤êÊÖ¤·¤Î½èÍý¤òÄä»ß¤·¡¢ EnemyController ¤Î¾ðÊó¤òºï½ü¤¹¤ë¤³¤È¤¬½ÐÍè¤ì¤Ð
·ë²Ì¤È¤·¤Æ¹¶·â½èÍý¤âÄä»ß¤¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£

¡¡·«¤êÊÖ¤·¤Î½èÍý¤Ï¤É¤Î¤è¤¦¤Ë¤·¤ÆÆ°¤¤¤Æ¤¤¤ë¤«¡©¡¡

¡¡Ää»ß¤¹¤ë¤Ë¤Ï¤É¤¦¤¹¤ì¤Ð¤¤¤¤¤Î¤«¡©

¤³¤Î¥í¥¸¥Ã¥¯¤ò¥¤¥á¡¼¥¸¤·¤Æ¡¢½èÍý¤ò½ñ¤¤¤Æ¤ß¤Þ¤·¤ç¤¦¡£


CharaController.cs


¡¡¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¤¿¤é¥»¡¼¥Ö¤ò¹Ô¤¤¤Þ¤¹¡£


£·¡¥¥²¡¼¥à¤ò¼Â¹Ô¤·¤ÆÆ°ºî¤ò³Îǧ¤¹¤ë


¡¡½èÍý¤ò½¤Àµ¤·¤Þ¤·¤¿¤Î¤Ç¡¢Chara ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤ò³Îǧ¤·¤Ê¤¬¤é½èÍý¤ò¼Â¹Ô¤·¤Æ¤ß¤Þ¤·¤ç¤¦¡£
¤É¤Î½èÍý¤¬¡¢¤É¤ÎÉôʬ¤òÆ°¤«¤·¤Æ¤¤¤ë¤Î¤«¤òÍý²ò¤·¤Æ¤ª¤¯¤³¤È¤¬¥¹¥¯¥ê¥×¥È¤ÎÍý²ò¤ò¿¼¤á¤ë¤³¤È¤Ë¤â¤Ê¤ê¤Þ¤¹¡£


¡ã¼ÂÁõÆ°²è¡ä
Æ°²è¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯


¡¡Ìµ»ö¤ËÀ©¸æ¤Ç¤­¤Æ¤¤¤ë¤«³Îǧ¤·¤Æ¤ª¤­¤Þ¤·¤ç¤¦¡£


£²£±¡¥EnemyController ¥¹¥¯¥ê¥×¥È¤Î½¤Àµ¤ò¹Ô¤¤¡¢¹¶·âÈÏ°ÏÆâ¤Ë¿¯Æþ¤·¤¿Å¨¥­¥ã¥é¤Ë¥À¥á¡¼¥¸¤òÍ¿¤¨¤ÆÇ˲õ¤¹¤ë½èÍý¤ò¼ÂÁõ¤¹¤ë

£±¡¥Àß·×


¡¡¥×¥í¥°¥é¥à¤Î¥í¥¸¥Ã¥¯¤ò¹Í¤¨¤ë¤È¤­¤Ï¡¢¼Â¹Ô¤·¤¿¤¤½èÍý¤ò¥á¥½¥Ã¥É¤Ë¤Þ¤È¤á¤ÆÍÑ°Õ¤·¡¢¤½¤ì¤òɬÍפʥ¿¥¤¥ß¥ó¥°¤Ç¸Æ¤Ó½Ð¤¹¤è¤¦¤Ë¹Í¤¨¤Þ¤¹¡£
º£²ó¤Î¥±¡¼¥¹¤Ç¤¢¤ì¤Ð¡¢¸Æ¤Ó½Ð¤·¤¿¤¤¥¿¥¤¥ß¥ó¥°¤Ï CharaController ¥¹¥¯¥ê¥×¥È¦¤Ë TODO ¤Çµ­½Ò¤·¤Æ¤¢¤ê¤Þ¤¹¤Î¤Ç¡¢
¤¢¤È¤Ï¤½¤Î½èÍý¤ò¼ÂÁõ¤¹¤ì¤Ð¥í¥¸¥Ã¥¯¤¬´°À®¤·¤Þ¤¹¡£

¡¡EnemyController ¥¹¥¯¥ê¥×¥È¦¤Ë¡¢CharaController ¥¹¥¯¥ê¥×¥È¦¤«¤é¸Æ¤Ó½Ð¤·¤Æ¤â¤é¤¦¥á¥½¥Ã¥É¤ò¼ÂÁõ¤·¤Þ¤·¤ç¤¦¡£
¥á¥½¥Ã¥É¤Ë¤Ï°ú¿ô¤òÀßÄê¤Ç¤­¤Þ¤¹¤Î¤Ç¡¢CharaController ¥¹¥¯¥ê¥×¥È¦¤ËÀßÄꤷ¤Æ¤¤¤ë attackPower ¤ÎÃͤò°ú¿ô¤òÄ̤¸¤Æ¼õ¤±¼è¤ë¤³¤È¤Ç
EnemyController ¥¹¥¯¥ê¥×¥È¦¤Î¥á¥½¥Ã¥É¤Ë¡¢attackPower ¤ÎÃͤ¬¾ðÊó¤È¤·¤ÆÆϤ­¡¢ÍøÍѽÐÍè¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£

¡¡Å¨¤ÎÇ˲õ½èÍý¤ËºÝ¤·¤Æ¤Ç¤¹¤¬¡¢Å¨¤Î°ÜÆ°¤ò¼Â¹Ô¤·¤Æ¤¤¤ë DOTween ¤Î DOPath ¥á¥½¥Ã¥É¤ÏÈóƱ´ü½èÍý¤ÇÆ°¤¤¤Æ¤¤¤Þ¤¹¡£
¤½¤Î¤¿¤á¡¢DOPath ¥á¥½¥Ã¥É¤ò¼Â¹Ô¤·¤Æ¤¤¤ëŨ¥­¥ã¥é¼«ÂΤ¬Ç˲õ¤µ¤ì¤Æ¤·¤Þ¤Ã¤Æ¤â¡¢¤³¤Î½èÍý¼«ÂΤ¬¼«Æ°Åª¤Ë½ªÎ»¤¹¤ë¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó¡£
Ä̾ï¤ÎƱ´ü½èÍý¤Ë¤è¤ë¥×¥í¥°¥é¥à¤ÈÈóƱ´ü½èÍý¤Ë¤è¤ë¥×¥í¥°¥é¥à¤Ë¤Ï¤³¤Î¤è¤¦¤Ê°ã¤¤¤â¤¢¤ê¤Þ¤¹¡£

¡¡¤è¤Ã¤Æ¡¢Å¨¥­¥ã¥é¤¬Ç˲õ¤µ¤ì¤¿¥¿¥¤¥ß¥ó¥°¤ÇŬÀÚ¤Ë DOPath ¥á¥½¥Ã¥É¤Î½èÍý¤ò½ªÎ»¤·¤Æ¤ª¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£

¡¡DOTween ¤Î½èÍý¤Ï Tween ¤È¤¤¤¦·¿¤Ë¤è¤Ã¤ÆÆ°¤¤¤Æ¤¤¤Þ¤¹¡£½èÍý¤Î¼Â¹ÔÅÓÃæ¤Ç½èÍý¤ò½ªÎ»¤·¤¿¤¤¾ì¹ç¡Ê¤¢¤ë¤¤¤Ï°ì»þÄä»ß¤·¤¿¤¤¾ì¹ç¤Ê¤É¡Ë¤Ï¡¢
Tween ·¿¤ÎÊÑ¿ô¤òÍÑ°Õ¤·¤Æ¤ª¤­¡¢¤½¤ÎÃæ¤Ë¼Â¹Ô¤¹¤ë¥á¥½¥Ã¥É¤òÂåÆþ¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢½èÍý¤ÎÀ©¸æ¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¤Î¤Ç
Ũ¤ÎÇ˲õ½èÍý¤ò¼ÂÁõ¤¹¤ë¾ì¹ç¡¢DOPath ¥á¥½¥Ã¥É¤Î¼Â¹Ô½èÍý¤Ë¤â½¤Àµ¤¬É¬Íפˤʤê¤Þ¤¹¡£


£²¡¥EnemyController ¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤¹¤ë


¡¡¿·¤·¤¯¥À¥á¡¼¥¸·×»»ÍѤΥ᥽¥Ã¥É¤ÈÇ˲õ½èÍýÍѤΥ᥽¥Ã¥É¤ò¼ÂÁõ¤·¤Þ¤¹¡£
¡¡
¤³¤ì¤Ëȼ¤¤¡¢Start ¥á¥½¥Ã¥ÉÆâ¤Ë½èÍý¤ÎÄɲäȽ¤Àµ¤¬¤¢¤ê¤Þ¤¹¡£

¡¡ÊÑ¿ô¤ÎÀë¸À¤â¿·¤·¤¯£³¤Ä½àÈ÷¤·¤Æ¤¤¤Þ¤¹¡£Æ±¤¸¹àÌÜƱ»Î(SerializeField°À­ ¤ÎÊÑ¿ô)¤Çʤ٤Ƥ¤¤ë¤¿¤á¡¢ÅÓÃæ¤Ëº¹¤·¹þ¤ó¤Ç¤¤¤Þ¤¹¡£

¡¡º£¸å¤Î¼ÂÁõ¤ò¸«Ä̤·¡¢TODO ¤ò»Ä¤·¤Æ¤ª¤­¤Þ¤¹¡£¤³¤Á¤é¤â½ç¼¡¡¢É¬Íפ˱þ¤¸¤ÆÄɵ­¤·¤Æ¤¤¤­¤Þ¤·¤ç¤¦¡£
¼«Ê¬¤Ç½èÍý¤Îή¤ì¤ò¹Í¤¨¤Æ¤ß¤Æ¡¢¤³¤³¤Ë¤Ï¤³¤ó¤Ê½èÍý¤¬Íߤ·¤¤¤Ê¡¢¤È¤¤¤¦Éôʬ¤Ë¤ÏÀѶËŪ¤Ë TODO ¤ò»Ä¤·¤Æ¤ª¤¯¤è¤¦¤Ë¤¹¤ë¤È¥×¥í¥°¥é¥à¤Î¥í¥¸¥Ã¥¯¤ò¹Í¤¨¤ä¤¹¤¯¤Ê¤ê¤Þ¤¹¡£


EnemyController.cs


¡¡¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¤¿¤é¥»¡¼¥Ö¤ò¤·¤Þ¤¹¡£


£³¡¥¡ãMathf.Clamp¥á¥½¥Ã¥É¡ä


¡¡Mathf ¹½Â¤ÂΤϡ¢Unity ¤¬ÍÑ°Õ¤·¤Æ¤¤¤ë¡¢¿ô³Ø´Ø¿ô¤ÎÊÑ¿ô¤ä¥á¥½¥Ã¥É¤ò¤Þ¤È¤á¤Æ¤¢¤ë¹½Â¤ÂΤǤ¹¡£
Ä̾ï¤Î Math ¥¯¥é¥¹¤È°Û¤Ê¤ê¡¢Ìá¤êÃÍ¤Ï float ·¿¤ÇÍÑ°Õ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£


»²¹Í¥µ¥¤¥È
Unity ¸ø¼°¥¹¥¯¥ê¥×¥È¡¦¥ê¥Õ¥¡¥ì¥ó¥¹
Mathf



¡¡¤³¤Î¤¦¤Á¡¢Clamp ¥á¥½¥Ã¥É¤Ï¡¢¡ÖÀ©¸æ¤·¤¿¤¤»ØÄêÃͤò¡¢»ØÄꤷ¤¿ÈÏ°ÏÆâ¤ÎºÇ¾®ÃÍ¡¢ºÇÂçÃͤ˼ý¤á¤Æ¤¯¤ì¤ë(ÃÖ¤­´¹¤¨¤Æ¤¯¤ì¤ë)¡×½èÍý¤Ë¤Ê¤ê¤Þ¤¹¡£

¡ã¥á¥½¥Ã¥É¤Îµ­Ë¡¡ä
  À©¸æ¤·¤¿¤¤»ØÄêÃÍ = Mathf.Clamp(À©¸æ¤·¤¿¤¤»ØÄêÃÍ, ºÇ¾®ÃÍ, ºÇÂçÃÍ);
¡¡
¡¡¤³¤Î¥á¥½¥Ã¥É¤òÍøÍѤ·¤Æ¡¢·×»»½èÍý¸å¤Î hp ÊÑ¿ô¤ÎÃͤòÀ©¸Â¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
¾åµ­¤Î¥á¥½¥Ã¥É¤Î½ñ¼°¤Ë¡¢À©¸æ¤·¤¿¤¤ÃͤòÅö¤Æ¤Ï¤á¤Æ½èÍý¤òÁȤßΩ¤Æ¤Æ¤ß¤Þ¤·¤ç¤¦¡£

  // Hp ¤ÎÃͤò¸º»»¤·¤¿·ë²ÌÃͤò¡¢ºÇÄãÃͤȺÇÂçÃͤÎÈÏ°ÏÆâ¤Ë¼ý¤Þ¤ë¤è¤¦¤Ë¤·¤Æ¹¹¿·
  hp = Mathf.Clamp(hp -= amount, 0, maxHp);

¡¡¤Ê¤ªMathf.Clamp¥á¥½¥Ã¥É¤Ë¤Ï¥ª¡¼¥Ð¡¼¥í¡¼¥É¤¬¤¢¤ê¡¢°ú¿ô¤Î·¿¤Ï¡¢float·¿¤Èint·¿¤Ç¤½¤ì¤¾¤ìÍøÍѤ¬½ÐÍè¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
hp ÊÑ¿ô¤Î·¿¤Ï int ·¿¤Ç¤¹¤Î¤Ç¡¢º£²ó¤Ï¼«Æ°Åª¤Ë int ·¿¤òÍøÍѤ·¤Æ¤¤¤Þ¤¹¡£


»²¹Í¥µ¥¤¥È
Unity ¸ø¼°¥¹¥¯¥ê¥×¥È¥ê¥Õ¥¡¥ì¥ó¥¹
Mathf.Clamp


£´¡¥¡ãTween.Kill ¥á¥½¥Ã¥É¡ä


¡¡DOTween ¤Ë´ØÏ¢¤¹¤ë½èÍý¤Ë¤Ê¤ê¤Þ¤¹¡£
Tween ·¿¤ÎÊÑ¿ô¤òÀë¸À¤¹¤ë¤³¤È¤Ç¡¢DOTween¤Î½èÍýÆâÍƤòÊÑ¿ô¤ËÂåÆþ¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£

¡¡DOTween¤Î½èÍý¤ÏÊÑ¿ô¤ËÂåÆþ¤»¤º¤È¤â¼Â¹Ô¤Ç¤­¤Þ¤¹¡£ËÜÍè¤Ï¤½¤ì¤À¤±¤ÇÌäÂê¤Ï¤Ê¤¤¤Î¤Ç¤¹¤¬¡¢
Tween ·¿¤ÎÊÑ¿ô¤Ë DOTween ¤Î½èÍý¤òÂåÆþ¤·¤Æ¤¤¤ë¤³¤È¤Ç¡¢DOTween¤Î½èÍý¤ò°ì»þÄä»ß¤µ¤»¤¿¤ê¡¢ºÆ³«¤·¤¿¤ê¡¢¶¯À©Åª¤Ë½ªÎ»¤µ¤»¤ë¤³¤È¤¬½ÐÍè¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£

¡¡¤É¤Î¤è¤¦¤Ê¾ìÌ̤ǻÈÍѤ¹¤ë¤«¤È¤¤¤¦¤È¡¢Ìµ¸Â¥ë¡¼¥×¤Î½èÍý¤ò½ªÎ»¤µ¤»¤¿¤ê¡¢°ì»þÄä»ß¤·¤ÆºÆ³«¤·¤¿¤ê¤Ç¤­¤Þ¤¹¡£
¤Þ¤¿¡¢º£²ó¤Î¤è¤¦¤Ë·ÐÏ©°ÜÆ°¤Î½èÍý¤ÎÅÓÃæ¤ÇŨ¥­¥ã¥é¤¬Ç˲õ¤µ¤ì¤Æ¤·¤Þ¤Ã¤Æ¡¢DOPath ¥á¥½¥Ã¥É¤¬¤¹¤Ù¤Æ¼Â¹Ô¤Ç¤­¤Ê¤¯¤Ê¤Ã¤Æ¤·¤Þ¤¦¤è¤¦¤Ê¥±¡¼¥¹¤Ç¤¹¡£

¡¡ÊÑ¿ô¤ËDOTween¤Î½èÍý¤òÂåÆþ¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢Æ°¤¤¤Æ¤¤¤ë DOTween ¤Î½èÍý¤ò°ì»þÄä»ß¤·¤¿¤ê¡¢ºÆ³«¤·¤¿¤ê¡¢¶¯À©Åª¤Ë½ªÎ»¤µ¤»¤ë½èÍý¤¬¼Â¹Ô¤Ç¤­¤Þ¤»¤ó¡£

¡¡DOTween¤Î½èÍý¤òÃæÃǤ¹¤ë¤Ë¤Ï¡¢Kill¥á¥½¥Ã¥É¤ò¼Â¹Ô¤·¤Þ¤¹¡£¤³¤Î½èÍý¤ò¼Â¹Ô¤¹¤ë¤³¤È¤Ç¡¢º£²ó¤Ç¤¢¤ì¤Ð DOPath ¥á¥½¥Ã¥É¤Ë¤è¤ë·ÐÏ©°ÜÆ°½èÍý¤ò½ªÎ»¤µ¤»¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£

¡¡private Tween tween;  // Tween ·¿¤ÎÊÑ¿ô

  // Tween ·¿¤ÎÊÑ¿ô¤Ë¤Ï DOTween ¤Î½èÍý¤òÂåÆþ¤Ç¤­¤ë
¡¡¡¡¡¡¡¡¡¡¢­
  // ³ÆÃÏÅÀ¤Ë¸þ¤±¤Æ°ÜÆ°¡£º£¸å¤³¤Î½èÍý¤òÀ©¸æ¤¹¤ë¤¿¤á¡¢Tween ·¿¤ÎÊÑ¿ô¤Ë DOPath ¥á¥½¥Ã¥É¤Î½èÍý¤òÂåÆþ¤·¤Æ¤ª¤¯
  tween = transform.DOPath(paths, 1000 / moveSpeed).SetEase(Ease.Linear).OnWaypointChange(ChangeAnimeDirection);

¡¡// DOTween ¤Î½èÍý¤òÇË´þ(½ªÎ»)¤¹¤ë
  tween.Kill();


£µ¡¥Enemy ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ÎÀßÄê¤ò¹Ô¤¦


¡¡EnemyController ¥¹¥¯¥ê¥×¥È¤Î½¤Àµ¤ò¹Ô¤¤¤Þ¤·¤¿¤Î¤Ç¡¢Enemy ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤ò³Îǧ¤·¤ÆÀßÄê¤ò¹Ô¤¤¤Þ¤¹¡£

¡¡maxHp ÊÑ¿ô¤ËºÇÂçHP ¤ÎÃͤòÀßÄꤷ¤Æ¤¯¤À¤µ¤¤¡£¥Ç¥Ð¥Ã¥°ÍѤ˿ôÃͤòÂ礭¤¯¤·¤¿¤ê¡¢¾®¤µ¤¯¤·¤¿¤ê¤·¤Æ³Îǧ¤·¤Þ¤¹¤Î¤Ç¡¢
¤Þ¤º¤ÏºÇ½é¤Ï 1 ¤Ë¤·¤Æ¤ª¤¤¤Æ¡¢¹¶·â½èÍý¢ª¥À¥á¡¼¥¸·×»»½èÍý¢ªÇ˲õ½èÍý¤¬¼Â¹Ô¤µ¤ì¤ë¤«¤ò³Îǧ¤·¤Þ¤·¤ç¤¦¡£


¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü


¡¡
¡¡°Ê¾å¤ÇÀßÄê¤Ï´°Î»¤Ç¤¹¡£


£¶¡¥CharaController ¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤¹¤ë


¡¡EnemyController ¥¹¥¯¥ê¥×¥È¦¤Ë¥À¥á¡¼¥¸·×»»ÍѤΥ᥽¥Ã¥É¤ÈÇ˲õ½èÍý¤Î¥á¥½¥Ã¥É¤¬¼ÂÁõ¤Ç¤­¤Þ¤·¤¿¤Î¤Ç¡¢
ºÇ¸å¤Ë¡¢¤³¤Î¤¦¤Á¤Î¥À¥á¡¼¥¸·×»»ÍѤΥ᥽¥Ã¥É¤Î¸Æ¤Ó½Ð¤·½èÍý¤ò¼ÂÁõ¤·¤Þ¤¹¡£Ç˲õ½èÍý¤Ï¥À¥á¡¼¥¸·×»»ÍѤΥ᥽¥Ã¥ÉÆâ¤Ç¸Æ¤Ó½Ð¤·¤¬¤¢¤ë¤Î¤Ç¡¢¤³¤Á¤é¤«¤é¤Î¸Æ¤Ó½Ð¤·¤ÏÉÔÍפǤ¹¡£

¡¡TODO ¤Çµ­½Ò¤µ¤ì¤Æ¤¤¤ëÉôʬ¤Ë¤Ê¤ê¤Þ¤¹¤Î¤Ç¡¢¤Þ¤º¤Ï¼«Ê¬¤Ç¼ÂÁõ¤ËÄ©À路¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£


CharaController.cs


¡¡¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¤¿¤é¥»¡¼¥Ö¤ò¹Ô¤¤¤Þ¤¹¡£


£·¡¥¥²¡¼¥à¤ò¼Â¹Ô¤·¤ÆÆ°ºî¤ò³Îǧ¤¹¤ë


¡¡½èÍý¤Îή¤ì¤òÇÄ°®¤·¤¿¾å¤Ç¥²¡¼¥à¤ò¼Â¹Ô¤·¤ÆÆ°ºî¤ò³Îǧ¤·¤Æ¤¤¤­¤Þ¤¹¡£

¡¡Å¨¤Î mapHp ¤ÎÃͤäËɱҥ­¥ã¥é¤Î attackPower ¤ÎÃͤä intervalAttackTime ¤ÎÃͤòÄ´À°¤·¤Æ
¤É¤Î¤è¤¦¤Ë½èÍý¤¬ÊѤï¤ë¤Î¤«¡¢¤·¤Ã¤«¤ê¤ÈÆâÍƤòÍý²ò¤·¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡£


¡ã¼ÂÁõÆ°²è­¡¡¡¹¶·âÈÏ°ÏÆâ¤ËŨ¥­¥ã¥é¤¬¿¯Æþ¤·¤¿¤é°ìÄê»þ´Ö¤´¤È¤Ë¹¶·â¤·¤Æ¥À¥á¡¼¥¸¤òÍ¿¤¨¤ë¡ä
Æ°²è¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯


¡ã¼ÂÁõÆ°²è­¢¡¡Å¨¥­¥ã¥é¤¬¹¶·âÈϰϳ°¤Ë¤Ê¤Ã¤¿¤é¹¶·â¤òÄä»ß¤¹¤ë¡ä
Æ°²è¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯


£¸¡¥Enemy ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤È PathTranSet ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò¥Ò¥¨¥é¥ë¥­¡¼¤«¤éºï½ü¤¹¤ë


¡¡¥Ç¥Ð¥Ã¥°ÍѤÎÌò³ä¤¬½ªÎ»¤·¤Þ¤·¤¿¤Î¤Ç¡¢¤³¤ì¤é¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò¥Ò¥¨¥é¥ë¥­¡¼¤è¤êºï½ü¤·¤Æ¤¯¤À¤µ¤¤¡£
¼¡¤Î¼ê½ç¤Ç¤Ï¡¢Enemy ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¥×¥ì¥Õ¥¡¥Ö¤òÍøÍѤ·¤Æ¤¤¤­¤Þ¤¹¡£



¡¡°Ê¾å¤Ç¤³¤Î¼ê½ç¤Ï½ªÎ»¤Ç¤¹¤¬¡¢Â³¤±¤Æ¡¢¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥É¤È while ʸ¤ÎÁȤ߹礻¤¿½èÍý¤Ë¤Ä¤¤¤Æ²òÀ⤷¤Þ¤¹¡£


¡ã¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥É¤È while ʸ¤òÁȤ߹礻¤¿½èÍý¤Î¾ÜºÙÀâÌÀ¡ä


¡¡º£²óÍøÍѤ·¤Æ¤¤¤ë¡¢¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥É¤È while ʸ¤òÁȤ߹ç¤ï¤»¤¿½èÍý¤Ë¤Ä¤¤¤Æ¾Ü¤·¤¯²òÀ⤷¤Þ¤¹¡£

        while (isAttack)
        {
            timer++;

            if (timer > intervalAttackTime)
            {
                timer = 0;
                Attack();

            }

            //1¥Õ¥ì¡¼¥à½èÍý¤òÃæÃǤ¹¤ë(¤³¤ì¤ò½ñ¤­Ëº¤ì¤ë¤È̵¸Â¥ë¡¼¥×¤Ë¤Ê¤ê¡¢Unity¥¨¥Ç¥£¥¿¡¼¤¬Æ°¤«¤Ê¤¯¤Ê¤Ã¤ÆºÆµ¯Æ°¤¹¤ë¤³¤È¤Ë¤Ê¤ë¡£Ãí°Õ¡ª)
            yield return null;
        }



¡¡ºÇ½é¤Ï¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥É¤Îµ¡Ç½¤«¤éºÆ³Îǧ¤ò¤·¤Æ¤¤¤¯¤ÈÎɤ¤¤Ç¤·¤ç¤¦¡£

¡¡¥³¥ë¡¼¥Á¥ó¤Ç¤¹¤¬¡¢¤³¤ì¤ÏÄ̾ï¤Î¥á¥½¥Ã¥É¤È¤Ï°Û¤Ê¤ê¡¢ÅÓÃæ¤Ç°ì»þÄä»ß¤·¡¢¸å¤ÇºÆ³«¤Ç¤­¤ë¥á¥½¥Ã¥É¤Ç¤¹¡£
¤³¤Î°ì»þÄä»ß¤ÈºÆ³«¤Îµ¡Ç½¤ò³èÍѤ¹¤ë¤³¤È¤Ç¡¢»þ´Ö¤¬¤«¤«¤ë½èÍý¤òʬ³ä¤·¤Æ¼Â¹Ô¤·¤¿¤ê¡¢ÆÃÄê¤Î¥¿¥¤¥ß¥ó¥°¤òÁÀ¤Ã¤Æ½èÍý¤ò¼Â¹Ô¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£

¡¡¤³¤ì¤ò¼Â¸½¤·¤Æ¤¤¤ë¤Î¤¬¡¢yield ¥­¡¼¥ï¡¼¥É¤Ç¤¹¡£¤³¤ì¤Ï¡¢¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥ÉÆâÉô¤Ç¤Î¤ßÍøÍѤǤ­¤ë¥­¡¼¥ï¡¼¥É¤Ç¤¹¡£
¤³¤Î¥­¡¼¥ï¡¼¥É¤ò½ñ¤¯¤³¤È¤Ç¡¢½èÍý¤¬°ì»þÃæÃǤ·¤Þ¤¹¡£µÕ¤Ë¤¤¤¦¤È¡¢¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥É°Ê³°¤Ç¤Ï¤³¤Î¥­¡¼¥ï¡¼¥É¤Ï½ñ¤¯¤³¤È¤¬½ÐÍè¤Þ¤»¤ó¡£



¡¡yield return null; ¤ÎÉôʬ¤Ï¡¢¥³¥ë¡¼¥Á¥ó¤Î°ì»þÄä»ß¤ÈºÆ³«¤òÀ©¸æ¤¹¤ë¤¿¤á¤Î¥­¡¼¥³¡¼¥É¤Ç¤¹¡£

¡¡yield ¤Î½ñ¤¤¤Æ¤¢¤ë¹Ô¤¬¼Â¹Ô¤µ¤ì¤ë¤È¡¢¥³¥ë¡¼¥Á¥ó¤Ï°ì»þÄä»ß¤µ¤ì¡¢»ØÄꤵ¤ì¤¿»þ´Ö¤ä»ØÄꤵ¤ì¤¿¾õÂ֤ˤʤë¤Þ¤ÇÂÔµ¡¤·¤Þ¤¹¡£

¡¡yield return null ¤Î¾ì¹ç¤ÎÂÔµ¡»þ´Ö¤Ï1¥Õ¥ì¡¼¥à¤Ç¤¹¡£¤³¤ì¤Ï¥ë¡¼¥ë¤È¤·¤Æ¡¢¤½¤Î¤è¤¦¤Ë·è¤Þ¤Ã¤Æ¤¤¤Þ¤¹¡£

¡¡¤½¤Î¤¿¤á¡¢¤³¤Î½èÍý¤ò½ñ¤¯¤È¡¢1¥Õ¥ì¡¼¥à¤Î´Ö¤À¤±½èÍý¤ò°ì»þÄä»ß¤·¡¢¼¡¤Î¥Õ¥ì¡¼¥à¤¬»Ï¤Þ¤ë¤È¡¢°ì»þÄä»ß¤·¤¿²Õ½ê¤«¤é½èÍý¤¬ºÆ³«¤µ¤ì¤Þ¤¹¡£

¡¡¤Þ¤¿¡¢¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥ÉÆâ¤Ç¤Ï¡¢É¬¤º1²ó¤Ï yield ¤òÍøÍѤ·¤¿½èÍý¤ò½ñ¤«¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£¤³¤ì¤Ï¶¯À©¤Ç¤¹¡£
¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥ÉÆâ¤Ë1²ó¤â yield ¤Ç»Ï¤Þ¤ë½èÍý¤¬¤Ê¤¤¤È¡¢¡Öyield »È¤ï¤Ê¤¤¤Ê¤é¡¢¤½¤â¤½¤â¥³¥ë¡¼¥Á¥ó¤¸¤ã¤Ê¤¯¤Æ¤è¤¯¤Ê¤¤¡©¡×¤È¤¤¤¦¤³¤È¤Ç¡¢¥¨¥é¡¼¤¬½Ð¤Þ¤¹¡£

¡¡¤³¤Î¤è¤¦¤Êµ¡Ç½¤ò»ý¤Ã¤Æ¤¤¤ë¤Î¤¬¡¢¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥É¤Ç¤¹¡£
¤½¤·¤Æ yield return null ¤È¤¤¤¦½èÍý¼«ÂΤϡ¢¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥ÉÆâ¤ÇÉáÃʤ«¤é¤è¤¯ÍøÍѤµ¤ì¤ë½èÍý¤Î£±¤Ä¤Ç¤¹¡£

¡¡while ʸ¤Ï while ʸ¡¢¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥É¤Ï¥ë¡¼¥Á¥ó¥á¥½¥Ã¥É¡¢¤½¤ì¤¾¤ì¤Îµ¡Ç½¼«ÂΤò¤·¤Ã¤«¤ê¤ÈÍý²ò¤·¤Æ¤ª¤¯¤³¤È¤¬ÂçÀڤǤ¹¡£



¡¡¼¡¤Ë¡¢while ʸ¤Î½èÍý¤ò¸«Ä¾¤·¤Æ¤ß¤Þ¤·¤ç¤¦¡£

¡¡while ʸ¤Ï¡¢¾ò·ï¤¬À®Î©¤·¤Æ¤¤¤ë´Ö¤º¤Ã¤È¥ë¡¼¥×¤ò·«¤êÊÖ¤¹½èÍý¤Ç¤¹¡£

¡¡¡¡while (¾ò·ï)
    {
        // ²¿¤é¤«¤Î½èÍý¤ò¹Ô¤¦
    }

¡¡¾åµ­¤Î¤è¤¦¤Ê while ¤¬¤¢¤Ã¤¿¾ì¹ç¡¢¾ò·ï¤òËþ¤¿¤¹¸Â¤ê¡¢½èÍý¤ò·«¤êÊÖ¤·¤Þ¤¹¡£
·«¤êÊÖ¤¹¡¢¤È¤¤¤¦¤Î¤Ï¡¢{ } ¥Ö¥í¥Ã¥¯Æâ¤ÎÉôʬ¤òºÇ½é¤«¤éºÇ¸å¤Þ¤Ç1²ó¤º¤Ä¹Ô¤¦¡¢¤È¤¤¤¦°ÕÌ£¤Ç¤¹¡£
¡¡
¡¡while ʸ¤ÎµóÆ°¤â¡¢for ʸ¤ÈƱ¤¸¤è¤¦¤Ë¡¢Æ°¤­¤ËÈÖ¹æ¤ò¿¶¤ë¤³¤È¤Ç¡¢²Ä»ë²½¤·¤ä¤¹¤¯¤Ê¤ê¤Þ¤¹¡£

  while (¡¡­¡¡¡¾ò·ï)¡¡//¡¡¢«¡¡Ëþ¤¿¤·¤Æ¤¤¤ë¤«³Îǧ
  {

¡¡¡¡¡¡­¢¡¡¡Ú­¡¤Î¾ò·ï¤òËþ¤¿¤·¤Æ¤¤¤¿¤é¡Û¤³¤³¤ËÍè¤ë

¡¡        // ²¿¤é¤«¤Î½èÍý¤ò¹Ô¤¦

¡¡¡¡¡¡­£¡¡{¡¡¥Ö¥í¥Ã¥¯¤ÎÃæ¤Î½èÍý¤¬½ªÎ»¤·¤¿¤é¡¢} ¥Ö¥í¥Ã¥¯¤Î³°¤Ë¤Ï½Ð¤º¤Ë¡¢­¡¤Î³Îǧ¤ËÌá¤ë

  }

¡¡­¤¡¡¡Ú­¡¤Î¾ò·ï¤òËþ¤¿¤µ¤Ê¤¯¤Ê¤Ã¤Æ¤«¤é¡Û¤³¤³¤ËÍè¤ë


¡¡¤³¤Î¤è¤¦¤Ê»ÅÁȤߤÇÆ°¤¤¤Æ¤¤¤Þ¤¹¡£­£¤¬½ÅÍפǡ¢¤³¤ì¤Ë¤è¤ê¡¢while ʸ¤Ï­¡¤ÎÉôʬ¤Ë¼«Æ°Åª¤ËÌá¤ê¤Þ¤¹¡£

¡¡¤Þ¤¿ while ʸ¤Ï¾ò·ï¤òËþ¤¿¤¹¸Â¤ê¤Ï¡¢while {¡¡} ¥Ö¥í¥Ã¥¯¤è¤ê¡¢²¼¤Î¹Ô¤Ë¼¡¤Ë½ñ¤¤¤Æ¤¢¤ë½èÍý¤ÏÆ°¤­¤Þ¤»¤ó¡£

¡¡¡¡while (¾ò·ï)
    {
        // ²¿¤é¤«¤Î½èÍý¤ò¹Ô¤¦
    }
¡¡
¡¡¡¡Debug.Log("while ½ªÎ»")¡¡¡¡(¾åµ­­¤¤Ë¤¢¤¿¤ëÉôʬ)

¡¡¤³¤Î¤è¤¦¤Ë while ʸ¤Î²¼¤Ë Debug.Log ¥á¥½¥Ã¥É¤ò½ñ¤¤¤Æ¤ª¤¯¤È¡¢¤É¤Î¥¿¥¤¥ß¥ó¥°¤Ç while ʸ¤¬½ªÎ»¤·¤¿¤Î¤«³Îǧ¤Ç¤­¤Þ¤¹¡£
¤Ê¤¼¤Ê¤é¡¢Debug.Log("while ½ªÎ»") ¤Î½èÍý¤Ï¡¢while ʸ¤¬½ªÎ»¤¹¤ë¤Þ¤ÇÆ°¤¯¤³¤È¤¬¤Ê¤¤¤¿¤á¡¢¤³¤Î¥í¥°¤¬½Ð¤ë = while ʸ¤¬½ª¤ï¤Ã¤¿¤ÈȽÃǤǤ­¤ë¤¿¤á¤Ç¤¹¡£

¡¡¤³¤Î¤è¤¦¤Ë¡¢¾ðÊó¤òÀ°Íý¤·¡¢Å¬ÀÚ¤ÊÁ°Äó¤È²¾Àâ¤òΩ¤Æ¡¢ÏÀÍýŪ¤Ê¿äÏÀ¤ò¹Ô¤¤¡¢·ëÏÀ¤òƳ¤¯¥×¥í¥»¥¹¤ò
ÏÀÍýŪ»×¹Í¡¢¥í¥¸¥«¥ë¤Ê¹Í¤¨Êý(¥í¥¸¥«¥ë¥·¥ó¥­¥ó¥°)¤È¤¤¤¤¤Þ¤¹¡£

¡¡¥×¥í¥°¥é¥à¤Ï¤³¤Î¹Í¤¨Êý¤¬¤È¤Æ¤âÂçÀڤǤ¹¡£

¡¡¤Á¤ç¤Ã¤ÈÆñ¤·¤¤¤Î¤Ç¡¢¤³¤ì¤òÍ×Ìó¤·¤ÆÃÖ¤­´¹¤¨¤ë¤È¡¢¡Ö¡Á¤À¤«¤é¡¢¡Á¤Ë¤Ê¤ë¡×¤È¤¤¤¦¤³¤È¤Ï¡¢¡Ö¤³¤¦¤Ê¤ë¤Ê¤é¡¢¤³¤Ã¤Á¤Ï¤³¤¦¤À¤Ê¡×¤È¤¤¤¦É÷¤Ë¤â¹Í¤¨¤é¤ì¤ë¤Ê¡¢
¤È¤¤¤¦´¶¤¸¤Ç¡¢£±¤Ä¤º¤ÄÌäÂê¤òʬÀÏ¡¦¿äÏÀ¤·¡¢¤½¤³¤«¤é·ëÏÀ¤ò¹Í¤¨¤Æ¤¤¤¯¤è¤¦¤Ë¤·¤Þ¤¹¡£

¡¡¤³¤Î¤è¤¦¤Ê¹Í¤¨¤ò»ý¤Á¤Ê¤¬¤é¡¢½èÍý¤ò¹Í¤¨¤Æ¤¤¤¯¤è¤¦¤Ë¤¹¤ë¤È¡¢·ëÏÀ(½èÍý¤Î·ë²Ì¡¦Î®¤ì)¤Þ¤Ç¤¬¤ß¤¨¤ä¤¹¤¯¤Ê¤ê¡¢Íý²ò¤â¿¼¤Þ¤ê¤Þ¤¹¡£

¡¡Î㤨¤Ð¡¢¤³¤Î while ʸ¤È Debug ¤Ç¤¢¤ì¤Ð

¡Ö while ʸ¤Î²¼¤Ë Debug ¤ò½ñ¤¤¤Æ¤ª¤±¤Ð¤¤¤¤¤Ê¡£
¡¡²¿¸Î¤Ê¤é¡¢¤³¤³¤Î Debug ¤Ï while ʸ¤Î {¡¡} ¤Î³°Â¦¤Ë¤¢¤ë¤Î¤Ç¡¢¤³¤Î Debug ¤¬¼Â¹Ô¤µ¤ì¤ë¤È¤¤¤¦¤³¤È¤Ï¡¢
¡¡ÀäÂÐ¤Ë while ʸ¤¬½ªÎ»¤·¤¿¤È¤­¤Ë¤·¤«¼Â¹Ô¤µ¤ì¤Ê¤¤¡£
¡¡¤Ä¤Þ¤ê¡¢Debug ¤Î¥í¥°¤¬½Ð¤ë¤È¤¤¤¦¤³¤È¤Ï¡¢while ʸ¤¬Àµ¾ï¤Ë½ªÎ»¤·¤¿¤³¤È¤Î¾ÚÌÀ¤Ë¤Ê¤ë¤·¡¢½ª¤ï¤Ã¤¿¥¿¥¤¥ß¥ó¥°¤â¤ï¤«¤ë¤³¤È¤Ë¤â¤Ê¤ë¡£¡×

¡¡ÏÀÍýŪ¤Ë½ç½øΩ¤Æ¤Æ¤¤¤¯¤È¡¢¤³¤Î¤è¤¦¤Ë¤·¤Æ¹Í¤¨¤Æ¤¤¤¯¤³¤È¤¬½ÐÍè¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£


¡ãyield return null; ¤Ï¡¢Ìµ¸Â¥ë¡¼¥×¤Ë¤Ê¤é¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤¿¤á¤À¤±¤Ëµ­½Ò¤·¤Æ¤¤¤ë¤Î¤Ç¤¹¤«¡©¡ä


¡¡¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥ÉÆâ¤Ç¤Î while ʸ¤ÎµóÆ°¤Ç¤¹¤¬¡¢while ʸ¤Ï¾ò·ï¤¬À®Î©¤·¤Æ¤¤¤ë´Ö¡¢¤º¤Ã¤È¥ë¡¼¥×¤ò³¤±¤Þ¤¹¡£
¤¿¤À¤· while ʸ¤ò¥³¥ë¡¼¥Á¥óÆâ¤Ç¼Â¹Ô¤¹¤ë¤È¡¢¥³¥ë¡¼¥Á¥ó¤¬°ì»þÄä»ß¤¹¤ë¤³¤È¤¬¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£
¤³¤Î¤¿¤á¡¢¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥ÉÆâ¤Î½èÍý¤¬Àµ¾ï¤Ë½èÍý¤µ¤ì¤Ê¤¯¤Ê¤ê¡¢while ʸ¤Î¥ë¡¼¥×¤¬½ªÎ»¤¹¤ë¤Þ¤Ç¥²¡¼¥à¤Î½èÍý¤¬»ß¤Þ¤Ã¤Æ¤·¤Þ¤¤¡¢
while ʸ¤Î¥ë¡¼¥×½èÍý¤Ï̵¸Â¥ë¡¼¥×¾õÂ֤ˤʤë¤È¤¤¤¦»ÅÁȤߤǤ¹¡£

¡¡½èÍý¤ÎÆ°¤­¤Ï¤³¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£

¡¡£±¡¥while ʸ¤Î¾ò·ï¤¬À®Î©¤·¤Æ¤¤¤ë´Ö¡¢¥ë¡¼¥×¤ò³¤±¤Þ¤¹¡£(isAttack == true)
¡¡£²¡¥¥ë¡¼¥×Æâ¤Ç²¿¤é¤«¤Î½èÍý¤ò¹Ô¤¤¤Þ¤¹¡£
¡¡£³¡¥yield return null; ¤¬¼Â¹Ô¤µ¤ì¤ë¤È¡¢¥³¥ë¡¼¥Á¥ó¤¬°ì»þÄä»ß¤·¤Þ¤¹¡£
¡¡£´¡¥¼¡¤Î¥Õ¥ì¡¼¥à¤¬»Ï¤Þ¤ë¤È¡¢°ì»þÄä»ß¤·¤¿²Õ½ê¡Êyield return null;¡Ë¤«¤é½èÍý¤¬ºÆ³«¤µ¤ì¤Þ¤¹¡£
¡¡£µ¡¥while ʸ¤ÎºÇ¸å¤Þ¤ÇÍ褿¤Î¤Ç¡¢1 ¤ËÌá¤ê¡¢ºÆ¤Ó while ʸ¤Î¾ò·ï¤ò¥Á¥§¥Ã¥¯¤·¡¢À®Î©¤·¤Æ¤¤¤ì¤Ð³¤±¤Þ¤¹¡£

¡¡£³¤ÎÉôʬ¤¬¤Ê¤¤¤È¡¢£´¤È£µ¤Î½èÍý¤¬Æ°¤­¤Þ¤»¤ó¡£

¡¡¼Â¤Ï¥ë¡¼¥×¤Î½èÍý¤È¤¤¤¦¤Î¤Ï¡¢¥Õ¥ì¡¼¥à¤ò¤Þ¤¿¤®¤Þ¤»¤ó¡£1¥Õ¥ì¡¼¥àÆâ¤Ç¡¢¤¹¤Ù¤Æ¤Î·«¤êÊÖ¤·¤Î½èÍý¤ò¹Ô¤ª¤¦¤È¤·¤Þ¤¹¡£

¡¡¤½¤Î¤¿¤á¡¢while ʸ¤â¥Õ¥ì¡¼¥à¤ò¤Þ¤¿¤°¤¿¤á¤Î½èÍý(yield return null;)¤¬¤Ê¤¤¤È¡¢£±¥Õ¥ì¡¼¥àÆâ¤Ë¤º¤Ã¤ÈƱ¤¸½èÍý¤ò·«¤êÊÖ¤½¤¦¤È¤·¤Þ¤¹¡£
¤½¤ì¤³¤½¡¢²¿Àé¡¢²¿Ëü²ó¤È¡¢¤Ç¤¹¡£¤½¤·¤Æ½èÍýÉé²Ù¤¬¹â¤¯¤Ê¤ê¡¢¥×¥í¥°¥é¥à¤¬ÂѤ¨ÀÚ¤ì¤Ê¤¯¤Ê¤Ã¤Æ»ß¤Þ¤ê¤Þ¤¹¡£
¤³¤ì¤¬Ìµ¸Â¥ë¡¼¥×¤ÎÍýͳ¤Ç¤¹¡£

¡¡¤¿¤À¤·¡¢¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥ÉÆâ¤Ç¤Ï yield return null ¤Î¤è¤¦¤Ë¡¢½èÍý¤ò»ß¤á¤Æ¤«¤éºÆÅÙÆ°¤«¤¹µ¡Ç½¤¬¤¢¤ê¤Þ¤¹¡£
¤³¤ì¤Ë¤è¤ê¡¢while ʸ¤Î¥ë¡¼¥×½èÍý¼«ÂΤ⡢ʣ¿ô¤Î¥Õ¥ì¡¼¥à¤Ë¤Þ¤¿¤¬¤Ã¤Æ½èÍý¤ò¼Â¹Ô¤¹¤ë¤³¤È¤¬½ÐÍè¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¤Î¤Ç
1¥Õ¥ì¡¼¥àÆâ¤Ç̵Íý¤Ê¥ë¡¼¥×½èÍý¤ò·«¤êÊÖ¤¹¤³¤È¤¬¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£



¡¡°Ê¾å¤Î¤³¤È¤«¤é¡¢¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥ÉÆâ¤Ç while ʸ¤ò»È¤¦¾ì¹ç¤Ë¤Ï¡¢É¬¤º while { } Æâ¤Ë¡¢yield return null; ¤Ê¤É¤Î¡¢yiled ¤Î½èÍý¤ò´Þ¤á¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
¤³¤Î yield return null ¤Ë¤è¤ê¡¢¥ë¡¼¥×Æâ¤Î½èÍý¤¬¥Õ¥ì¡¼¥à¤´¤È¤Ë¼Â¹Ô¤µ¤ì¡¢¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥É¤Ç¤ÎÀµ¾ï¤Ê¥ë¡¼¥×½èÍý¤¬Æ°¤¯¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
¥¤¥á¡¼¥¸¤È¤·¤Æ¤Ï¡¢¥³¥ë¡¼¥Á¥óÆâ¤Ç¤Ï¡¢while ʸ¤Î¾ò·ï¥Á¥§¥Ã¥¯¤Î¤¿¤á¤Ë yield return null ¤ò¶´¤Þ¤Ê¤¤¤È¥ë¡¼¥×¤«¤éÌá¤Ã¤Æ¤³¤ì¤Ê¤¯¤Ê¤ë´¶¤¸¤Ç¤¹¡£

¡¡ºÇ½é¤Ë¤ªÅú¤¨¤·¤¿¤è¤¦¤Ë¡¢¡Ö̵¸Â¥ë¡¼¥×¤Ë¤Ê¤é¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤¿¤á¤À¤±¤Ëµ­½Ò¤·¤Æ¤¤¤ë¡×¤È¤¤¤¦¼ÁÌä¤ÏÀµ¤·¤¤¡¢¤È¤¤¤¦¤Î¤Ï¡¢¤³¤Î¤¿¤á¤Ç¤¹¡£
º£²ó¤Î¾ì¹ç¤â¡¢¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥ÉÆâ¤Ç while ʸ¤ò»È¤Ã¤Æ¤¤¤ë¤Î¤Ç while { } Æâ¤Ë¡¢yield return null; ¤È½ñ¤¤¤Æ¤¤¤Þ¤¹¡£

¡¡¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥ÉÆâ¤Î while ʸ¤Ï̵¸Â¥ë¡¼¥×¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¦¤Î¤Ç¡¢¤³¤Î¥ë¡¼¥ë¤ò¼é¤é¤Ê¤¤¤ÈÀµ¾ï¤ËÆ°¤«¤Ê¤¤¤è¡¢¤È¤¤¤¦¤³¤È¤Ç¤¹¤Í¡£

¡¡¤Ê¤ª¡¢yield ¥­¡¼¥ï¡¼¥É¤òÍøÍѤ·¡¢ÃæÃǤǤ­¤ë½èÍý¤Ç¤¢¤ì¤Ð yield return null; °Ê³°¤Ç¤âÀµ¾ï¤ËÆ°ºî¤·¤Þ¤¹¡£
Î㤨¤Ð¡¢yield return new WaitForSecounds(1.0f); ¤Èµ­½Ò¤¹¤ì¤Ð¡¢1ÉÃÂÔµ¡¸å¤Ë while ʸ¤Î½èÍý¤¬ºÆ³«¤µ¤ì¤Þ¤¹¤Î¤Ç¡¢Àµ¾ï¤ËÆ°ºî¤·¤Þ¤¹¡£


¡ãyield return null;¤Î¤¢¤È¡¢¤Ê¤¼whileʸ¤ÎºÇ½é¤Î½èÍý¤ËÈô¤Ö¤Î¤Ç¤¹¤«¡©¡ä


¡¡while ʸ¤Î¥ë¡¼¥×½èÍý¤òÆɤ߲ò¤¯¤³¤È¤ÇÍý²ò¤Ç¤­¤Æ¤­¤Þ¤¹¡£

yield return null ¤Î½èÍý¤Ë¸Â¤é¤º¡¢while ʸ¤Ï¡¢{¡¡}¡¡¥Ö¥í¥Ã¥¯¤ÎºÇ¸å¤Î¹Ô¤Þ¤Ç¤¤¤Ã¤¿¤é¡¢ºÇ½é¤Î¾ò·ï¤Î³Îǧ¤ËÌá¤ê¤Þ¤¹¡£
¡¡
¡¡º£²ó¤Î¾ì¹ç¤Ï¤¿¤Þ¤¿¤Þ yield return null;¤¬ºÇ¸å¤Ë¤Ê¤ë¤Î¤Ç¡¢¤½¤Î¥¿¥¤¥ß¥ó¥°¤Ç¾ò·ï¤Î³Îǧ¤ËÌá¤ê¤Þ¤·¤¿¤¬¡¢
¤³¤ì¤Ï yield return null; ¤¬¤¢¤ë¤«¤é¤Ç¤Ï¤Ê¤¯¤Æ¡¢while ʸ¤Î¥ë¡¼¥×½èÍý¼«ÂΤ¬¤½¤Î¤è¤¦¤Êµ¡Ç½¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤¿¤á¤Ç¤¹¡£

¡¡²¾¤Ë

while (isAttack)
{
¡¡¡¡// TODO ¥²¡¼¥à¥×¥ì¥¤Ãæ¤Î¤ß¹¶·â¤¹¤ë
    timer++;

    if (timer > intervalAttackTime)
    {
         timer = 0;
         Attack();
         // TODO ¹¶·â²ó¿ô´ØÏ¢¤Î½èÍý¤ò¤³¤³¤Ëµ­½Ò¤¹¤ë
    }

    //1¥Õ¥ì¡¼¥à½èÍý¤òÃæÃǤ¹¤ë(¤³¤ì¤ò½ñ¤­Ëº¤ì¤ë¤È̵¸Â¥ë¡¼¥×¤Ë¤Ê¤ê¡¢Unity¥¨¥Ç¥£¥¿¡¼¤¬Æ°¤«¤Ê¤¯¤Ê¤Ã¤ÆºÆµ¯Æ°¤¹¤ë¤³¤È¤Ë¤Ê¤ë¡£Ãí°Õ¡ª)
    yield return null;

    Debug.Log("while ºÇ¸å"); 
}
¡¡
¡¡¤³¤Î¤è¤¦¤Ê½èÍý¤À¤È¤·¤¿¤é¡¢Debug.Log("while ºÇ¸å"); ¼Â¹Ô¸å¡¢while ¤ÎºÇ½é¤ËÌá¤ê¡¢¾ò·ï¤Î¥Á¥§¥Ã¥¯¤ò¹Ô¤¤¤Þ¤¹¡£



¡¡Ê䭤Ȥ·¤Æ¡¢while ʸÆâ¤Ç yield return null ¤ò½ñ¤¯°ÌÃ֤ϡ¢¾ï¤Ë while ʸ¤¬¼Â¹Ô¤¹¤ë°ÌÃ֤˽ñ¤­¡¢
if ʸ¤Ê¤É¤Î¾ò·ïʬ´ôÆâ¤Ë¤Ï½ñ¤«¤Ê¤¤¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£

¡¡¾ò·ïʬ´ô¤È¤¤¤¦¤³¤È¤Ï¡¢¤½¤Î {¡¡}¡¡¤Ë¤ÏÆþ¤ë¤«Æþ¤é¤Ê¤¤¤«¤¬È¯À¸¤·¤Þ¤¹¡£
¤è¤Ã¤Æ¡¢Ê¬´ôÆâ¤Ë yield ¥­¡¼¥ï¡¼¥É¤Î½èÍý¤ò½ñ¤¤¤Æ¤·¤Þ¤¦¤È¡¢yield ¥­¡¼¥ï¡¼¥É¤¬½èÍý¤µ¤ì¤Ê¤¤¾õ¶·¤¬È¯À¸¤·¤Æ¤·¤Þ¤¦¤³¤È¤Ë¤Ê¤ê¡¢¤½¤Î¾ì¹ç¤â̵¸Â¥ë¡¼¥×¤ËÆþ¤ê¤Þ¤¹¡£

¡¡¤³¤ì¤Ï¥À¥á¤ÊÎã¤Ç¤¹¡£

while (isAttack)
{
    timer++;

    if (timer > intervalAttackTime)
    {
         timer = 0;
         Attack();
         // TODO ¹¶·â²ó¿ô´ØÏ¢¤Î½èÍý¤ò¤³¤³¤Ëµ­½Ò¤¹¤ë

        //1¥Õ¥ì¡¼¥à½èÍý¤òÃæÃǤ¹¤ë(¤³¤ì¤ò½ñ¤­Ëº¤ì¤ë¤È̵¸Â¥ë¡¼¥×¤Ë¤Ê¤ê¡¢Unity¥¨¥Ç¥£¥¿¡¼¤¬Æ°¤«¤Ê¤¯¤Ê¤Ã¤ÆºÆµ¯Æ°¤¹¤ë¤³¤È¤Ë¤Ê¤ë¡£Ãí°Õ¡ª)
        yield return null;
    }


¡¡¡¡// while ʸÆâ¤Çɬ¤º¼Â¹Ô¤µ¤ì¤ëÉôʬ¤Ë¡¢yield return null; ¤¬¤Ê¤¤


}

¡¡¤³¤Î¤è¤¦¤Ë if ʸ¤Ç¤·¤« yield return null; ¤¬¼Â¹Ô¤µ¤ì¤Ê¤¤¾õÂ֤ˤ·¤Æ¤·¤Þ¤¦¤È¡¢
while ʸÁ´ÂΤǸ«¤¿»þ¡¢while ʸ¤Î¾ï¤ËÆ°¤¯(ʬ´ô¤Ë¸Â¤é¤ºÉ¬¤º¼Â¹Ô¤µ¤ì¤ë)Éôʬ¤Ë yield return null; ¤¬¤Ê¤¤¤³¤È¤¬¤ï¤«¤ê¤Þ¤¹¡£
¤³¤ì¤À¤È̵¸Â¥ë¡¼¥×¤·¤Þ¤¹¡£



¡¡¤³¤ì¤«¤é¤ÏÊ£¿ô¤Î½èÍý¤¬¹ç¤ï¤µ¤Ã¤Æ½èÍý¤¬Æ°¤¤¤Æ¤¤¤ë¤³¤È¤¬Â¿¤¯¤Ê¤ê¤Þ¤¹¡£
¤¤¤º¤ì¤â³Ø½¬¤µ¤ì¤Æ¤­¤Æ¤¤¤ë´ðÁÃŪ¤Ê½èÍý¤Ç¤Ï¤¢¤ê¤Þ¤¹¤¬¡¢¤½¤ì¤¾¤ì¤Î½èÍý¤ÎÆâÍƤò¤·¤Ã¤«¤ê¤ÈÍý²ò¤·¤Æ¤ª¤¯¤³¤È¤Ç
¤³¤¦¤¤¤Ã¤¿Ê£¿ô¤Î½èÍý¤¬¹ç¤ï¤µ¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ç¤â¡¢Æ±¤¸¤è¤¦¤ËÆɤ߲ò¤¤¤Æ¤¤¤¯¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
¡¡
¡¡¥×¥í¥°¥é¥à¤Ï´ðÁÃŪ¤Ê½èÍý¤ÎÁȤ߹ç¤ï¤»¤Ç½ÐÍè¤Æ¤¤¤ë¤Î¤Ç¡¢´ðÁäò¤·¤Ã¤«¤ê¤È¿È¤Ë¤Ä¤±¤Æ¤¤¤¯¤³¤È¤Ç
°ì¸«¤¹¤ë¤ÈÊ£»¨¤Ë¸«¤¨¤ë½èÍý¤âÆɤ߲ò¤±¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£¤¢¤»¤é¤º¤Ë¤¤¤­¤Þ¤·¤ç¤¦¡£



¡¡°Ê¾å¤Ç¤³¤Î¼ê½ç¤Ï½ªÎ»¤Ç¤¹¡£

¡¡¼¡¤Ï¡¡¼ê½ç£±£³¡¡¡ÝŨ¥­¥ã¥é¤Î¼«Æ°À¸À®½èÍý¤Î¼ÂÁõ¡Ý¡¡¤Ç¤¹¡£

¥³¥á¥ó¥È¤ò¤«¤¯


¡Öhttp://¡×¤ò´Þ¤àÅê¹Æ¤Ï¶Ø»ß¤µ¤ì¤Æ¤¤¤Þ¤¹¡£

ÍøÍѵ¬Ìó¤ò¤´³Îǧ¤Î¤¦¤¨¤´µ­Æþ²¼¤µ¤¤

Menu



´ðÁÃ

µ»½Ñ/Ãμ±(¼ÂÁõÎã)

3D¥¢¥¯¥·¥ç¥ó¥²¡¼¥à

2D¤ª¤Ï¤¸¤­¥²¡¼¥à(ȯŸÊÔ)

2D¶¯À©²£¥¹¥¯¥í¡¼¥ë¥¢¥¯¥·¥ç¥ó(ȯŸÊÔ)

2D¥¿¥Ã¥×¥·¥å¡¼¥Æ¥£¥ó¥°(³ÈÄ¥ÊÔ)

¥ì¡¼¥¹¥²¡¼¥à(È´¿è)

2DÊüÃÖ¥²¡¼¥à(ȯŸÊÔ)

3D¥ì¡¼¥ë¥¬¥ó¥·¥å¡¼¥Æ¥£¥ó¥°(±þÍÑÊÔ)

3Dæ½Ð¥²¡¼¥à(È´¿è)

2D¥ê¥¢¥ë¥¿¥¤¥à¥¹¥È¥é¥Æ¥¸¡¼

3D¥¿¥Ã¥×¥¢¥¯¥·¥ç¥ó(NavMeshAgent »ÈÍÑ)

2D¥È¥Ã¥×¥Ó¥å¡¼¥¢¥¯¥·¥ç¥ó(¥«¥¨¥ë¤Î°Ù¤Ë¡Á¡¢¥Ü¥³¥¹¥«¥¦¥©¡¼¥ºÉ÷)

VideoPlayer ¥¤¥Ù¥ó¥ÈϢư¤Î¼ÂÁõÎã

VideoPlayer ¥ê¥¹¥ÈÆ⤫¤é¥à¡¼¥Ó¡¼ºÆÀ¸¤Î¼ÂÁõÎã(ȯŸ)

AR ²èÁüÉÕ¤­¥ª¥Ö¥¸¥§¥¯¥ÈÀ¸À®¤Î¼ÂÁõÎã

AR ¥ê¥¹¥ÈÆ⤫¤éÀ¸À®¤Î¼ÂÁõÎã(ȯŸ)

2D¥È¥Ã¥×¥Ó¥å¡¼¥¢¥¯¥·¥ç¥ó(¥µ¥Ð¥¤¥Ð¡¼É÷)

private



¤³¤Î¥µ¥¤¥ÈÆâ¤ÎºîÉʤϥæ¥Ë¥Æ¥£¤Á¤ã¤ó¥é¥¤¥»¥ó¥¹¾ò¹à¤Î¸µ¤ËÄ󶡤µ¤ì¤Æ¤¤¤Þ¤¹¡£

´ÉÍý¿Í/Éû´ÉÍý¿Í¤Î¤ßÊÔ½¸¤Ç¤­¤Þ¤¹