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

¡¡Å¨¤È¤Î¥é¥ó¥À¥à¥¨¥ó¥«¥¦¥ó¥È¤ÎȯÀ¸ÊýË¡¤Î¼ÂÁõ¤ò¹Ô¤¤¤Þ¤¹¡£¼ÂºÝ¤ÎÀïÆ®¥·¡¼¥ó¤Ï¤¢¤ê¤Þ¤»¤ó¡£
£²²ó¤Î¼ê½ç¤Ëʬ¤±¤Æ¼ÂÁõ¤ò¹Ô¤Ã¤Æ¤¤¤­¤Þ¤¹¡£²¼µ­¤Î¼ÂÁõÆ°²è¤ÏºÇ½ªÅª¤ÊÌÜɸ¼ÂÁõ¤Ë¤Ê¤ê¤Þ¤¹¡£


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


¼ê½ç£±£µ¡¡¡Ý¥é¥ó¥À¥à¥¨¥ó¥«¥¦¥ó¥È¤Î¼ÂÁõ¡Ý
£²£µ¡¥GameData ¥¹¥¯¥ê¥×¥È¤È EncountManager ¥¹¥¯¥ê¥×¥È¤òºîÀ®¤·¡¢PlayerController ¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¤Æ¡¢¥×¥ì¥¤¥ä¡¼¥­¥ã¥é¤Î°ÜÆ°¤ËºÝ¤·¤Æ¥é¥ó¥À¥à¤Ê¥¨¥ó¥«¥¦¥ó¥È¤òȯÀ¸¤µ¤»¤ë½èÍý¤ò¼ÂÁõ¤¹¤ë
£²£¶¡¥Battle ¥·¡¼¥ó¤òºîÀ®¤·¡¢¥é¥ó¥À¥à¥¨¥ó¥«¥¦¥ó¥È»þ¤Ë¡¢Main ¥·¡¼¥ó¤«¤é Battle ¥·¡¼¥ó¤Ø¤ÈÁ«°Ü¤¹¤ë½èÍý¤ò¼ÂÁõ¤¹¤ë


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

¡¡¡¦Vector2.magnitude ÊÑ¿ô
¡¡¡¦°ú¿ô¤òÍøÍѤ·¤Æ½èÍý¤Î¿¶¤ëÉñ¤¤¤òÊѹ¹¤¹¤ë¼ÂÁõÎã
¡¡¡¦°ú¿ô¤òÍøÍѤ·¤Æ³°Éô¤Î¥¯¥é¥¹¤Î¾ðÊó¤ò¥¹¥¯¥ê¥×¥ÈÆâ¤Ë¼èÆÀ¤¹¤ëÊýË¡¤Î¼ÂÁõÎã
¡¡¡¦Debug.Log ¥á¥½¥Ã¥É¤Î³èÍÑÊýË¡



£²£µ¡¥GameData ¥¹¥¯¥ê¥×¥È¤È EncountManager ¥¹¥¯¥ê¥×¥È¤òºîÀ®¤·¡¢PlayerController ¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¤Æ¡¢¥×¥ì¥¤¥ä¡¼¥­¥ã¥é¤Î°ÜÆ°¤ËºÝ¤·¤Æ¥é¥ó¥À¥à¤Ê¥¨¥ó¥«¥¦¥ó¥È¤òȯÀ¸¤µ¤»¤ë½èÍý¤ò¼ÂÁõ¤¹¤ë

£±¡¥Àß·×


¡¡¤Þ¤º¤ÏºÇ½é¤Ë¡¢¥×¥ì¥¤¥ä¡¼¥­¥ã¥é¤¬°ÜÆ°¤·¤Æ¤¤¤ë´Ö¤ËÃêÁª¤ò¹Ô¤¤¡¢¥é¥ó¥À¥à¤Ê¥¿¥¤¥ß¥ó¥°¤ÇŨ¤È¤Î¥¨¥ó¥«¥¦¥ó¥È¤òȯÀ¸¤¹¤ëÀ©¸æ½èÍý¤ò¼ÂÁõ¤·¤Þ¤¹¡£
¼ÂºÝ¤ËŨ¤È¤Î¥Ð¥È¥ë¤Ç¤Ï¤Ê¤¯¡¢Debug.Log ¥á¥½¥Ã¥É¤òÍøÍѤ·¤Æ¡¢¥¨¥ó¥«¥¦¥ó¥È¤¬È¯À¸¤·¤Æ¤¤¤ë¤«¤ò³Îǧ¤·¤Þ¤¹¡£

¡¡¤½¤ì¤¬´°À®¤·¤¿¤é¼¡¤Ï¡¢¥¨¥ó¥«¥¦¥ó¥È¤ÈƱ»þ¤ËÊ̤Υ·¡¼¥ó¤Ø¤ÈÁ«°Ü¤¹¤ë½èÍý¤ò¼ÂÁõ¤·¤Þ¤¹¡£¤³¤³¤Þ¤Ç¤ò¤³¤Î¼ê½ç¤Ç°·¤¤¤Þ¤¹¡£
¼¡¤Î¼ê½ç¤Ç¤Ï¥Ð¥È¥ë½ªÎ»¸å¤ËºÆÅÙ¡¢Main ¥·¡¼¥ó¤Î¸µ¤Ë°ÌÃÖ¤ËÌá¤ë½èÍý¤Ê¤É¤ò¼ÂÁõ¤·¤Æ¤¤¤­¤Þ¤¹¡£

¡¡¥·¡¼¥ó¤ÎÁ«°Ü¤òȼ¤¦½èÍý¤Ë¤Ê¤ê¤Þ¤¹¤Î¤Ç¡¢¥·¡¼¥ó¤ÎÁ«°Ü¸å¤Ë¤âÍøÍѤ·¤¿¤¤¾ðÊ󤬤¢¤ë¾ì¹ç¤Ë¤Ï¤¤¤¯¤Ä¤«ÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£
º£²ó¤Ï¡¢DontDestroyOnLoad ¥á¥½¥Ã¥É¤ò¼ÂÁõ¤·¤Æ¤¤¤ë¥¹¥¯¥ê¥×¥È¤¬¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ËɬÍפʾðÊó¤òÊÝ»ý¤¹¤ë¤è¤¦¤ËÀ߷פ·¤Þ¤¹¡£

¡¡¤½¤¦¤¹¤ë¤³¤È¤Ç¡¢Ê̤Υ·¡¼¥ó¤ËÁ«°Ü¤ò¤·¤¿¸å¤Ç¤â¡¢Á°¤Î¥·¡¼¥ó¤Î¾ðÊó¤ò³èÍѤǤ­¤ë½èÍý¤ò¼ÂÁõ¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£


£²¡¥GameData ¥¹¥¯¥ê¥×¥È¤òºîÀ®¤¹¤ë


¡¡¥·¡¼¥ó¤ÎÁ«°Ü¤ò¹Ô¤¦Á°¤Ë¡¢É¬ÍפʾðÊó¤òÊÝ»ý¤¹¤ë¤¿¤á¤Î¥¯¥é¥¹¤òºîÀ®¤·¤Þ¤¹¡£
¥²¡¼¥àÆâ¤ÇÍøÍѤ¹¤ë¿§¡¹¤Ê¾ðÊó¤òÀßÄꡦ´ÉÍý¤¹¤ë¤è¤¦¤Ë¤·¤¿¤¤¤Î¤Ç¡¢GameData ¤È¤¤¤¦Ì¾Á°¤Ë¤·¤Æ¤ª¤­¤Þ¤¹¡£

