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

¡¡¥¨¥Í¥ß¡¼ÍѤΥץì¥Õ¥¡¥Ö¤È EnemyDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤òÍøÍѤ·¡¢¥¯¥í¡¼¥ó¤µ¤ì¤¿¥¨¥Í¥ß¡¼¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¨¥Í¥ß¡¼¤Î¥Ç¡¼¥¿¤òÀßÄꤷ¡¢
Ʊ¤¸¥×¥ì¥Õ¥¡¥Ö¤«¤é°Û¤Ê¤ë¥Ç¡¼¥¿¤ò»ý¤Ä¥¨¥Í¥ß¡¼¤ò¼«Æ°Åª¤ËÀ¸À®¤¹¤ë½èÍý¤ò¼ÂÁõ¤·¤Þ¤¹¡£

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

ȯŸ£²¡¡¡Ý¥¨¥Í¥ß¡¼ÍѤΥǡ¼¥¿¥Ù¡¼¥¹¤ÎÍøÍÑ¡Ý
¡¡£³¡¥EnemyController ¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¡¢EnemyDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Î¥Ç¡¼¥¿¤ò»²¾È¤·¤ÆÈ¿±Ç¤¹¤ë½èÍý¤òÄɲ乤ë
¡¡£´¡¥DataBaseManager ¥¹¥¯¥ê¥×¥È¤È EnemyGenerator ¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¡¢¥¨¥Í¥ß¡¼ÍѤΥץì¥Õ¥¡¥Ö¤Ë EnemyDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Î¥Ç¡¼¥¿¤ò»²¾È¤·¤Æ¡¢£±¤Ä¤Î¥×¥ì¥Õ¥¡¥Ö¤«¤é°Û¤Ê¤ë¥¨¥Í¥ß¡¼¤ò¼«Æ°À¸À®¤¹¤ë½èÍý¤òÄɲ乤ë


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

¡¡¡¦¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤òÍøÍѤ¹¤ëÊýË¡(Éü½¬)



£³¡¥EnemyController ¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¡¢EnemyDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Î¥Ç¡¼¥¿¤ò»²¾È¤·¤ÆÈ¿±Ç¤¹¤ë½èÍý¤òÄɲ乤ë

£±¡¥Àß·×


¡¡¤Þ¤º¤ÏºÇ½é¤Ë¼ÂÁõÆ°²è¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£

¡¡À¸À®¤µ¤ì¤ë¥¨¥Í¥ß¡¼¤¬¡¢¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤ËÅÐÏ¿¤·¤¿¥¨¥Í¥ß¡¼¤Î²èÁü¤ò»ý¤Ã¤¿¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤È¤·¤ÆÀ¸À®¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
¤³¤ì¤ÏÊ£¿ô¤Î¥¨¥Í¥ß¡¼ÍѤΥץì¥Õ¥¡¥Ö¤òÍÑ°Õ¤·¤Æ¤¤¤ë¤Î¤Ç¤Ê¤¯¡¢º£¤Þ¤Ç¤ÈƱ¤¸¥¨¥Í¥ß¡¼ÍѤΥץì¥Õ¥¡¥Ö¤òÍøÍѤ·¤Æ¤¤¤Þ¤¹¤¬¡¢
¥¨¥Í¥ß¡¼ÍѤΥץì¥Õ¥¡¥Ö¤Ë¥¨¥Í¥ß¡¼¤Î¾ðÊó(EnemyData)¤òÀßÄꤹ¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢£±¤Ä¤Î¥¨¥Í¥ß¡¼ÍѤΥץì¥Õ¥¡¥Ö¤«¤é°Û¤Ê¤ë¥¨¥Í¥ß¡¼¤òºîÀ®¤·¤Æ¤¤¤Þ¤¹¡£
¥Ü¥¹¤âƱÍͤǤ¹¡£

¡¡¤³¤Î¼ê½ç¤Ç¤Ï¡¢¥¨¥Í¥ß¡¼¤Î¼«Æ°À¸À®¤Ë¿·¤·¤¤½èÍý¤òÄɲ䷤ơ¢¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤òÍøÍѤ·¤Æ£±¤Ä¤Î¥×¥ì¥Õ¥¡¥Ö¤«¤é°Û¤Ê¤ë¥¨¥Í¥ß¡¼¤òºî¤ê½Ð¤¹ÊýË¡¤ò³Ø½¬¤·¤Æ¤¤¤­¤Þ¤¹¡£



