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 ¤Î¤Þ¤Þ¤ÇÌäÂꤢ¤ê¤Þ¤»¤ó¡£


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



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


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


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


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


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


£¶¡¥ÌäÂêÅÀ¤ò½¤Àµ¤¹¤ë¡¡¡¼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 ·¿¤ÇÍѰդµ¤ì¤Æ¤¤¤Þ¤¹¡£
¤³¤Î¤¦¤Á¡¢Clamp ¥á¥½¥Ã¥É¤Ï¡¢¡ÖÀ©¸æ¤·¤¿¤¤»ØÄêÃͤò¡¢»ØÄꤷ¤¿ÈÏ°ÏÆâ¤ÎºÇ¾®ÃÍ¡¢ºÇÂçÃͤ˼ý¤á¤Æ¤¯¤ì¤ë(ÃÖ¤­´¹¤¨¤Æ¤¯¤ì¤ë)¡×½èÍý¤Ë¤Ê¤ê¤Þ¤¹¡£

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

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

¡¡¤Ê¤ªMathf.Clamp¥á¥½¥Ã¥É¤Ë¤Ï¥ª¡¼¥Ð¡¼¥í¡¼¥É¤¬¤¢¤ê¡¢°ú¿ô¤Î·¿¤Ï¡¢float·¿¤Èint·¿¤Ç¤½¤ì¤¾¤ìÍøÍѤ¬½ÐÍè¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
hp ÊÑ¿ô¤Î·¿¤Ï int ·¿¤Ç¤¹¤Î¤Ç¡¢º£²ó¤Ï¼«Æ°Åª¤Ë int ·¿¤òÍøÍѤ·¤Æ¤¤¤Þ¤¹¡£
Unity¸ø¼°¥¹¥¯¥ê¥×¥È¥ê¥Õ¥¡¥ì¥ó¥¹
Mathf - Clamp
https://docs.unity3d.com/jp/540/ScriptReference/Ma...


£´¡¥¡ã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 ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¥×¥ì¥Õ¥¡¥Ö¤òÍøÍѤ·¤Æ¤¤¤­¤Þ¤¹¡£



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

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

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


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

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

Menu



¥×¥í¥°¥é¥à¤Î´ðÁóؽ¬

¥³¡¼¥ÉÎý½¬

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

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

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

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

3D¥À¥¤¥Ó¥ó¥°¥¢¥¯¥·¥ç¥ó(ȯŸÊÔ)

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

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

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

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

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

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

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

3D¥È¥Ã¥×¥Ó¥å¡¼¥¢¥¯¥·¥ç¥ó(ÇòÇ­É÷)

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

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

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

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

private



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

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