¡¡DataBaseManager ¥¹¥¯¥ê¥×¥È¤ÈƱ¤¸¤è¤¦¤Ë¡¢¥·¥ó¥°¥ë¥È¥ó¥Ç¥¶¥¤¥ó¥Ñ¥¿¡¼¥ó¤òÍøÍѤ·¤ÆºîÀ®¤ò¹Ô¤¤¤Þ¤¹¡£
¹ç¤ï¤»¤Æ DontDestroyOnLoad ¥á¥½¥Ã¥É¤â¼ÂÁõ¤¹¤ë¤³¤È¤Ç¡¢GameData ¥¹¥¯¥ê¥×¥È¤¬¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò
¥·¡¼¥ó¤ÎÁ«°Ü¤Ë¤è¤Ã¤Æ¤ÏÇË´þ¤µ¤ì¤Ê¤¤¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤È¤·¤Æ¿¶¤ëÉñ¤¨¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£

¡¡º£²ó¤Ï¤Þ¤º¡¢¥¨¥ó¥«¥¦¥ó¥È¤¬È¯À¸¤¹¤ë³ÎΨ¤ÎÀßÄêÃͤȡ¢¥¨¥ó¥«¥¦¥ó¥È¤¬È¯À¸¤·¤Æ¤¤¤ë¾õÂÖ¤«¤É¤¦¤«¤òȽÄꤹ¤ë¤¿¤á¤ÎÃͤòÊÑ¿ô¤È¤·¤ÆÍÑ°Õ¤·¤Þ¤¹¡£
¤Þ¤¿¡¢¥Ç¥Ð¥Ã¥°ºî¶È¤ò¹Ô¤¤¤ä¤¹¤¯¤¹¤ë¤¿¤á¤Ë¥Ç¥Ð¥Ã¥°µ¡Ç½¤ò¼¡¤ËºîÀ®¤¹¤ë EncountManager ¥¯¥é¥¹Æâ¤ËÍÑ°Õ¤·¤Þ¤¹¤Î¤Ç¡¢¤½¤Îµ¡Ç½¤òÍ­¸ú¤Ë¤¹¤ë¤¿¤á¤ÎÊÑ¿ô¤âÍÑ°Õ¤·¤Þ¤¹¡£


GameData.cs

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


¡¡¥¹¥¯¥ê¥×¥È¤òºîÀ®¤·¤¿¤é¥»¡¼¥Ö¤·¤Þ¤¹¡£


£³¡¥GameData ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òºîÀ®¤·¡¢GameData ¥¹¥¯¥ê¥×¥È¤ò¥¢¥¿¥Ã¥Á¤¹¤ë


¡¡GameData ¥¹¥¯¥ê¥×¥È¤ò¥¢¥¿¥Ã¥Á¤¹¤ë¤¿¤á¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òºîÀ®¤·¤Þ¤¹¡£

¡¡¥Ò¥¨¥é¥ë¥­¡¼¤Î¶õ¤¤¤Æ¤¤¤ë¾ì½ê¤Ç±¦¥¯¥ê¥Ã¥¯¤ò¤·¤Æ¥á¥Ë¥å¡¼¤ò³«¤­¡¢Create Empty ¤òÁªÂò¤·¤Þ¤¹¡£
¿·¤·¤¤¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤¬ºîÀ®¤µ¤ì¤Þ¤¹¤Î¤Ç¡¢Ì¾Á°¤ò GameData ¤ËÊѹ¹¤·¤Æ¤¯¤À¤µ¤¤¡£

¡¡¤½¤Î¸å¡¢GameData ¥¹¥¯¥ê¥×¥È¤ò GameData ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤·¤Æ¥¢¥¿¥Ã¥Á¤·¤Æ¤¯¤À¤µ¤¤¡£


¥Ò¥¨¥é¥ë¥­¡¼²èÁü



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



¡¡isDebug ÊÑ¿ô¤Î¥¹¥¤¥Ã¥Á¤Ë¥Á¥§¥Ã¥¯¤òÆþ¤ì¤Æ true ¤Î¾õÂ֤ˤ·¤Æ¤¯¤À¤µ¤¤¡£
¤³¤Î¥¹¥¤¥Ã¥Á¤¬¥ª¥ó¤Î¤È¤­¤À¤±¡¢¥¨¥ó¥«¥¦¥ó¥ÈȯÀ¸»þ¤Î¥Ç¥Ð¥Ã¥°Áàºî¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£


¡¡°Ê¾å¤Ç¤³¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ÎÀßÄê¤Ï´°Î»¤Ç¤¹¡£

¡¡°ìÅÙ¡¢¥²¡¼¥à¤ò¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£
¥Ò¥¨¥é¥ë¥­¡¼¤Î Main ¥·¡¼¥ó¤Ç¤Ï¤Ê¤¯¡¢²¼ÃÊ¤Ë DontDestroyOnLoad ¤È¤¤¤¦¥·¡¼¥ó¤ÈƱ¤¸¥¢¥¤¥³¥ó¤Î¾ì½ê¤¬Áý¤¨¤Þ¤¹¡£
¤³¤ÎÃæ¤Ë¡¢DataBaseManager ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤È°ì½ï¤Ë GameData ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤â¸ºß¤·¤Æ¤¤¤ì¤Ð¡¢
¥·¡¼¥óÁ«°Ü¤·¤Æ¤âÇË´þ¤µ¤ì¤Ê¤¤¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤È¤·¤Æ¸ºß½ÐÍè¤Æ¤¤¤Þ¤¹¡£


¥Ò¥¨¥é¥ë¥­¡¼²èÁü



¡¡¤³¤Î¾õÂ֤ϥ²¡¼¥à¤ò¼Â¹Ô¤·¤¿¤È¤­¤Ë¤À¤±³Îǧ¤Ç¤­¤Þ¤¹¡£½¾Íè¤Ï¡¢Main ¥·¡¼¥óÆâ¤Ë¸ºß¤·¤Æ¤¤¤ì¤ÐÌäÂꤢ¤ê¤Þ¤»¤ó¡£


£´¡¥EncountManager ¥¹¥¯¥ê¥×¥È¤òºîÀ®¤¹¤ë


¡¡¥¨¥ó¥«¥¦¥ó¥È´ØÏ¢¤Î½èÍý¤ò´ÉÍý¤¹¤ë¤¿¤á¤Î¥¯¥é¥¹¤ò£±¤ÄºîÀ®¤·¤Æ´ÉÍý¤ò¹Ô¤¦¤è¤¦¤Ë¤·¤Þ¤¹¡£

¡¡¤³¤³¤Ç¤Ï PlayerController ¥¯¥é¥¹¤Ë EncountManager ¥¯¥é¥¹¤Î¾ðÊó¤òÅϤ¹½èÍý¤È¡¢
¥×¥ì¥¤¥ä¡¼¤¬°ÜÆ°¤·¤¿ºÝ¤Ë°ìÄê¤Î³ÎΨ¤Ç¥¨¥ó¥«¥¦¥ó¥È¤ÎȯÀ¸¤ò¹Ô¤¦½èÍý¤ò¼ÂÁõ¤·¤Þ¤¹¡£

¡¡¤Þ¤¿¡¢°ìÅÙ¥¨¥ó¥«¥¦¥ó¥È¤¬È¯À¸¤¹¤ë¤È¡¢¤½¤Î¸å¤Ï¥¨¥ó¥«¥¦¥ó¥È¤òȯÀ¸¤µ¤»¤Ê¤¤À©¸æ¤â¼ÂÁõ¤·¤Æ¤¤¤Þ¤¹¡£
¤¿¤À¤·¤³¤ì¤Ï¡¢¼ÂºÝ¤Î¥²¡¼¥àÆâ¤Ë¤ª¤¤¤ÆɬÍפÊÀ©¸æ¤Ç¤¢¤ê¡¢¥Ç¥Ð¥Ã¥°¤ÎºÝ¤Ë¤â¤³¤ÎÀ©¸æ¤¬Æ¯¤¤¤Æ¤·¤Þ¤¦¤¿¤á¡¢
·«¤êÊÖ¤·¥¨¥ó¥«¥¦¥ó¥ÈȯÀ¸¤Î¥Ç¥Ð¥Ã¥°ºî¶È¤ò¹Ô¤¦ºÝ¤Ë¤ÏÉÔÊؤʾõÂÖ¤ò°ú¤­µ¯¤­¤·¤Þ¤¹¡£