¡¡EnemyDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¨¥Í¥ß¡¼¤Î¥Ç¡¼¥¿¤òÅÐÏ¿¤·¤Þ¤·¤¿¡£
¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Ï¡¢¥¹¥¯¥ê¥×¥ÈÆâ¤ËƱ̾¤Î·¿Ì¾¤ÇÊÑ¿ô¤òºîÀ®¤¹¤ë¤³¤È¤ÇÍøÍѤ¹¤ë¤³¤È¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£

¡ã¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤òÍøÍѤǤ­¤ë¾õÂ֤ˤ¹¤ë¡ä
  public EnemyDataSO enemyDataSO;

¡¡¾åµ­¤Î¤è¤¦¤ËÊÑ¿ô¤È¤·¤ÆÀë¸À¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢ÊÑ¿ô¤òÍøÍѤ·¤Æ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Î¾ðÊó¤ò¥²¡¼¥àÆâ¤ËÍøÍѤ¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£

¡¡Àë¸À¤ÎÊýË¡¤Ï¾¤ÎÊÑ¿ô¤ÈÊѤï¤ê¤Þ¤»¤ó¡£¤Þ¤¿¡¢public ½¤¾þ»Ò¤Ë¤·¤ÆÀë¸À¤·¤Æ¤ª¤¯¤³¤È¤Ë¤è¤ê¡¢
¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤è¤êÅÐÏ¿¤¬½ÐÍè¤ë¾¡¢³°Éô¤Î¥¹¥¯¥ê¥×¥È¤«¤é¤â»²¾È¤·¤ÆÍøÍѤ¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£¤³¤ì¤â¾¤ÎÊÑ¿ô¤ÈƱ¤¸¤Ç¤¹¡£



¡¡¸½ºß¡¢¥¨¥Í¥ß¡¼¤Î¥Ç¡¼¥¿¤È¤·¤Æ¥²¡¼¥àÆâ¤ÇÍøÍѤµ¤ì¤Æ¤¤¤ë¾ðÊó¤Ï¡¢EnemyController ¥¹¥¯¥ê¥×¥È¤Ë¤¢¤ë¡¢°Ê²¼¤Î£²¤Ä¤Î¾ðÊó¤Ç¤¹¡£

    [SerializeField, Header("°Üư®ÅÙ")]
    private float moveSpeed;

    [SerializeField, Header("ºÇÂçHP")]
    private int maxHp;

  ¡¡[Header("¥¨¥Í¥ß¡¼¤ÎHP")]¡¡¡¡¡¡¡¡¡¡¡¡¡¡
 ¡¡ public int hp;¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡

 ¡¡ [Header("¥¨¥Í¥ß¡¼¤Î¹¶·âÎÏ")]¡¡¡¡¡¡¡¡¡¡¡¡
 ¡¡ public int attackPower;¡¡

¡¡¤¤¤Þ¤Þ¤Ç¤Ï¤³¤Á¤é¤ÎÊÑ¿ô¤ËÂФ·¤Æ¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤è¤êÀßÄê¤ò¹Ô¤Ã¤Æ¿ôÃͤò·è¤á¤Æ¤¤¤Þ¤·¤¿¡£
º£²ó¤ÎÀ߷פǤϥ¨¥Í¥ß¡¼ÍѤΥץì¥Õ¥¡¥Ö¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ï£±¤Ä¤·¤«¤¢¤ê¤Þ¤»¤ó¡£
¤è¤Ã¤Æ¥¨¥Í¥ß¡¼¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò¥×¥ì¥Õ¥¡¥Ö¤Î¥¯¥í¡¼¥ó¤È¤·¤ÆÀ¸À®¤¹¤ë¤È¡¢¾ï¤ËƱ¤¸ hp ¤È¹¶·âÎϤò»ý¤Ã¤Æ¤¤¤ë¥¨¥Í¥ß¡¼¤¬À¸À®¤µ¤ì¤Æ¤¤¤Þ¤·¤¿¡£
¡¡