¡¡¤³¤¦¤¤¤Ã¤¿¥±¡¼¥¹¤Ç¤Ï¡¢¥Ç¥Ð¥Ã¥°¤Î¤¿¤á¤Îµ¡Ç½¤ò°ì½ï¤Ë¼ÂÁõ¤·¤Æ¤ª¤­¤Þ¤¹¡£
º£²ó¤Î¾ì¹ç¤Ç¤¢¤ì¤Ð¡¢¥¨¥ó¥«¥¦¥ó¥È¤òȯÀ¸¸å¤Ë»ØÄꤷ¤¿ÆÃÄê¤Î¥Ü¥¿¥ó¤òÁàºî¤¹¤ë¤³¤È¤Ç¤³¤ÎÀ©¸æ¤ò¥ª¥Õ¤Ë¤¹¤ëµ¡Ç½¤ò¼ÂÁõ¤·¤Æ¤¤¤Þ¤¹¡£
¤½¤¦¤¹¤ë¤³¤È¤ÇºÆÅÙ¥¨¥ó¥«¥¦¥ó¥È¤òȯÀ¸¤µ¤»¤ë¤³¤È¤¬½ÐÍè¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¤Î¤Ç¡¢Ãà°ì¥²¡¼¥à¤òºÆ¼Â¹Ô¤¹¤ëɬÍפ¬¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£

¡¡¤³¤Î¤è¤¦¤Ë¥Ç¥Ð¥Ã¥°¤·¤ä¤¹¤¤´Ä¶­¤ò¼«Ê¬¤ÇÍÑ°Õ¤·¤Æ¤ª¤¯¤³¤È¤Ç¡¢°ì²ó¤Î¥×¥ì¥¤¤Ç²¿²ó¤Ç¤â¥¨¥ó¥«¥¦¥ó¥È¤òȯÀ¸¤¬Àµ¾ï¤Ë¹Ô¤ï¤ì¤Æ¤¤¤ë¤«·«¤êÊÖ¤·¤Î³Îǧ¤¬¹Ô¤¨¤ë¤è¤¦¤Ë¤Ê¤ë¤¿¤á¡¢
¥Ç¥Ð¥Ã¥°¤ò¥¹¥à¡¼¥¹¤Ë¹Ô¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£Â¾¤Î¥Ç¥Ð¥Ã¥°¤ÎºÝ¤Ë¤âÍ­ÍѤÊÊýË¡¤Ç¤¹¤Î¤Ç³Ð¤¨¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡£
¥Ý¥¤¥ó¥È¤È¤·¤Æ¤Ï¡¢¤É¤Î¤è¤¦¤Êµ¡Ç½¤¬¤¢¤ì¤Ð¥Ç¥Ð¥Ã¥°¤¬¤ä¤ê¤ä¤¹¤¯¤Ê¤ë¤À¤í¤¦¤«¡¢¤È¤¤¤¦Éôʬ¤Ç½èÍý¤ò¸«¤Æ¤¤¤¯¤³¤È¤Ë¤¢¤ê¤Þ¤¹¡£

¡¡¤Ê¤ª¥¹¥¯¥ê¥×¥È´°À®»þÅÀ¤Ç¤Ï¡¢Start ¥á¥½¥Ã¥É¤Ç¸Æ¤Ó½Ð¤¹ PlayerController ¥¯¥é¥¹Â¦¤Î½èÍý¤¬Ì¤¼ÂÁõ¤Ç¤¢¤ë¤¿¤á¡¢É¬¤º¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤¹¡£
¤½¤Î¤¿¤á¡¢¤³¤ÎÉôʬ°Ê³°¤Î¥¨¥é¡¼¤¬¤Ê¤¯¤Ê¤Ã¤¿¤é¡¢°ìö¥»¡¼¥Ö¤ò¤·¤Æ¤«¤é¡¢PlayerController ¥¯¥é¥¹¤Î½¤Àµ¤ò¹Ô¤¤¤Þ¤¹¡£
¤½¤Á¤é¤Ë³ºÅö¤¹¤ë¥á¥½¥Ã¥É¤ò¼ÂÁõ¤¹¤ë¤³¤È¤Ç¡¢EncountManager ¥¯¥é¥¹Â¦¤Î¥¨¥é¡¼¤â²ò¾Ã¤µ¤ì¤Þ¤¹¡£


EncountManager.cs

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


¡¡¥¹¥¯¥ê¥×¥È¤òºîÀ®¤·¤¿¤é¥»¡¼¥Ö¤ò¹Ô¤¤¤Þ¤¹¡£



¡¡GameData.instance.randomEncountRate ¤ÎÃͤ¬Â礭¤¤¤Û¤É¡¢Íð¿ô¤ÎÉý¤¬¹­¤¬¤ê¤Þ¤¹¡£


¡¡¤Þ¤¿ encountRate ¤ÎÃͤ¬Â礭¤¤Äø¡¢¥¨¥ó¥«¥¦¥ó¥ÈȯÀ¸Î¨¤¬¾å¤¬¤ê¤Þ¤¹¡£
¡¡
¡¡¤½¤Î¤¿¤á¡¢GameData.instance.randomEncountRate ¤ÎÃͤò¾®¤µ¤¯¤·¡¢¤«¤Ä¡¢encountRate ¤ÎÃͤ¬Â礭¤±¤ì¤Ð¹â³ÎΨ¤Ç¥¨¥ó¥«¥¦¥ó¥È¤¬È¯À¸¤¹¤ë»ÅÁȤߤǤ¹¡£

¡¡¤³¤Î¥¨¥ó¥«¥¦¥ó¥ÈȯÀ¸È½Äê¤ò¹Ô¤¦ JudgeRandomEncount() ¥á¥½¥Ã¥É¤Ï¡¢FixedUpdate ¥á¥½¥Ã¥É¤«¤é¼Â¹Ô¤µ¤ì¤ëͽÄê¤Ç¤¹¡£
¤½¤Î¤¿¤á¡¢1Éô֤Ë50²óȽÄ꤬ȯÀ¸¤¹¤ëͽÄê¤Ç¤¹¤Î¤Ç¡¢¸½ºß¤Î¿ôÃÍÀßÄê¤Ç¤¹¤È¡¢¹â³ÎΨ¤Ç¥¨¥ó¥«¥¦¥ó¥È¤¬È¯À¸¤·¤Þ¤¹¡£
¤³¤ì¤Ï¥Ç¥Ð¥Ã¥°ÍÑ¤Ë GameData.instance.randomEncountRate ¤ÎÃͤòÄ㤯¤·¤Æ¤¤¤ë¤¿¤á¤Ç¤¹¤Î¤Ç¡¢³Îǧºî¶È¤¬½ª¤ï¤Ã¤¿¤éÄ´À°¤·¤Æ¤¯¤À¤µ¤¤¡£


£µ¡¥PlayerController ¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¤Æ¡¢°ÜÆ°¤Ë¹ç¤ï¤»¤Æ¥¨¥ó¥«¥¦¥ó¥È¤¬È¯À¸¤¹¤ë½èÍý¤ò¼ÂÁõ¤¹¤ë


¡¡EncountManager ¥¯¥é¥¹¤è¤ê¸Æ¤Ó½Ð¤µ¤ì¤ëÌ¿ÎáÍѤΥ᥽¥Ã¥É¤òºîÀ®¤·¤Þ¤¹¡£
¤³¤Î¥á¥½¥Ã¥É¤Î°ú¿ô¤òÄ̤¸¤Æ¡¢EncountManager ¥¯¥é¥¹¤Î¾ðÊó¤ò¼èÆÀ¤·¤Æ¡¢ÊÑ¿ô¤ËÂåÆþ¤¹¤ë½èÍý¤ò¹Ô¤¤¤Þ¤¹¡£
¤³¤ì¤Ë¤è¤ê¡¢³°Éô¤«¤é¤Î¥¯¥é¥¹¤Î¾ðÊó¤ò PlayerController ¥¯¥é¥¹Â¦¤ËÆϤ±¤Æ¤â¤é¤¦¤è¤¦¤Ë¤·¤Æ¤¤¤Þ¤¹¡£

¡¡private ½¤¾þ»Ò¤ÇÀë¸À¤·¤Æ¤¤¤ëÊÑ¿ô¤Ë¤Ä¤¤¤Æ¤Ï¡¢GameObject.Find ¥á¥½¥Ã¥É¤òÍøÍѤ¹¤ë°Ê³°¤Ë¤â¡¢
¤³¤Î¤è¤¦¤Ë¥á¥½¥Ã¥É¤òÍøÍѤ¹¤ë¤³¤È¤ÇɬÍפʾðÊó¤ò¼èÆÀ¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¤Î¤Ç³Ð¤¨¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡£
¡¡


¡¡¥×¥ì¥¤¥ä¡¼¤Î°ÜÆ°¤·¤Æ¤¤¤ë¾õÂÖ¤ò Rigidbody2D ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î magnitude ¤ÎÃͤòÍøÍѤ·¤ÆȽÄꤷ¤Þ¤¹¡£
¤³¤Î magnitude ¤ÎÃÍ¤Ï float ·¿¤Ç¥Ù¥¯¥È¥ë¤ÎŤµ¤ò¼èÆÀ¤Ç¤­¤Þ¤¹¡£

»²¹Í¥µ¥¤¥È
Unity¸ø¼°¥¹¥¯¥ê¥×¥È¥ê¥Õ¥¡¥ì¥ó¥¹
Vector2-magnitude
https://docs.unity3d.com/ja/2019.4/ScriptReference...


¡¡¤½¤Î¤¿¤á¡¢magnitude ¤ÎÃͤ¬ 0 ¤è¤ê¤âÂ礭¤±¤ì¤Ð¡¢¤³¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ï°ÜÆ°¤·¤Æ¤¤¤ë¾õÂ֤Ǥ¢¤ë¤³¤È¤¬Ê¬¤«¤ê¤Þ¤¹¡£
Ãͤ¬ 0 ¤Ç¤¢¤ì¤Ð¤³¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ï°ÜÆ°¤·¤Æ¤¤¤Ê¤¤¾õÂ֤Ǥ¢¤ë¤³¤È¤¬¤ï¤«¤ê¤Þ¤¹¡£
¤³¤ì¤òÍøÍѤ·¤Æ¡¢¥×¥ì¥¤¥ä¡¼¤¬°ÜÆ°¤·¤Æ¤¤¤ë¾õÂ֤Ǥ¢¤ë¤«¡¢Ää»ß¤·¤Æ¤¤¤ë¾õÂ֤Ǥ¢¤ë¤«¤òȽÄꤷ¤Þ¤¹¡£

¡¡¤¿¤À¤·¡¢¥­¥ã¥é¤Î¥²¡¼¥à²èÌ̤ǤΰÜÆ°¤Ï magnitude ¤ÎÃÍ 0 °Ê¾å¤Ç¤¢¤Ã¤Æ¤â¤¹¤°¤Ë¤Ï°ÜÆ°¤ò³«»Ï¤·¤Þ¤»¤ó¡£
¤¢¤ëÄøÅÙ¤ÎÃͤˤʤé¤Ê¤¤¤ÈÆ°¤¤¤Æ¤¤¤ë¤è¤¦¤Ë¸«¤¨¤Ê¤¤¤¿¤á¤Ç¤¹¡£
¤½¤³¤Ç¤³¤ÎȽÄê¤Ë¤Ï 0 ¤Ç¤Ï¤Ê¤¯¡¢¿·¤·¤¯ movementThreshold ÊÑ¿ô¤òºîÀ®¤·¡¢¤³¤ÎÃͤòïçÃÍ(¤·¤­¤¤¤Á)¤È¤·¤ÆÍøÍѤ·¡¢¤³¤ÎÃͰʾå¤Ç¤¢¤ë¤È¤­¤Ë¡Ö°ÜÆ°Ãæ¡×¤ÈȽÃǤµ¤»¤Þ¤¹¡£
Î㤨¤Ð¤³¤ÎÃͤò 0.35f ¤È¤·¤¿¾ì¹ç¡¢magnitude ¤ÎÃͤ¬ 0.35f °Ê¾å¤Ë¤Ê¤Ã¤Æ¤¤¤ì¤Ð¡Ö°ÜÆ°¤·¤Æ¤¤¤ë¡×¤ÈȽÃǤ¹¤ë¤¿¤á¤ËÍøÍѤ·¤Þ¤¹¡£

¡¡°ÜÆ°¤·¤Æ¤¤¤ë¾õÂ֤˸¤ꡢEncountManager ¥¯¥é¥¹¤ËÍÑ°Õ¤·¤¿ JudgeRandomEncount ¥á¥½¥Ã¥É¤ò·Ñ³Ū¤Ë¸Æ¤Ó½Ð¤·¤Þ¤¹¡£
¤³¤Î¤È¤­¡¢£±²ó¤À¤±¤Ç¤Ï¤Ê¤¯¡¢°ÜÆ°¤Ë±þ¤¸¤Æ·Ñ³Ū¤Ë JudgeRandomEncount ¥á¥½¥Ã¥É¸Æ¤Ó½Ð¤¹¤¿¤á¡¢
¥×¥ì¥¤¥ä¡¼¤¬°ÜÆ°¤¹¤ë¤¿¤Ó¤Ë¡¢¥¨¥ó¥«¥¦¥ó¥È¤¬È¯À¸¤·¤¿¤«¤É¤¦¤«¤òȽÄꤹ¤ëÀ߷פˤʤäƤ¤¤Þ¤¹¡£


PlayerController.cs

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


¡¡¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¤¿¤é¥»¡¼¥Ö¤ò¤·¤Þ¤¹¡£
¹ç¤ï¤»¤Æ¡¢EncountManager ¥¹¥¯¥ê¥×¥È¤Î¥¨¥é¡¼¤â²ò¾Ã¤µ¤ì¤Þ¤¹¡£


£¶¡¥EncountManager ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òºîÀ®¤·¡¢EncountManager ¥¹¥¯¥ê¥×¥È¤ò¥¢¥¿¥Ã¥Á¤¹¤ë


¡¡¤¹¤Ù¤Æ¤Î¥¹¥¯¥ê¥×¥È¤Î¥¨¥é¡¼¤¬²ò¾Ã¤µ¤ì¤¿¤Î¤Ç¡¢¥¹¥¯¥ê¥×¥È¤ò¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á½ÐÍè¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
¤³¤ì¤Ï¡¢¥¢¥¿¥Ã¥Á¤·¤¿¤¤¥¹¥¯¥ê¥×¥È¼«ÂΤ˥¨¥é¡¼¤¬¤Ê¤¤¤È¤·¤Æ¤â¡¢¤¤¤º¤ì¤«¤Î¥¹¥¯¥ê¥×¥È¤Ç¥¨¥é¡¼¤¬¤¢¤ë¾ì¹ç¤Ë¤Ï¥¢¥¿¥Ã¥Á¤Ç¤­¤Ê¤¤¾õÂ֤Ǥ¹¤Î¤ÇÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£



¡¡EncountManager ¥¹¥¯¥ê¥×¥È¤ò¥¢¥¿¥Ã¥Á¤¹¤ë¤¿¤á¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òºîÀ®¤·¤Þ¤¹¡£

¡¡¥Ò¥¨¥é¥ë¥­¡¼¤Î¶õ¤¤¤Æ¤¤¤ë¾ì½ê¤Ç±¦¥¯¥ê¥Ã¥¯¤ò¤·¤Æ¥á¥Ë¥å¡¼¤ò³«¤­¡¢Create Empty ¤òÁªÂò¤·¤Þ¤¹¡£
¿·¤·¤¤¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤¬ºîÀ®¤µ¤ì¤Þ¤¹¤Î¤Ç¡¢Ì¾Á°¤ò EncountManager ¤ËÊѹ¹¤·¤Æ¤¯¤À¤µ¤¤¡£