¡¡¤³¤ÎÀßÄê¤ÎÉôʬ¤Ë¡¢º£²óºîÀ®¤·¤¿ EnemyDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¨¥Í¥ß¡¼¤Î¥Ç¡¼¥¿¤òÍøÍѤ¹¤ë¤è¤¦¤Ë½èÍý¤ÎÊѹ¹¤ò¹Ô¤¤¤Þ¤¹¡£
À¸À®¤µ¤ì¤ë¥¯¥í¡¼¥ó¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ÏƱ¤¸¤Ç¤¹¤¬¡¢¤½¤ÎÆâÍÆ¡¦¾ðÊó¤ËÂФ·¤Æ¡¢¥¨¥Í¥ß¡¼¤Î¥Ç¡¼¥¿¤òÈ¿±Ç¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢À¸À®¤µ¤ì¤¿¥¨¥Í¥ß¡¼¤Î¿¶¤ëÉñ¤¤¤òÊѹ¹¤·¤Þ¤¹¡£

¡¡¤³¤Î½èÍý¤ò¼«Æ°²½¤·¤Æ¡¢À¸À®¤µ¤ì¤¿¤È¤­¤Ë¥¨¥Í¥ß¡¼¤Î¥Ç¡¼¥¿¤Î¾ðÊó¤Ë¹ç¤ï¤»¤Æ¡¢¥¨¥Í¥ß¡¼¤È¤·¤Æ¤Î¿¶¤ëÉñ¤¤¤â¼«Æ°Åª¤ËÊѤï¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£

¡¡¤³¤Î¤è¤¦¤ÊÀ߷פˤ¹¤ë¤È¡¢£±¤Ä¤Î¥×¥ì¥Õ¥¡¥Ö¤«¤é¡¢¥¨¥Í¥ß¡¼¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¥¨¥Í¥ß¡¼¤òºî¤ê½Ð¤¹¤³¤È¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£


£²¡¥EnemyController ¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¡¢EnemyDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Î¥Ç¡¼¥¿¤ò»²¾È¤·¤ÆÈ¿±Ç¤¹¤ë½èÍý¤òÄɲ乤ë


¡¡À߷פ˴ð¤Å¤¤¤Æ¡¢¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤ÇÀßÄꤷ¤Æ¤¤¤¿¾ðÊó¤ò EnemyDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Î EnemyData ¥¯¥é¥¹¤Î¾ðÊó¤ò»²¾È¤¹¤ë¤è¤¦¤ËÊѹ¹¤·¤Þ¤¹¡£

¡¡¤Þ¤º¤Ï EnemyData ¥¯¥é¥¹¤Î¾ðÊó¤ò°·¤¨¤ë¤è¤¦¤Ë¡¢EnemyData ·¿¤ÎÊÑ¿ô¤òÍÑ°Õ¤·¤Þ¤¹¡£¤³¤ÎÊÑ¿ô¤Ë¡¢¥¨¥Í¥ß¡¼¤È¤·¤ÆɬÍפʤ¹¤Ù¤Æ¤Î¥Ç¡¼¥¿¤¬Æþ¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
hp¡¢¹¶·âÎÏ¡¢¤½¤·¤Æ¥¨¥Í¥ß¡¼¤Î²èÁü¤Î¾ðÊó¤Ê¤É¤¬Æþ¤Ã¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢¤³¤Î¥Ç¡¼¥¿¤òÍøÍѤ¹¤ë¤³¤È¤Ç¡Ö¤É¤Î¤è¤¦¤Ê¥¨¥Í¥ß¡¼¤È¤·¤Æ¿¶¤ëÉñ¤¦¤«¡×·è¤Þ¤ê¤Þ¤¹¡£
¤³¤ÎÊÑ¿ô¤òÍøÍѤ¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢EnemyData ¥¯¥é¥¹¤Î¾ðÊó¤ò»²¾È¤·¤ÆÍøÍѽÐÍè¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£

¡¡¤³¤Î EnemyData ¥¯¥é¥¹¤Î¾ðÊó¤Ï¡¢³°Éô¤Î¥¹¥¯¥ê¥×¥È¤«¤é°ú¿ô¤Ç¼õ¤±¼è¤ë¤è¤¦¤ËÀ߷פ·¤Þ¤¹¡£
¤¤¤Þ¤Þ¤Ç SetUpEnemyController ¥á¥½¥Ã¥É¤òÍøÍѤ·¤Æ³°Éô¤Î¾ðÊó¤ò¼õ¤±¼è¤Ã¤Æ¤¤¤¿¤Þ¤·¤¿¤¬¡¢
¤µ¤é¤Ë EnemyData ·¿¤òÀë¸À¤òÄɲ䷤ơ¢¤³¤³¤Ç¥¨¥Í¥ß¡¼¤Î¥Ç¡¼¥¿¤ò¼õ¤±¼è¤ì¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£