¡¡¤½¤Î¸å¡¢EncountManager ¥¹¥¯¥ê¥×¥È¤ò EncountManager ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤·¤Æ¥¢¥¿¥Ã¥Á¤·¤Æ¤¯¤À¤µ¤¤¡£


¥Ò¥¨¥é¥ë¥­¡¼²èÁü



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



¡¡°Ê¾å¤Ç¤³¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ÎÀßÄê¤Ï´°Î»¤Ç¤¹¡£


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


¡¡½èÍý¤ò¼ÂÁõ¤·¤Þ¤·¤¿¤Î¤Ç¡¢¥Ç¥Ð¥Ã¥°¤ò¹Ô¤¤¤Þ¤¹¡£
¥Ç¥Ð¥Ã¥°¤ò¹Ô¤¦ºÝ¤Ë¤Ï¡¢½èÍý¤Îή¤ì¤òÇÄ°®¤·¡¢¤É¤ÎÉôʬ¤¬Àµ¾ï¤ËÀ©¸æ¤µ¤ì¤Æ¤¤¤ì¤Ð¤è¤¤¤«¤òǧ¼±¤·¤Æ¤«¤é»Ï¤á¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
¥²¡¼¥à²èÌ̤ǤΤ߳Îǧ¤ò¹Ô¤¦¤³¤È¤Ï´í¸±¤Ç¤¹¡£É¬¤º¡¢ÆâÉôŪ¤Ê½èÍý¤Ë¤âÌܤò¶Å¤é¤·¤Æ¤¯¤À¤µ¤¤¡£

¡¡¤³¤ì¤Ï¥¨¥é¡¼¤¬¤¢¤Ã¤¿¾ì¹ç¤Ë¸¶°ø¤òÆÃÄꤹ¤ëºÝ¤ËÌò¤ËΩ¤Æ¤ë¤¿¤á¤Ç¤¹¡£
ɽÌÌŪ¤Ê¥²¡¼¥à¤ÎÆ°¤­¤Ï¤¹¤Ù¤ÆÆâÉôŪ¤Ê½èÍý¤Ë¤è¤Ã¤ÆÀ©¸æ¤µ¤ì¤Æ¤¤¤ë¤³¤È¤òÍý²ò¤·¤Æ¤¤¤¯¤³¤È¤¬¤Ç¤­¤ì¤Ð¡¢
¼«¤º¤È¥¨¥é¡¼¤ò¤ß¤Ä¤±¤ë¤³¤È¤â½ÐÍè¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ÆâÉô¤ÎÍý²ò¤¬Æñ¤·¤¤¤È¥¨¥é¡¼¤ò¸«¤Ä¤±¤ë¤³¤È¤âº¤Æñ¤Ë¤Ê¤ê¤Þ¤¹¡£

¡¡¥Ç¥Ð¥Ã¥°¤ò¹Ô¤¦ºÝ¤Ë¤ÏÆäˡ¢¥²¡¼¥à¤¬Æ°¤¤¤Æ¤¤¤ë¤«¤éÂç¾æÉס¢¤È¤¤¤¦¹Í¤¨Êý¤Ïʧ¿¡¤·¤Æ¤¯¤À¤µ¤¤¡£



¡¡º£²ó³Îǧ¤¹¤ë¤Ù¤­ÅÀ¤Ï£²¤«½ê¤¢¤ê¤Þ¤¹¡£

¡¡¤Þ¤º¤Ï¥×¥ì¥¤¥ä¡¼¤¬°ÜÆ°¤·¤Æ¤¤¤ëÃæ¤Ç¡¢¥é¥ó¥À¥à¥¨¥ó¥«¥¦¥ó¥È¤¬È¯À¸¤¹¤ë¤«¤É¤¦¤«¤Ç¤¹¡£
¤³¤Î½èÍý¤Ï¡¢ PlayerController ¥¯¥é¥¹Æâ¤Î Move ¥á¥½¥Ã¥ÉÆâ¤ËÄɲä·¤¿½èÍý¤È¡¢
¤½¤ÎÃæ¤Ç¸Æ¤Ó½Ð¤µ¤ì¤ë EncountManager ¥¯¥é¥¹¤Î JudgeRandomEncount ¥á¥½¥Ã¥É¤È¤¬Ï¢Æ°¤·¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
Ϣư¤·¤Æ¤¤¤ì¤Ð¤Á¤ã¤ó¤È½èÍý¤¬¼Â¹Ô¤µ¤ì¤Æ¡¢°ÜÆ°¤·¤Æ¤¤¤ë¤¦¤Á¤Ëɬ¤º¤É¤³¤«¤Î¥¿¥¤¥ß¥ó¥°¤Ç¥¨¥ó¥«¥¦¥ó¥È¤¬È¯À¸¤·¤Þ¤¹¡£

¡¡¥¨¥ó¥«¥¦¥ó¥È¤¬È¯À¸¤¹¤ë¤ÈConsole ¥Ó¥å¡¼¤Ë "¥¨¥ó¥«¥¦¥ó¥È : 0 " ¤Èɽ¼¨¤µ¤ì¤Þ¤¹¡£
¤Þ¤¿¤³¤Î¤È¤­¤Ë¤Ï GameData ¥¯¥é¥¹¤Î¾ðÊó¤â¹ç¤ï¤»¤Æ³Îǧ¤ò¹Ô¤¤¤Þ¤¹¡£

¡¡JudgeRandomEncount ¥á¥½¥Ã¥ÉÆâ¤Ç GameData ¥¯¥é¥¹¤Î isEncount ÊÑ¿ô¤ò true ¤ËÀÚ¤êÂؤ¨¤Æ¡¢¥¨¥ó¥«¥¦¥ó¥ÈȯÀ¸¾õÂÖ¤òºî¤ê½Ð¤·¤Æ¤¤¤Þ¤¹¡£
¤³¤Î¾ðÊó¤Ï¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤è¤ê³Îǧ¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¤Î¤Ç¡¢¥¨¥ó¥«¥¦¥ó¥ÈȯÀ¸¤·¤¿¾ì¹ç¤Ë¤Ï¡¢GameData ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤è¤ê
GameData ¥¯¥é¥¹¤Î isEncount ÊÑ¿ô¤Ë¥Á¥§¥Ã¥¯¤¬Æþ¤Ã¤Æ true ¤Î¾õÂ֤ˤʤäƤ¤¤ë¤«¤É¤¦¤«¤ò³Îǧ¤ò¤·¤Æ¤¯¤À¤µ¤¤¡£

¡¡¤É¤Á¤é¤âÌäÂ꤬¤Ê¤±¤ì¤Ð¤½¤Î¤Þ¤Þ°ÜÆ°¤·¤Æ¤¯¤À¤µ¤¤¡£
¤³¤Î isEncount ÊÑ¿ô¤¬ true ¤Î´Ö¤Ï¥¨¥ó¥«¥¦¥ó¥È¤¬È¯À¸¤·¤Ê¤¤¾õÂ֤ˤʤäƤ¤¤ë¤Ï¤º¤Ç¤¹¤Î¤Ç¡¢
¤¤¤¯¤éÊ⤤¤Æ¤â Console ¥Ó¥å¡¼¤Ë¤Ï ¥¨¥ó¥«¥¦¥ó¥È¤Îɽ¼¨¤¬½Ð¤Ê¤¤¤³¤È¤ò³Îǧ¤·¤Þ¤¹¡£



¡¡£²¤ÄÌÜ¤Ë GameData ¥¯¥é¥¹¤Î isDebug ÊÑ¿ô¤¬ true ¤Ç¤¢¤ë¾ì¹ç¤Ë¤Ï¡¢isEncount ÊÑ¿ô¤ò false ¤Î¾õÂÖ¤ËÀÚ¤êÂؤ¨¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
»ØÄꤵ¤ì¤Æ¤¤¤ë¥­¡¼¥Ü¡¼¥É¤Î¥­¡¼¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£Console ¥Ó¥å¡¼¤Ë "¥¨¥ó¥«¥¦¥ó¥È½ªÎ»" ¤Èɽ¼¨¤µ¤ì¤ì¤Ð¥Ç¥Ð¥Ã¥°µ¡Ç½¤âÀµ¾ï¤ËÆ°ºî¤·¤Æ¤¤¤Þ¤¹¡£

¡¡ºÆÅÙ°ÜÆ°¤¹¤ë¤È¡¢¤Þ¤¿¥¨¥ó¥«¥¦¥ó¥È¤¬È¯À¸¤¹¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢¤½¤Á¤é¤â³Îǧ¤ò¤·¤Æ¤¯¤À¤µ¤¤¡£
¤³¤Î¥Ç¥Ð¥Ã¥°¤ò·«¤êÊÖ¤¹¤³¤È¤Ç¡¢¤É¤Î°Ì¤ÎÉÑÅ٤ǥ¨¥ó¥«¥¦¥ó¥È¤¬È¯À¸¤¹¤ë¤Î¤«¤âÂδ¶¤Ç¤­¤ë¤¿¤á¡¢Ç¤°Õ¤Ê¾õÂÖ¤ËÄ´À°¤·¤Æ¤¤¤¯¤³¤È¤¬½ÐÍè¤Þ¤¹¡£

¡¡¤³¤ì¤¬º£²ó¥Ç¥Ð¥Ã¥°¤ò¹Ô¤Ã¤Æ³Îǧ¤ò¤¹¤ë¤Ù¤­½èÍý¤Îή¤ì¤Ë¤Ê¤ê¤Þ¤¹¡£


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


¡¡Æ°²è¤Î¤è¤¦¤Ë GameData ¤Î¾ðÊó¤ò¥¤¥ó¥¹¥Ú¥¯¥¿¡¼°Ê³°¤Ëɽ¼¨¤¹¤ë¤Ë¤Ï¡¢¥Ò¥¨¥é¥ë¥­¡¼¤ÎÃæ¤Ë¤¢¤ë¡¢¾ðÊó¤òɽ¼¨¤·¤¿¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¾å¤Ç±¦¥¯¥ê¥Ã¥¯¤ò¤·¤Æ¥á¥Ë¥å¡¼¤ò³«¤­¡¢
°ìÈÖ²¼¤Ë¤¢¤ë Properties... ¤òÁªÂò¤·¤Æ¤¯¤À¤µ¤¤¡£ÁªÂò¤·¤¿¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¾ðÊ󤬥ݥåץ¢¥Ã¥×ɽ¼¨¤µ¤ì¤Þ¤¹¤Î¤Ç¸«¤ä¤¹¤¤°ÌÃ֤˰ÜÆ°¤·¤Æ¤¯¤À¤µ¤¤¡£


£²£¶¡¥Battle ¥·¡¼¥ó¤òºîÀ®¤·¡¢¥é¥ó¥À¥à¥¨¥ó¥«¥¦¥ó¥È»þ¤Ë¡¢Main ¥·¡¼¥ó¤«¤é Battle ¥·¡¼¥ó¤Ø¤ÈÁ«°Ü¤¹¤ë½èÍý¤ò¼ÂÁõ¤¹¤ë

£±¡¥Àß·×


¡¡Debug ¤Ë¤è¤Ã¤Æ¡¢Ìµ»ö¤Ë¥¨¥ó¥«¥¦¥ó¥È½èÍý¤¬È¯À¸¤·¤Æ¤¤¤ë¤³¤È¤¬¤ï¤«¤ê¤Þ¤·¤¿¡£
¤³¤Î¼ê½ç¤Ç¤Ï Battle ¥·¡¼¥ó¤òºîÀ®¤·¤Æ¡¢Debug ¤ÎÉôʬ¤ò¥·¡¼¥óÁ«°Ü¤¹¤ë½èÍý¤Ø¤ÈÊѹ¹¤·¤Æ¤¤¤­¤Þ¤¹¡£

¡¡¥·¡¼¥ó¤ÎÁ«°Ü¤Ë¤Ä¤¤¤Æ¤Ï¡¢¥¹¥¯¥ê¥×¥ÈÆâ¤Î using Àë¸À¤Ë UnityEngine.SceneManagement ¤È¤¤¤¦Àë¸À¤òÄɲ乤뤳¤È¤Ç¼ÂÁõ½ÐÍè¤Þ¤¹¡£

¡¡Î㤨¤Ð¡¢Ê£¿ô¤Î¥¹¥¯¥ê¥×¥È¤Ë using ¤ÎÀë¸À¤òºîÀ®¤·¤Æ¡¢¤½¤³¤«¤é¥·¡¼¥ó¤ÎÁ«°Ü¤ò¼Â¹Ô¤·¤Æ¤â¤è¤¤¤Ç¤¹¤¬¡¢
¤³¤¦¤¤¤Ã¤¿À߷פξì¹ç¡¢¤É¤Î¥¹¥¯¥ê¥×¥È¤«¤é¥·¡¼¥ó¤ÎÁ«°Ü¤ò¼Â¹Ô¤·¤Æ¤¤¤ë¤Î¤«¤ï¤«¤ê¤Ë¤¯¤¯¡¢´ÉÍý¤â¤·¤Ë¤¯¤¤¾õÂ֤ˤʤê¤Þ¤¹¡£
¤Þ¤¿¡¢³Æ¥¹¥¯¥ê¥×¥ÈÆâ¤Ë¤½¤ÎÅÔÅÙ using ¤ÎÀë¸À¤âɬÍפˤʤê¤Þ¤¹¤Î¤ÇÈѤ路¤µ¤âÁý¤¨¤Æ¤·¤Þ¤¤¤Þ¤¹¡£

¡¡º£²ó¤Ïº£¸å¥·¡¼¥ó¤Î¿ô¤¬Áý¤¨¤ë¤³¤È¤âÁÛÄꤷ¤Æ¡¢¥·¡¼¥ó¤ÎÁ«°ÜÀìÍѤΥ¯¥é¥¹¤òºîÀ®¤·¤Æ¡¢¤½¤Î¥¯¥é¥¹Æâ¤Ç¤¹¤Ù¤Æ¤Î¥·¡¼¥ó¤ÎÁ«°Ü¤Î½èÍý¤ò´ÉÍý¤¹¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£
¤³¤Î¥¹¥¯¥ê¥×¥È¤â¥·¥ó¥°¥ë¥È¥ó¥Ç¥¶¥¤¥ó¥Ñ¥¿¡¼¥ó¤ÇºîÀ®¤·¤Æ¤ª¤¯¤³¤È¤Ë¤è¤Ã¤Æ¡¢¤¹¤Ù¤Æ¤Î¥¹¥¯¥ê¥×¥È¤«¤éÊÑ¿ô¤ÎÂåÆþ¤Ê¤¯Ì¿Î᤬½Ð¤»¤ë¤è¤¦¤Ë½ÐÍè¤Þ¤¹¤Î¤ÇÍøÊØÀ­¤¬Èó¾ï¤Ë¤è¤¯¤Ê¤ê¤Þ¤¹¡£
¤Þ¤¿¡¢DontDestroyOnLoad ¥á¥½¥Ã¥É¤â°ì½ï¤ËÀë¸À¤·¤Æ¤ª¤¯¤³¤È¤Ë¤è¤ê¡¢¥·¡¼¥ó¤ÎÁ«°Ü¤·¤Æ¤âÇ˲õ¤µ¤ì¤Ê¤¤¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë½ÐÍè¤Þ¤¹¤Î¤Ç
¾ï¤Ë¥²¡¼¥à¤Î¥·¡¼¥óÆâ¤Ë£±¤Ä¤À¤±Â¸ºß¤·¡¢¤¤¤Ä¤Ç¤â¤É¤Î¥¹¥¯¥ê¥×¥È¤«¤é¤Ç¤â¥·¡¼¥óÁ«°Ü¤ÎÌ¿Îá¤ò¼Â¹Ô¤¹¤ë¤³¤È¤¬¤Ç¤­¤ëÀß·×¹½Â¤¤Ç¼ÂÁõ¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£