¡¡¤³¤³¤ÇÂçÀڤʥݥ¤¥ó¥È¤¬¤¢¤ê¤Þ¤¹¡£
¡¡EnemyData ¥¯¥é¥¹¤Î¾ðÊó¤ò·èÄꤹ¤ë¤Î¤Ï¡¢EnemyController ¥¹¥¯¥ê¥×¥È¦¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
EnemyController ¥¹¥¯¥ê¥×¥È¤Ç¤Ï¡¢°ú¿ô¤È¤·¤ÆÆϤ¤¤¿ EnemyData ¥¯¥é¥¹¤Î¾ðÊó¤òÍøÍѤ·¤Æ¡¢ÀßÄê¤ò¹Ô¤¦¤³¤È¤Ç¡¢¥¨¥Í¥ß¡¼¤Î¥Ç¡¼¥¿¤òÈ¿±Ç¤·¤Æ¥¨¥Í¥ß¡¼¤ËÌò³ä¤òÍ¿¤¨¤ë¤³¤È¤¬»Å»ö¤Ç¤¹¡£

¡¡À¸À®¤µ¤ì¤¿¥¨¥Í¥ß¡¼¤Î¥¯¥í¡¼¥ó¤ËÂФ·¤Æ¡¢¥¨¥Í¥ß¡¼¤Î¥Ç¡¼¥¿¤ò·èÄꤷ¡¢¡Ö¤³¤Î¾ðÊó¤ò»È¤Ã¤Æ¥¨¥Í¥ß¡¼¤ËÌò³ä¤òÍ¿¤¨¤Æ¿¶¤ëÉñ¤¤¤òÊѤ¨¤Æ¤¯¤À¤µ¤¤¡×¤ÈÌ¿Îá¤ò½Ð¤¹¤Î¤Ï EnemyGenerator ¥¹¥¯¥ê¥×¥È¦¤Ë¤Ê¤ê¤Þ¤¹¡£

¡¡¤³¤ÎÌò³äʬô¤Î¹Í¤¨Êý¤Ë¤Ä¤¤¤Æ¤â¤·¤Ã¤«¤ê¤È³Ø½¬¤·¤ÆÍý²ò¤ò¿¼¤á¤Æ¤¯¤À¤µ¤¤¡£



¡¡°ú¿ô¤òÄ̤¸¤Æ¤¦¤±¤È¤Ã¤¿ EnemyData ¤Î¾ðÊó¤ò³èÍѤ¹¤ë¤è¤¦¤Ë½èÍý¤òÄɲ乤뤳¤È¤Ç¡¢
EnemyData ¥¯¥é¥¹¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë¾ðÊó¤Ë¤Ä¤¤¤Æ¤Ï¡¢¤³¤Î¥¹¥¯¥ê¥×¥ÈÆâ¤Ç¸ÄÊ̤ËÀßÄê¤ò¹Ô¤¦É¬Íפ¬¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£
¤è¤Ã¤Æ¡¢¹¶·âÎϤä°Üư®Å٤Ȥ¤¤Ã¤¿¾ðÊó¤ò EnemyData ·¿¤Î¾ðÊ󤫤鼫ưŪ¤Ë»²¾È¤¹¤ë½èÍý¤Îµ­½Ò¤¬É¬Íפˤʤê¤Þ¤¹¡£

¡¡EnemyData ¥¯¥é¥¹Æâ¤ÎÊÑ¿ô¤Ï¤¹¤Ù¤Æ public ½¤¾þ»Ò¤Ë¤è¤Ã¤ÆÀë¸À¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
¤½¤Î¤¿¤á¡¢EnemyData ¥¯¥é¥¹¤Î¾ðÊó¤ò¼èÆÀ¤·¤Æ¤¤¤ëÊÑ¿ô¤Ï¡¢¤³¤ì¤é¤Î public ½¤¾þ»Ò¤ÎÊÑ¿ô¤Î¾ðÊó¤ò¤¹¤Ù¤ÆÍøÍѤǤ­¤Þ¤¹¡£
Î㤨¤Ð¡¢EnemyType ¤ò»²¾È¤·¤¿¤¤¾ì¹ç¤Ë¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£

  // EnemyData ¥¯¥é¥¹¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë EnemyType ¤Î¾ðÊ󤬡¢Boss ¤ÎÎóµó»Ò¤Ç¤¢¤ë¾ì¹ç
  if(enemyData.enemyType == EnemyType.Boss) {  }