£²¡¥SceneStateManager ¥¹¥¯¥ê¥×¥È¤òºîÀ®¤¹¤ë


¡¡Àß·×ÆâÍƤÎÉü½¬¤Ë¤Ê¤ê¤Þ¤¹¡£

¡¡¥·¡¼¥óÁ«°Ü¤Î½èÍý¤Ë¤Ï using ¤ÎÀë¸À¤¬É¬Íפˤʤê¤Þ¤¹¡£
³Æ¥¹¥¯¥ê¥×¥È¤Ç¥Ð¥é¥Ð¥é¤Ë¥·¡¼¥óÁ«°Ü¤Î½èÍý¤ò½ñ¤¯¤Î¤Ç¤Ï¡¢using ¤ÎÀë¸À¤â¤½¤ÎÅÔÅÙɬÍפʤê¤Þ¤¹¤·¡¢
²¿¤è¤ê¤â¡¢¤É¤Î¥¹¥¯¥ê¥×¥È¤Ç¥·¡¼¥óÁ«°Ü¤ò¹Ô¤Ã¤Æ¤¤¤ë¤Î¤«¤òÇÄ°®¤·¤Ë¤¯¤¯¤Ê¤ê¡¢´ÉÍý¤¬ÈÑ»¨¤Ë¤Ê¤ê¤Þ¤¹¡£

¡¡¤³¤¦¤¤¤Ã¤¿½èÍý¤Ï´ÉÍýÍѤΥ¯¥é¥¹¤ò£±¤ÄºîÀ®¤·¡¢¤½¤ì¤Ë¤¹¤Ù¤Æ½èÍý¤òÀ©¸æ¤µ¤»¤ëÀ߷פò¹Í¤¨¤Þ¤·¤ç¤¦¡£

¡¡º£²ó¤Î¥±¡¼¥¹¤Ç¤¢¤ì¤Ð¡¢¥·¡¼¥óÁ«°Ü¤Ë¤Ä¤¤¤Æ¤Ï¤¹¤Ù¤Æ¤òôÅö¤¹¤ë¥Þ¥Í¡¼¥¸¥ã¡¼¥¯¥é¥¹¤È¤¤¤¦°ÌÃ֤Ť±¤Ç¤¹¡£

¡¡¤Þ¤¿¤³¤¦¤¤¤Ã¤¿Ê£¿ô¤Î¥¹¥¯¥ê¥×¥È¤«¤é½èÍý¤¬Ì¿Îᤵ¤ì¤ë²ÄǽÀ­¤Î¤¢¤ë¥¯¥é¥¹¤Ï¡¢
°ÊÁ°¤Ë³Ø½¬¤·¤¿¥·¥ó¥°¥ë¥È¥ó¥Ç¥¶¥¤¥ó¥Ñ¥¿¡¼¥ó¤òÍøÍѤ·¤¿¥¯¥é¥¹¤È¤·¤ÆºîÀ®¤·¤Æ¤ª¤¯¤È¤è¤¤¤Ç¤¹¡£

¡¡¥·¡¼¥óÁ«°Ü¤ÎÌ¿Îá¤ò¼Â¹Ô¤¹¤ë¤Ë¤¢¤¿¤ê¡¢ÊÑ¿ô¤Ø¤ÎÂåÆþ½èÍý¤¬ÉÔÍפˤʤê¤Þ¤¹¤Î¤Ç¡¢
¤É¤Î¥¹¥¯¥ê¥×¥È¤«¤é¤Ç¤âÌ¿Îá¤ò£±¹Ôµ­½Ò¤¹¤ë¤À¤±¤Ç¡¢¥·¡¼¥óÁ«°Ü¤Î½èÍý¤ò¼Â¹Ô¤Ç¤­¤ëÀ߷פ¬¼ÂÁõ½ÐÍè¤Þ¤¹¡£



¡¡¥·¡¼¥óÁ«°Ü¤Ë¤Ï SceneManager.LoadScene ¥á¥½¥Ã¥É¤òÍøÍѤ·¤Æ¤¤¤Þ¤¹¡£
¤³¤Î¥á¥½¥Ã¥É¤Ç¤Ï°ú¿ô¤È¤·¤Æʸ»úÎó¤Ç¥·¡¼¥ó¤Î̾Á°¤òµá¤á¤é¤ì¤Þ¤¹¤¬¡¢¤³¤ì¤Ï»öÁ°¤Ë string ·¿¤ÎÊÑ¿ô¤Ëʸ»úÎó¤òÂåÆþ¤·¤Æ¤ª¤¤¤¿¤ê¡¢
enum ¤òºîÀ®¤·¤Æ¥·¡¼¥ó¤Î̾Á°¤òÎóµó»Ò¤È¤·¤ÆÅÐÏ¿¤·¤Æ¤ª¤¯¤³¤È¤Ë¤è¤Ã¤Æ¡¢Ê¸»úÎó¤ÎÂǤÁ´Ö°ã¤¨¤òËɤ°¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
¤Þ¤¿¡¢enum ¤Ï ToString ¥á¥½¥Ã¥É¤òÍøÍѤ¹¤ë¤³¤È¤Ç¡¢Îóµó»Ò¤òƱ̾¤Îʸ»úÎó¤Ø¤È¥­¥ã¥¹¥È(·¿¤ÎÊÑ´¹½èÍý)²Äǽ¤Ç¤¹¡£

¡¡º£²ó¤Ï enum ¤Ç¼ÂÁõ¤ò¹Ô¤Ã¤Æ¤¤¤Þ¤¹¤Î¤Ç»²¹Í¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£enum ¤ÏÎóµó»Ò¤ËÅÐÏ¿¤·¤¿¾ðÊó¤Î¤ß¤òÂоݤȤ·¤Þ¤¹¤Î¤Ç¡¢
¥·¡¼¥óÁ«°Ü¤ò¹Ô¤¤¤¿¤¤¥·¡¼¥ó¤Î̾Á°¤Î¤ß¤òÅÐÏ¿¤·¤Æ¤ª¤±¤Ð¡¢Â¸ºß¤·¤Ê¤¤¥·¡¼¥ó¤Ø¤ÎÁ«°Ü¤âËɤ°¤³¤È¤¬¤Ç¤­¡¢¼Â¹ÔÌ¿Îá¤òµ­½Ò¤¹¤ëºÝ¤Ë¤â¸«¤ä¤¹¤¯¡¢Èó¾ï¤ËÊØÍø¤Ç¤¹¡£

¡¡¤Ä¤Þ¤ê¤³¤ì¤Ï¡¢Ê£¿ô¤Î¥á¥½¥Ã¥É¤òºîÀ®¤·¤Æ¡¢¤³¤ì¤Ï Main ¥·¡¼¥óÍѤΥ᥽¥Ã¥É¡¢¤³¤ì¤Ï Battle ¥·¡¼¥óÍѤΥ᥽¥Ã¥É¤È¤¤¤¦É÷¤Ë¥á¥½¥Ã¥Éñ°Ì¤Çʬ¤±¤ë¤Î¤Ç¤Ï¤Ê¤¯¡¢
£±¤Ä¤Î¥á¥½¥Ã¥É¤òºîÀ®¤·¤Æ¡¢°ú¿ô¤ÎÃͤˤè¤Ã¤ÆÁ«°Ü¤¹¤ë¥·¡¼¥ó¤òʬ´ô¤µ¤»¤ë¤È¤¤¤¦À߷פˤʤäƤ¤¤Þ¤¹¡£


SceneStateManager.cs

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


¡¡¥¹¥¯¥ê¥×¥È¤òºîÀ®¤·¤¿¤é¥»¡¼¥Ö¤ò¹Ô¤¤¤Þ¤¹¡£


£³¡¥SceneStateManager ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òºîÀ®¤·¡¢SceneStateManager ¥¹¥¯¥ê¥×¥È¤ò¥¢¥¿¥Ã¥Á¤¹¤ë


¡¡SceneStateManager ¥¹¥¯¥ê¥×¥È¤ò¥¢¥¿¥Ã¥Á¤¹¤ë¤¿¤á¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òºîÀ®¤·¤Þ¤¹¡£

¡¡¥Ò¥¨¥é¥ë¥­¡¼¤Î¶õ¤¤¤Æ¤¤¤ë¾ì½ê¤Ç±¦¥¯¥ê¥Ã¥¯¤ò¤·¤Æ¥á¥Ë¥å¡¼¤ò³«¤­¡¢Create Empty ¤òÁªÂò¤·¤Þ¤¹¡£
¿·¤·¤¤¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤¬ºîÀ®¤µ¤ì¤Þ¤¹¤Î¤Ç¡¢Ì¾Á°¤ò SceneStateManager ¤ËÊѹ¹¤·¤Æ¤¯¤À¤µ¤¤¡£

¡¡¤½¤Î¸å¡¢SceneStateManager ¥¹¥¯¥ê¥×¥È¤ò SceneStateManager ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤·¤Æ¥¢¥¿¥Ã¥Á¤·¤Æ¤¯¤À¤µ¤¤¡£


¥Ò¥¨¥é¥ë¥­¡¼²èÁü



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



¡¡°Ê¾å¤Ç¤³¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ÎÀßÄê¤Ï´°Î»¤Ç¤¹¡£


£´¡¥Battle ¥·¡¼¥ó¤ÎºîÀ®¤ò¹Ô¤¦


¡¡¿·¤·¤¤¥·¡¼¥ó¤ò£±¤ÄºîÀ®¤·¤Þ¤¹¡£

¡¡Scenes ¥Õ¥©¥ë¥ÀÆâ¤Ç±¦¥¯¥ê¥Ã¥¯¤ò¤·¤Æ¥á¥Ë¥å¡¼¤ò³«¤­¡¢Create => Scene ¤òÁªÂò¤·¤Æ¤¯¤À¤µ¤¤¡£
¿·¤·¤¤¥·¡¼¥ó¤¬ºîÀ®¤µ¤ì¤Þ¤¹¤Î¤Ç¡¢Ì¾Á°¤ò Battle ¤ËÊѹ¹¤·¤Þ¤¹¡£

¡¡Main ¥·¡¼¥ó¤ò Ctrl + S ¥­¡¼¤ò²¡¤·¤Æ¥»¡¼¥Ö¤·¤Æ¤¯¤À¤µ¤¤¡£
¤½¤Î¸å¡¢Scenes ¥Õ¥©¥ë¥ÀÆâ¤Î Battle ¥·¡¼¥ó¤Î¥¢¥¤¥³¥ó¤ò¥À¥Ö¥ë¥¯¥ê¥Ã¥¯¤·¤Æ¡¢ÊÔ½¸¤¹¤ë¥·¡¼¥ó¤ò Main ¥·¡¼¥ó¤«¤é Battle ¥·¡¼¥ó¤ËÀÚ¤êÂؤ¨¤Æ¤¯¤À¤µ¤¤¡£


£µ¡¥Build Settings ¤Ë¥·¡¼¥ó¤òÀßÄꤹ¤ë


¡¡ºîÀ®¤·¤¿¥·¡¼¥ó¤Ï Build Settings ¤ÎÀßÄê¤ò¹Ô¤ï¤Ê¤¤¤È¥·¡¼¥ó¤ÎÁ«°Ü¤¬¼Â¹Ô¤Ç¤­¤Þ¤»¤ó¡£

¡¡Unity Editor ¤Îº¸¤Ë¤¢¤ë¥á¥Ë¥å¡¼¤è¤ê¡¢File => Build Settings ¤òÁªÂò¤·¤Þ¤¹¡£
Build Settings ¥¦¥¤¥ó¥É¥¦¤¬³«¤­¤Þ¤¹¤Î¤Ç¡¢¾åÃʤΠScenes In Build Æâ¤Ë¥·¡¼¥óÁ«°Ü¤·¤¿¤¤¥·¡¼¥ó¤òÅÐÏ¿¤·¤Þ¤¹¡£
Scenes ¥Õ¥©¥ë¥À¤Ë¤¢¤ë¥·¡¼¥ó¤ò½çÈ֤˥ɥé¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤·¤ÆÅÐÏ¿¤·¤Æ¤¯¤À¤µ¤¤¡£

¡¡¥²¡¼¥à¤ò¼Â¹Ô¤¹¤ë¤È°ìÈÖ¾å¤Î¥·¡¼¥ó¤«¤é³«»Ï¤µ¤ì¤Þ¤¹¤Î¤Ç¡¢ÅÐÏ¿¤¹¤ë½çÈ֤ˤÏÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
ÅÐÏ¿½ç¤ò´Ö°ã¤¨¤¿¾ì¹ç¤Ë¤Ï¡¢Scenes In Build Æâ¤Ë¤¢¤ë°ÜÆ°¤·¤¿¤¤¥·¡¼¥ó¤ò¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤¹¤ë¤³¤È¤Ç½çÈÖ¤òÆþ¤ìÂؤ¨¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£


Build Settings ¥¦¥¤¥ó¥É¥¦¡¡²èÁü


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



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


¡¡TODO µ¡Ç½¤ò³èÍѤ·¡¢¥·¡¼¥óÁ«°Ü¤Î½èÍý¤ò¼ÂÁõ¤·¤Æ¤¤¤­¤Þ¤¹¡£
SceneStateManager ¥¯¥é¥¹¤â¥·¥ó¥°¥ë¥È¥ó¥¯¥é¥¹¤Ç¤¹¤Î¤Ç¡¢ÊÑ¿ô¤ËÂåÆþ¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£
SceneType ¤Î¾ðÊó¤Ï¡¢SceneStateManager ¥¯¥é¥¹Æâ¤Ë¤¢¤ë enum ¤Ç¤¹¤Î¤Ç¡¢ºÇ½é¤Ë SceneStateManager ¤Èµ­½Ò¤¹¤ë¤³¤È¤ÇÍøÍѤǤ­¤Þ¤¹¡£
Î㤨¤Ð¡¢SceneType ¤ËÅÐÏ¿¤·¤Æ¤¢¤ë Battle ¤È¤¤¤¦Îóµó»Ò¤ò»ØÄꤹ¤ë¾ì¹ç¤Ë¤Ï¡¢SceneStateManager.SceneType.Battle ¤Èµ­½Ò¤·¤Æ»ØÄꤷ¤Þ¤¹¡£


EncountManager.cs

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


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


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


¡¡¥²¡¼¥à¤ò¼Â¹Ô¤·¤Æ¥×¥ì¥¤¥ä¡¼¥­¥ã¥é¤ò°ÜÆ°¤µ¤»¤Æ¤¯¤À¤µ¤¤¡£
¥¨¥ó¥«¥¦¥ó¥È¤ÈƱ»þ¤Ë Battle ¥·¡¼¥ó¤Ø¤ÈÁ«°Ü¤¹¤ì¤Ð¡¢À©¸æÀ®¸ù¤Ç¤¹¡£


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


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

¡¡¼¡¤Ï¡¡¼ê½ç£±£¶¡¡¡¼¥é¥ó¥À¥à¥¨¥ó¥«¥¦¥ó¥È¸å¤Î¥·¡¼¥óÁ«°Ü¤Î¼ÂÁõ¡¼¡¡¤Ç¤¹¡£

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


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

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

Menu



´ðÁÃ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

private



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

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