¡¡°ÊÁ°¤Ë³Ø½¬¤·¤¿¤è¤¦¤Ë¡¢ÊÑ¿ô¤ËÂåÆþ¤µ¤ì¤Æ¤¤¤ë¾ðÊ󤫤é¤Ï¡¢public ½¤¾þ»Ò¤Î¾ðÊó¤ò¤µ¤é¤Ë¼èÆÀ¤·¤ÆÍøÍѤǤ­¤Þ¤¹¡£
¥Ô¥ê¥ª¥É¤ò»È¤Ã¤¿½èÍý¤Ë¤Ä¤¤¤Æ¡¢¤³¤Îµ¡²ñ¤Ë¤·¤Ã¤«¤ê¤È³Ð¤¨¤Æ¤¤¤­¤Þ¤·¤ç¤¦¡£


EnemyController.cs

¡¡<=¡¡¥¯¥ê¥Ã¥¯¤¹¤ë¤È³«¤­¤Þ¤¹


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



¡¡Prefabs ¥Õ¥©¥ë¥À¤Ë¤¢¤ë Enemy ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤ò³Îǧ¤·¤Þ¤¹¡£
¿·¤·¤¯ public ½¤¾þ»Ò¤ÇÀë¸À¤·¤¿ EnemyData ÊÑ¿ô¤¬Äɲ䵤ì¤Æ¤¤¤Þ¤¹¡£


Enemy ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¡¡¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü

EnemyData ÊÑ¿ô¤Ï¤¹¤Ù¤Æ½é´üÃͤΤޤޤǹ½¤¤¤Þ¤»¤ó¡£
¥²¡¼¥à¤ò¼Â¹Ô¤·¤Æ¥¨¥Í¥ß¡¼¤¬À¸À®¤µ¤ì¤ë¤È¡¢¤³¤³¤Ë EnemyData ¤Î¾ðÊó¤¬ÂåÆþ¤µ¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£

¡¡Debug ¤ò¹Ô¤¦ºÝ¤ËÌòΩ¤Á¤Þ¤¹¤Î¤Ç¡¢¤É¤Î½èÍý¤Ë¤è¤Ã¤Æ¡¢¤É¤ÎÃͤ¬ÊѲ½¤¹¤ë¤Î¤«¤òǰƬ¤ËÃÖ¤¤¤Æ¤ª¤¯¤³¤È¤¬½ÅÍפǤ¹¡£


£´¡¥DataBaseManager ¥¹¥¯¥ê¥×¥È¤È EnemyGenerator ¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¡¢¥¨¥Í¥ß¡¼ÍѤΥץì¥Õ¥¡¥Ö¤Ë EnemyDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Î¥Ç¡¼¥¿¤ò»²¾È¤·¤Æ¡¢£±¤Ä¤Î¥×¥ì¥Õ¥¡¥Ö¤«¤é°Û¤Ê¤ë¥¨¥Í¥ß¡¼¤ò¼«Æ°À¸À®¤¹¤ë½èÍý¤òÄɲ乤ë

£±¡¥Àß·×


¡¡EnemyController ¥¹¥¯¥ê¥×¥È¤Î½¤Àµ¤¬½ª¤ï¤ê¡¢EnemyDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Î¥Ç¡¼¥¿¤òÈ¿±Ç¤·¤ÆÍøÍѤǤ­¤ë½àÈ÷¤¬´°Î»¤·¤Þ¤·¤¿¡£

¡¡¤Ä¤Å¤¤¤Æ¡¢EnemyGenerator ¥¹¥¯¥ê¥×¥ÈÆâ¤Ë EnemyDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Î¥Ç¡¼¥¿¤ò°·¤¨¤ë¤è¤¦¤Ë¤·¡¢
¤½¤Î¥Ç¡¼¥¿¤òÍøÍѤ·¤Æ¡¢À¸À®¤·¤¿¥¨¥Í¥ß¡¼¤Î¥¯¥í¡¼¥ó¤Ë¥¨¥Í¥ß¡¼¤Î¥Ç¡¼¥¿¤òÁ÷¤êÅϤ¹½èÍý¤ò½¤Àµ¡¦Äɲäò¹Ô¤¤¤Þ¤¹¡£

¡¡Á°¤ÎÀ߷פÇÀâÌÀ¤·¤¿¤è¤¦¤Ë¡¢¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤âºîÀ®¤·¤¿¤À¤±¤Ç¤ÏÍøÍѤǤ­¤Þ¤»¤ó¡£
ÍøÍѤ¹¤ë¤¿¤á¤Ë¤Ï EnemyDataSO ·¿¤ÎÊÑ¿ô¤òÀë¸À¤·¡¢¤½¤ÎÊÑ¿ô¤Ë¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤òÂåÆþ¤·¤Æ¡¢»²¾È¤·¤ÆÍøÍѤ·¤Æ¤¤¤¯ÊýË¡¤Ë¤Ê¤ê¤Þ¤¹¡£

¡¡EnemyGenerator ¥¹¥¯¥ê¥×¥È¤Ë¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Î¾ðÊó¤ò°·¤¨¤ë¤È¤¤¤¦¤³¤È¤Ï¡¢
¤³¤Î¥¹¥¯¥ê¥×¥È¤Ë¤ª¤¤¤ÆÀ¸À®¤·¤¿¥¨¥Í¥ß¡¼¤Î¥¯¥í¡¼¥ó¤ËÂФ·¤Æ¡¢¥¨¥Í¥ß¡¼¤È¤·¤Æ¤Î¿¶¤ëÉñ¤¤¤ò·èÄꤹ¤ëÉôʬ¤Þ¤Ç¤¬¼ÂÁõ¤µ¤ì¤ëÀ߷פˤʤê¤Þ¤¹¡£
¤½¤·¤Æ¤½¤Î¥¨¥Í¥ß¡¼¤Î¾ðÊó¤ò EnemyController ¥¹¥¯¥ê¥×¥È¦¤ËÅϤ¹¤³¤È¤Ç¡¢EnemyController ¥¹¥¯¥ê¥×¥È¤¬¥¨¥Í¥ß¡¼¤Î¾ðÊó¤òÀßÄꤷ¤Æ¤¯¤ì¤ë½èÍý¤Îή¤ì¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£

¡¡¤½¤Î¤¿¤á¤Ë¤Ï»öÁ°½àÈ÷¤È¤·¤Æ¿¤¯¤Î½èÍý¤Î¼ÂÁõ¤¬É¬Íפˤʤê¤Þ¤¹¡£

¡ã¥í¥¸¥Ã¥¯¤Îή¤ì¡ä
¡»£±¡¥EnemyGenerator ¥¹¥¯¥ê¥×¥È¤Ë¤ª¤¤¤Æ¡¢¥¨¥Í¥ß¡¼¤Î¥×¥ì¥Õ¥¡¥Ö¤«¤é¥¯¥í¡¼¥ó¤ÎÀ¸À®¤ò¹Ô¤¦
¡þ£²¡¥¥¨¥Í¥ß¡¼¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹(EnemyDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È)¤ÎÃ椫¤é¥é¥ó¥À¥à¤Ê¥¨¥Í¥ß¡¼¤Î¥Ç¡¼¥¿¤ò£±¤ÄÁªÂò¤·¤Æ¡¢¤½¤ì¤òÀ¸À®¤·¤¿¥¨¥Í¥ß¡¼¤Î¥¯¥í¡¼¥ó¤Î¡Ö¥¨¥Í¥ß¡¼¤Î¾ðÊó(EnemyData)¡×¤È¤·¤Æ·èÄꤹ¤ë
¢¤£³¡¥EnemyController ¥¹¥¯¥ê¥×¥È¤Î SetUpEnemy ¥á¥½¥Ã¥É¤Ë¡Ú£²¡Û¤Ç·èÄꤷ¤¿¥¨¥Í¥ß¡¼¤Î¾ðÊó¤ò°ú¿ô¤È¤·¤ÆÅϤ¹
¡»£´¡¥EnemyController ¥¹¥¯¥ê¥×¥È¤Î SetUpEnemy ¥á¥½¥Ã¥É¤Ë¤ª¤¤¤Æ¡¢°ú¿ô¤Ç¼èÆÀ¤·¤¿¥¨¥Í¥ß¡¼¤Î¾ðÊó¤òÍøÍѤ·¤Æ¡¢¥¨¥Í¥ß¡¼¤È¤·¤Æ¤Î¿¶¤ëÉñ¤¤¤òÀßÄꤹ¤ë

¡¡¡þ¤ÎÉôʬ¤Ï¿·¤·¤¯¼ÂÁõ¤¹¤ëÊÑ¿ô¤ä½èÍý¡¢¡»¤Ï¼ÂÁõºÑ¤Î½èÍý¡¢¢¤¤Ï½¤Àµ¤ò¹Ô¤¦½èÍý¤Ë¤Ê¤ê¤Þ¤¹¡£

¡¡¥¨¥Í¥ß¡¼¤Î¾ðÊó¤Ï¡¢¥é¥ó¥À¥à¤Ê¥¨¥Í¥ß¡¼¤Î¥Ç¡¼¥¿¤ò£±¤ÄÁªÂò¤·¤Æ¡¢º£²óÀ¸À®¤¹¤ë¥¨¥Í¥ß¡¼¤Î¾ðÊó(EnemyData)¤È¤·¤Æ·èÄꤷ¤Þ¤¹¡£
¡¡
¡¡¤½¤Î¸å¡¢À¸À®¤µ¤ì¤¿¥¨¥Í¥ß¡¼¤Î¥¯¥í¡¼¥ó¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤è¤ê¡¢EnemyController ¥¹¥¯¥ê¥×¥È¤Î SetUpEnemy ¥á¥½¥Ã¥É¤ò¼Â¹Ô¤¹¤ëÉôʬ¤ò½¤Àµ¤·¤Þ¤¹¡£
°ú¿ô¤ò¿·¤·¤¯£±¤ÄÄɲä·¤Æ EnemyData ¤Î¾ðÊó¤ò EnemyController ¤Ø¤ÈÅϤ»¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£
¤³¤Î¥á¥½¥Ã¥É¤Ï¤¹¤Ç¤Ë½¤ÀµºÑ¤Ç¤¹¤Î¤Ç¡¢¤³¤Î½¤Àµ¤Ë¤è¤Ã¤Æ¡¢EnemyGenerator ¥¹¥¯¥ê¥×¥È¤Ë¤ª¤¤¤Æ·èÄꤷ¤¿
¥¨¥Í¥ß¡¼¤Î¾ðÊó¤¬ EnemyController ¥¹¥¯¥ê¥×¥È¦¤Ø¤È°ú¿ô¤òÄ̤¸¤ÆÁ÷¿®¤µ¤ì¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£



¡¡°Ê¾å¤¬¥í¥¸¥Ã¥¯¤Îή¤ì¤Ë¤Ê¤ê¤Þ¤¹¡£
º£¤Þ¤Ç°Ê¾å¤Ë¥×¥í¥°¥é¥à¤Î½èÍý¤ÎÍý²ò¤ò¿¼¤á¤Æ¤¤¤¯¤³¤È¤¬½ÅÍפˤʤê¤Þ¤¹¡£


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


¡¡EnemyGenerator ¥¹¥¯¥ê¥×¥È¤¬ EnemyDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È ¤Î¾ðÊó¤ò³èÍѤǤ­¤ë¤è¤¦¤Ë¤¹¤ë¤¿¤á¡¢
EnemyDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤ò DataBaseManager ¤Ë¤ª¤¤¤Æ°·¤¨¤ë¾õÂ֤ˤ·¤Þ¤¹¡£


DataBaseManager.cs

<= ¥¯¥ê¥Ã¥¯¤¹¤ë¤È³«¤­¤Þ¤¹


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


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


¡¡¿·¤·¤¯Äɲä·¤¿ÊÑ¿ô¤Ë EnemyDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤òÅÐÏ¿¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¤Î¤Ç¡¢
Datas ¥Õ¥©¥ë¥À¤Ë¤¢¤ë EnemyDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤ò¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤·¤Æ¥¢¥µ¥¤¥ó¤·¤Æ¤¯¤À¤µ¤¤¡£


DataBaseManager ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¡¡¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü


¡¡¤³¤ì¤Ç EnemyDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Î¾ðÊó¤ò¥²¡¼¥àÆâ¤Ç³èÍѤǤ­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£

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


£´¡¥EnemyGenerator ¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤¹¤ë


¡¡À߷פ˴ð¤Å¤¤¤Æ½èÍý¤Î¥í¥¸¥Ã¥¯¤òÁȤó¤Ç¤¤¤­¤Þ¤¹¡£
À߷פÇÄ󼨤·¤¿¥í¥¸¥Ã¥¯¤Îή¤ì¤È¼ÂÁõ¤·¤Æ¤¤¤¯ÆâÍƤò£±¤Ä¤º¤Ä³Îǧ¤·¤Ê¤¬¤é¡¢½èÍý¤ÎÆâÍƤòÍý²ò¤·¤Æ¤¤¤­¤Þ¤·¤ç¤¦¡£


EnemyGenerator.cs

¡¡<=¡¡¥¯¥ê¥Ã¥¯¤¹¤ë¤È³«¤­¤Þ¤¹


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


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


¡¡¤¹¤Ù¤Æ¤Î¼ÂÁõ¤¬´°Î»¤·¤Þ¤·¤¿¤Î¤Ç¡¢¥²¡¼¥à¤ò¼Â¹Ô¤·¤Æ½çÈ֤˽èÍý¤ÎÆâÍƤò³Îǧ¤·¤Æ¤¤¤­¤Þ¤¹¡£
¡¡
¡¡¥¨¥Í¥ß¡¼¤¬À¸À®¤µ¤ì¤¿¤é¡¢¥²¡¼¥à¤ò°ì»þÄä»ß¤·¤Æ¡¢Enemy ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£
»þ´Ö¤Î·Ð²á¤Ç¼«Æ°À¸À®¤µ¤ì¤ë¥¨¥Í¥ß¡¼¤ÏƱ¤¸ Enemy ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤¹¤¬¡¢¤½¤ì¤¾¤ì¤Î EnemyData ¤Ë´ð¤Å¤¤¤¿¥¨¥Í¥ß¡¼¤È¤·¤Æ¿¶¤ëÉñ¤Ã¤Æ¤¤¤ì¤ÐÀ©¸æÀ®¸ù¤Ç¤¹¡£
Hp ¤ä ¹¶·âÎϤʤɤγÆÃͤò³Îǧ¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£


¡ã¥Ò¥¨¥é¥ë¥­¡¼²èÁü(¤¹¤Ù¤Æ Enemy ¥×¥ì¥Õ¥¡¥Ö¤Î¥¯¥í¡¼¥ó)¡ä



¡ãEnemyController ¥¹¥¯¥ê¥×¥È¤Î EnemyData ¤ÎÃͤ¬¤½¤ì¤¾¤ì°Û¤Ê¤ê¡¢¤³¤Î¾ðÊó¤òÀßÄꤷ¤Æ°Û¤Ê¤ë¥¨¥Í¥ß¡¼¤È¤·¤Æ¿¶¤ëÉñ¤Ã¤Æ¤¤¤ë¡ä





¡¡¤Ê¤ª¡¢¥¨¥Í¥ß¡¼¤Î¥¢¥Ë¥á¡¼¥·¥ç¥ó¤Ë¤Ä¤¤¤Æ¤Ï¡¢¤Þ¤ÀÊѹ¹ÍѤΥǡ¼¥¿¤äÀßÄê¤òÈ¿±Ç¤¹¤ë½èÍý¤¬¤Ê¤¤¤¿¤á¡¢¸½ºß¤ÏÊѤï¤ê¤Þ¤»¤ó¡£
¤³¤Á¤é¤ÏȯŸ£µ¡¡¡Ý¥¨¥Í¥ß¡¼¤Î¥¢¥Ë¥á¡¼¥·¥ç¥ó¤Î¼«Æ°ÀßÄ굡ǽ¤Î¼ÂÁõ¡Ý¤Ë¤ª¤¤¤Æ¼ÂÁõ¤ò¹Ô¤¤¤Þ¤¹¡£


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

¡¡¼¡¤Ï¡¡È¯Å¸£³¡¡¡Ý¥­¥ã¥é¤ÎÇÛÃÖ¤ò²ò½ü¤¹¤ë¤¿¤á¤Î¥Ý¥Ã¥×¥¢¥Ã¥×¤ÎºîÀ®¡Ý¡¡¤Ç¤¹¡£

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


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

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

Menu



´ðÁÃ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

private



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

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