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

¡¡¥·¡¼¥óÁ«°Ü¤Î½èÍý¤Ë¤Ä¤¤¤Æ¡¢¿·¤·¤¤¼ÂÁõÊýË¡¤ò³Ø½¬¤·¤Þ¤¹¡£
¥·¡¼¥óÁ«°Ü¤Î½èÍýÀìÍѤΥ¯¥é¥¹¤òºîÀ®¤·¡¢¤³¤Î¥¯¥é¥¹¤òÍøÍѤ¹¤ë¤³¤È¤Ç¡¢¥·¡¼¥óÁ«°Ü¤Î½èÍý¤ò°ì¸µ²½¤·¤Æ´ÉÍý¤¹¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£

¡¡¤³¤Îµ¡Ç½¤Ï¤¹¤Ù¤Æ¤Î¥²¡¼¥à¤Ë¤ª¤¤¤Æ³èÍѲÄǽ¤ÊÈÆÍÑŪ¤Êµ¡Ç½¤Ë¤Ê¤ê¤Þ¤¹¡£



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

¡¡¡¦enum ¤Î¤ß¤Î¥¹¥¯¥ê¥×¥È
¡¡¡¦¥·¥ó¥°¥ë¥È¥ó¥Ç¥¶¥¤¥ó¥Ñ¥¿¡¼¥ó¤Ë¤è¤ë¥¯¥é¥¹¤ÎºîÀ®



£±¡¥Àß·×


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

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

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

¡¡¥·¡¼¥óÁ«°Ü¤Î½èÍý¤Ï³Æ¥·¡¼¥ó¤Ë¤ª¤¤¤ÆɬÍפˤʤë½èÍý¤Ç¤¢¤ë¤¿¤á¡¢¤É¤Î¥¯¥é¥¹¤«¤é¤Ç¤â¥¢¥¯¥»¥¹¤·¤ä¤¹¤¯¡¢¤¤¤Ä¤Ç¤â¥·¡¼¥ó¤Ë¸ºß¤·¤Æ¤¤¤ë¥¯¥é¥¹¤Ç¤¢¤ë¤³¤È¤¬Ë¾¤Þ¤·¤¤¤Ç¤¹¡£
¤½¤¦¤¤¤Ã¤¿´ÑÅÀ¤«¤é¡¢º£²ó¤Ï¡¢¥·¥ó¥°¥ë¥È¥ó¤Ë¤è¤ëÀ߷פȼÂÁõ¤ò¹Ô¤¤¤Þ¤¹¡£


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


¡¡¥²¡¼¥àÆâ¤ËÍøÍѤ¹¤ë¥·¡¼¥ó¤Î̾¾Î¤òÅÐÏ¿¤¹¤ë¤¿¤á¤Î enum ¤ò SceneType ¤È¤¤¤¦Ì¾Á°¤ÇºîÀ®¤·¡¢
¥·¡¼¥ó¤Î̾¾Î¤òÎóµó»Ò¤È¤·¤ÆÅÐÏ¿¤·¤Æ¤ª¤­¤Þ¤¹¡£¤³¤³¤Ë¤Ï¡¢¼ÂºÝ¤Ë¼«Ê¬¤¬ºî¤Ã¤¿¥·¡¼¥ó¤Î̾Á°¤ò¤¹¤Ù¤Æµ­½Ò¤·¤Æ¤ª¤­¤Þ¤¹¡£
¥·¡¼¥ó¤¬Áý¤¨¤¿¤é¡¢Ëº¤ì¤º¤Ë¤³¤³¤ËÄɲäò¤·¤Þ¤¹¡£

¡¡¤Ê¤ª¡¢Îóµó»Ò¤Ï°ì¸«¤¹¤ë¤Èʸ»úÎó¤Î¤è¤¦¤Ë¸«¤¨¤Þ¤¹¤¬¡¢·¿¤È¤·¤Æ¤Ï string ·¿¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
¤½¤Î¤¿¤á¡¢Îóµó»Ò¤Î¾ðÊó¤òʸ»úÎó¤È¤·¤ÆÍøÍѤ·¤¿¤¤¾ì¹ç¤Ë¤Ï¡¢string ·¿¤Ø¤Î¥­¥ã¥¹¥È(·¿ÊÑ´¹)¤¬É¬Íפˤʤê¤Þ¤¹¡£

¡¡enum ¤Î¤ß¤Î¥¹¥¯¥ê¥×¥È¤Ï¡¢MonoBehaviour ¥¯¥é¥¹¤Î·Ñ¾µ¤¬¤¢¤ê¤Þ¤»¤ó¤Î¤Ç¡¢¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë°Í¸¤·¤Þ¤»¤ó¡£¤Ä¤Þ¤ê¡¢¥¢¥¿¥Ã¥Á¤Ç¤­¤Þ¤»¤ó¡£
¤Ç¤¹¤¬¡¢¥¹¥¯¥ê¥×¥È¤òºîÀ®¤·¤¿Ãʳ¬¤Ç¡¢¤¹¤Ù¤Æ¤Î¥¹¥¯¥ê¥×¥ÈÆâ¤Ç¼«Í³¤ËÀë¸À¤·¤ÆÍøÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£


SceneType.cs

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


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


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


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

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

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

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

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

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



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

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

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


SceneStateManager.cs

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


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


£´¡¥¡ã¥·¥ó¥°¥ë¥È¥ó¥Ç¥¶¥¤¥ó¥Ñ¥¿¡¼¥ó¤Ë¤è¤ë¥¯¥é¥¹¤ÎºîÀ®¡ä


¡¡¥·¥ó¥°¥ë¥È¥ó¤È¤Ï¡¢¿ô¿¤¯¤¢¤ë¥Ç¥¶¥¤¥ó¥Ñ¥¿¡¼¥ó¤Î£±¤Ä¤Ç¤¹¡£
¤½¤Î¥¯¥é¥¹¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤¬É¬¤º£±¤Ä¤Ç¤¢¤ë¤³¤È¤òÊݾڤ¹¤ë¥Ç¥¶¥¤¥ó¥Ñ¥¿¡¼¥ó¤Î¤³¤È¤ò¸À¤¤¤Þ¤¹¡£

¡¡SceneStateManager ¥¯¥é¥¹¤Ç¤Ï¡¢¤³¤Î¥·¥ó¥°¥ë¥È¥ó¤òºÎÍѤ·¤Æ¤¤¤Þ¤¹¡£
¤Ä¤Þ¤ê¡¢¥²¡¼¥àÃæ¤òÄ̤¸¤Æ¡¢¤³¤Î SceneStateManager ¥¯¥é¥¹¤¬£±¤Ä¤·¤«Â¸ºß¤Ç¤­¤Ê¤¤¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
¼ÂÁõÎã¤ÏÊ£¿ô¤¢¤ê¤Þ¤¹¤¬¡¢°ìÈÖÆɤߤ䤹¤¤Êý¼°¤Çµ­½Ò¤·¤Æ¤¤¤Þ¤¹¡£



¡ã¥·¥ó¥°¥ë¥È¥ó¥Ç¥¶¥¤¥ó¥Ñ¥¿¡¼¥ó¤Î¥¯¥é¥¹¤ÎºîÀ®ÊýË¡¡ä
    public static SceneStateManager instance;¡¡¡¡// ¥¯¥é¥¹Ì¾¤ÈƱ̾¤Î·¿¤ò static ¤ÇÀë¸À¤¹¤ë

    private void Awake() {
        if (instance == null) {
            instance = this;
            DontDestroyOnLoad(gameObject);
        } else {
            Destroy(gameObject);
        }
    }



¡¡¥Ý¥¤¥ó¥È¤Ï¡¢¼«Ê¬¼«¿È¤Î SceneStateManager ·¿¤ò static ½¤¾þ»ÒÉÕ¤­¤Î instance ÊÑ¿ô¤È¤·¤ÆÀë¸À¤·¤Æ¤¤¤ë¤³¤È¤Ç¤¹¡£
¤³¤Î instance ÊÑ¿ô¤¬ SceneStateManager ¥¯¥é¥¹¼«¿È¤¬ÂåÆþ¤µ¤ì¤¿¾ðÊó¤È¤·¤ÆÍøÍѤ¹¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£

¡¡Awake ¥á¥½¥Ã¥É¤òÍøÍѤ·¤Æ¡¢instance ÊÑ¿ô¤¬ null (¶õ¤Ã¤Ý) ¤Ç¤¢¤ë¾ì¹ç¤Ë¤Ï¡¢SceneStateManager ¥¯¥é¥¹(this)¤òÂåÆþ¤·¤Þ¤¹¡£
¼¡¤Î DontDestroyOnLoad ¥á¥½¥Ã¥É¤Ï Unity ¤¬ÍÑ°Õ¤·¤Æ¤¤¤ë¥á¥½¥Ã¥É¤Ç¡¢°ú¿ô¤Ë»ØÄꤵ¤ì¤¿¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ï¥·¡¼¥óÁ«°Ü¤ò¤·¤Æ¤âÇ˲õ¤µ¤ì¤Æ¤Ê¤¤¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤Ê¤ê¤Þ¤¹¡£
¤³¤Î DontDestroyOnLoad ¥á¥½¥Ã¥É¤Ï¥·¥ó¥°¥ë¥È¥ó¥Ç¥¶¥¤¥ó¥Ñ¥¿¡¼¥ó¤Ë¤¹¤ëºÝ¤Ë°ì½ï¤ËÍѤ¤¤é¤ì¤ë¤³¤È¤¬Â¿¤¤¤Ç¤¹¡£(¤³¤Î DontDestroyOnLoad ¥á¥½¥Ã¥Éµ¡Ç½¼«ÂΤϡ¢¥·¥ó¥°¥ë¥È¥ó¤Ë¤Ï´Ø·¸¤¢¤ê¤Þ¤»¤ó¡£)

¡¡¤½¤·¤Æ instance ÊÑ¿ô¤¬ null ¤Ç¤Ï¤Ê¤¤¾ì¹ç¡¢¤Ä¤Þ¤ê¡¢£²¤ÄÌܰʹߤÎÊ£¿ô¤Î SceneStateManager ¥¯¥é¥¹¤¬Â¸ºß¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢¤½¤Î SceneStateManager ¥¯¥é¥¹¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò Destroy ¤·¤Þ¤¹¡£
¤³¤Î¼ê½ç¤Ë¤è¤ê¡¢SceneStateManager ¥¯¥é¥¹¤¬¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤¬¾ï¤Ë¥Ò¥¨¥é¥ë¥­¡¼¾å¤Ë£±¤Ä¤·¤«Â¸ºß¤·¤Ê¤¤¾õÂÖ¤òºî¤ê½Ð¤·¤Æ¤¤¤Þ¤¹¡£

¡¡¤³¤Î¥·¥ó¥°¥ë¥È¥ó¤Ë¤è¤Ã¤Æ¥¤¥ó¥¹¥¿¥ó¥¹¤¬£±¤Ä¤«À¸À®¤µ¤ì¤Ê¤¤¤³¤È¤¬Êݾڤµ¤ì¤Þ¤¹¤Î¤Ç¡¢
µÕÀâŪ¤Ë¹Í¤¨¤ë¤È¡¢¤³¤Î SceneStateManager ¥¯¥é¥¹¤Ø¤Î»²¾È¤Ï¡¢¤¤¤º¤ì¤Î¥¯¥é¥¹¤«¤é¤Ç¤¢¤Ã¤Æ¤âÊÑ¿ô¤ò²ð¤µ¤º¤Ë»²¾È¤ò¹Ô¤¨¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£



¡¡Î㤨¤Ð¡¢NonPlayerCharacter ¤È¤¤¤¦¥¯¥é¥¹¤¬¤¢¤ê¡¢¤½¤Î NonPlayerCharacter ¥¯¥é¥¹¤ò»ý¤Ä¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤¬£µ¤Ä¤¢¤Ã¤¿¾ì¹ç¡¢
¡Ö¤É¤Î¡×NonPlayerCharacter ¥¯¥é¥¹¤Ç¤¢¤ë¤«¤ò³ÎÄê¤Ç¤­¤Ê¤¤¤È¡¢ÂоݤȤʤë NonPlayerCharacter ¥¯¥é¥¹¤Ø¤Ï»²¾È¤Ç¤­¤Þ¤»¤ó¡£
¤½¤Î¤¿¤á¡¢NonPlayerCharacter ·¿¤ÎÊÑ¿ô¤òÍÑ°Õ¤·¤Æ¡¢¤½¤ÎÊÑ¿ô¤Ø»²¾È¤·¤¿¤¤ NonPlayerCharacter ¥¯¥é¥¹¤òÂåÆþ¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢
¤Ï¤¸¤á¤Æ NonPlayerCharacter ¥¯¥é¥¹¤Î¾ðÊó¤ò°·¤¦¤³¤È¤¬¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤ì¤¬¾ðÊó¤ò°·¤¦ºÝ¤Î´ðËÜŪ¤Ê½èÍý¤Ë¤Ê¤ê¤Þ¤¹¡£

¡¡¤Ç¤¹¤¬¥·¥ó¥°¥ë¥È¥ó¤Ç¤¢¤ë SceneStateManager ¥¯¥é¥¹¤Î¾ì¹ç¤Ë¤Ï¡¢¤³¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤Ï¾ï¤Ë£±¤Ä¤·¤«¤Ê¤¤¤³¤È¤¬Êݾڤµ¤ì¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢
¡Ö¤É¤Î¡×¤È¤¤¤¦»ØÄê¤ÎÉôʬ¤¬ÉÔÍפˤʤê¤Þ¤¹¡£¤è¤Ã¤Æ¥¯¥é¥¹¤ÎÆÃÄ꤬¤Ç¤­¤Æ¤¤¤ë¤¿¤á¡¢ÊÑ¿ô¤Ø¤ÎÂåÆþ¤¬ÉÔÍפˤʤê¤Þ¤¹¡£
SceneStateManager ¤È¤¤¤¦»ØÄê¤Ï¤¹¤Ê¤ï¤Á¡¢¼«Æ°Åª¤Ë¤¿¤À£±¤Ä¤Î SceneStateManager ¥¯¥é¥¹¤Î»²¾È¤¬¹Ô¤ï¤ì¤ë¤³¤È¤Ë¤Ê¤ë¤¿¤á¤Ç¤¹¡£

¡¡¤³¤Îµ¡Ç½¤òÍøÍѤ·¤Æ SceneStateManager ¥¯¥é¥¹¤òºîÀ®¤·¤Æ¤ª¤¯¤³¤È¤Ç¡¢¤É¤Î¥¯¥é¥¹¤«¤é¤Ç¤â»²¾È¤·¤ä¤¹¤¤À߷פˤ·¤Æ¤ª¤­¤Þ¤¹¡£


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


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

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

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


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



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


£¶¡¥¥·¡¼¥óÁ«°Ü¤Î½èÍý¤ò¼ÂÁõ¤¹¤ë


¡¡SceneStateManager ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë SceneStateManager ¥¹¥¯¥ê¥×¥È¤ò¥¢¥¿¥Ã¥Á¤·¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢
¤¤¤º¤ì¤Î¥¹¥¯¥ê¥×¥È¤«¤é¤Ç¤â¡¢»öÁ°¤ËÊÑ¿ô¤Ø¤ÎÂåÆþ¤ä¡¢GetComponent ¥á¥½¥Ã¥É¤ò¹Ô¤¦É¬Íפʤ¯¡¢¥·¡¼¥óÁ«°Ü¤Î½èÍý¤ò¼ÂÁõ½ÐÍè¤Þ¤¹¡£

¡¡¼ÂÁõ¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢°Ê²¼¤ÎÌ¿Îáʸ¤òµ­½Ò¤·¤Þ¤¹¡£


¡ãMain ¥·¡¼¥ó¤ØÁ«°Ü¤¹¤ë¾ì¹ç¡ä
¡¡SceneStateManager.instance.PreparateNextScene(SceneType.Main);

¡¡°ú¿ô¤ËÀßÄꤷ¤¿ SceneType ¤ÎÎóµó»Ò¤Î¥·¡¼¥ó¤Ø¤ÈÁ«°Ü¤¹¤ëÌ¿Îá¤Ë¤Ê¤ê¤Þ¤¹¡£
¤³¤³¤Ç¤Ï¡¢SceneType.Main ¤ò°ú¿ô¤Ë¤·¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢Main ¥·¡¼¥ó¤Ø¤ÎÁ«°Ü¤ò¹Ô¤¦Ì¿Îá¤Ë¤Ê¤ê¤Þ¤¹¡£

¡¡¤³¤Î°ú¿ô¤ÎÉôʬ¤òÊѹ¹¤¹¤ë¤³¤È¤Ç¡¢£±¤Ä¤Î¥á¥½¥Ã¥É¤ò°Û¤Ê¤ë¥·¡¼¥ó¤Ø¤ÎÁ«°ÜÍѤ˻Ȥ¤Ê¬¤±¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£

¡¡¤¹¤Ç¤Ë Main ¥·¡¼¥ó¤Ë¤â Debug.Log ¥á¥½¥Ã¥É¤òÍøÍѤ·¤Æ¡¢¥²¡¼¥à¥¯¥ê¥¢¤ä¡¢¥·¡¼¥óÁ«°Ü¤¹¤ë¾ì½ê¤òÍÑ°Õ¤·¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢
¤½¤Á¤é½èÍý¤ò¡¢¤³¤Î SceneStateManager ¤Î PreparateNextScene ¥á¥½¥Ã¥É¤ò»È¤Ã¤Æ¥·¡¼¥óÁ«°Ü¤¹¤ë½èÍý¤Ø¤ÈÊѹ¹¤¹¤ë¤è¤¦¤Ë¡¢¼ÂÁõ¤ËÄ©À路¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£


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


¡¡¥¹¥Æ¡¼¥¸¥·¡¼¥ó¤«¤é¥á¥¤¥ó¥·¡¼¥ó¡¢¤½¤·¤Æ¥á¥¤¥ó¥·¡¼¥ó¤«¤é¥¹¥Æ¡¼¥¸¥·¡¼¥ó¤Ø¤ÎÁ«°Ü¤¬¹Ô¤ï¤ì¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤«¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£

¡¡SceneStateManager ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ï¥·¥ó¥°¥ë¥È¥ó¥¯¥é¥¹¤Ç¤¹¡£¤½¤Î¤¿¤á¡¢Ê£¿ô¤Î¥·¡¼¥ó¤ËÇÛÃÖ¤µ¤ì¤Æ¤¤¤¿¤È¤·¤Æ¤â¡¢É¬¤º£±¤Ä¤À¤±¤Ë¤Ê¤ë¤è¤¦¤ËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£
¥Ç¥Ð¥Ã¥°¤Î¤³¤È¤ò¹Í¤¨¤ë¤Ê¤é¤Ð¡¢¤³¤Î SceneStateManager ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò¥×¥ì¥Õ¥¡¥Ö¤Ë¤·¡¢³Æ¥·¡¼¥ó¤ËÇÛÃÖ¤·¤Æ¤ª¤¯¤³¤È¤ò¤ª´«¤á¤·¤Þ¤¹¡£

¡¡¤¤¤º¤ì¤Î¥·¡¼¥ó¤«¤é¤Ç¤â¥·¡¼¥óÁ«°Ü¤Î½èÍý¤ò³Îǧ¤Ç¤­¤Þ¤¹¤·¡¢¥·¡¼¥óÁ«°Ü¤ò¹Ô¤Ã¤¿Àè¤Î¥·¡¼¥ó¤Ë SceneStateManager ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤¬Â¸ºß¤·¤Æ¤¤¤¿¤È¤·¤Æ¤â¡¢
¤½¤Á¤é¤Ï¼«Æ°Åª¤ËÇ˲õ¤µ¤ì¤Æ¾ï¤Ë£±¤Ä¤À¤±¤¬Â¸ºß¤¹¤ë¤è¤¦¤Ë¤Ê¤ë¤¿¤á¡¢ÉÔ¶ñ¹ç¤òȯÀ¸¤µ¤ì¤ë¶²¤ì¤â¤Ê¤¤¤¿¤á¤Ç¤¹¡£

¡¡¤Ê¤ë¤Ù¤¯¸úΨ¤Î¤è¤¤¥Ç¥Ð¥Ã¥°¤ÎÊýË¡¤ò¹Í¤¨¤Æ¼ÂÁ©¤·¤Æ¤¤¤¯¤È¤¤¤¤¤Ç¤·¤ç¤¦¡£


£¸¡¥¡ã±þÍÑ¡ä


¡¡¥·¥ó¥°¥ë¥È¥ó¤Ë¤è¤ë¥¯¥é¥¹¤Ï¾¤Î¥¯¥é¥¹¤Ë¤âÀ߷פ·¤ÆÍøÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£

¡¡¡¦¥²¡¼¥à¥·¡¼¥ó¤Ç¼èÆÀ¤·¤¿¾ðÊó¤òÊ̤Υ·¡¼¥ó¤Ç¤âÍøÍѤ·¤¿¤¤
¡¡¡¦°Û¤Ê¤ë¥¯¥é¥¹¤«¤é¾ðÊó¤ò¶¦Í­¤·¤Æ»²¾È¤·¤¿¤¤(SceneStateManager ¤ÈƱ¤¸»È¤¤Êý)

¡¡¥¹¥Æ¡¼¥¸ÁªÂò¥·¡¼¥ó¤Ç¥­¥ã¥é¤ò°ì¿ÍÁªÂò¤¹¤ë¡¢¤È¤¤¤¦ÁÛÄê¤Ç¥·¡¼¥óÁ«°Ü¸å¤Ë¥²¡¼¥à¤¬³«»Ï¤µ¤ì¤ë¾ì¹ç¡¢
ÁªÂò¤·¤¿¥­¥ã¥é¤Î¾ðÊó¤òÂåÆþ¤·¤¿ÊÑ¿ô¤¬¤¢¤ë¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ï¥·¡¼¥óÁ«°Ü»þ¤ËÇË´þ¤µ¤ì¤Æ¤·¤Þ¤¤¤Þ¤¹¡£
¤½¤ÎºÝ¡¢¥·¥ó¥°¥ë¥È¥ó¡ÜDontDestroyOnLoad ¥á¥½¥Ã¥É¤Î¤¢¤ë¥¯¥é¥¹¤ËÁªÂò¤·¤¿¥­¥ã¥é¤Î¾ðÊó¤ò´ÉÍý¤µ¤»¤ë¤³¤È¤Ç
¥·¡¼¥óÁ«°Ü¤ò¹Ô¤Ã¤Æ¤â¾ðÊó¤ò¼º¤¦¤³¤È¤Ê¤¯¡¢¼¡¤Î¥·¡¼¥ó¤ÇÁªÂò¤·¤¿¥­¥ã¥é¤Î¾ðÊó¤òÍøÍѤǤ­¤Þ¤¹¡£

¡¡BGM ¤ä SE ¤ÎºÆÀ¸¡¢¥¨¥Õ¥§¥¯¥È¤ÎºÆÀ¸¤Ê¤É¤â¡¢¤½¤ì¤¾¤ì£±¤Ä¤Î´ÉÍý¥¯¥é¥¹¤òºîÀ®¤·¤Æ¡¢¤½¤Î¥¯¥é¥¹¤ò¥·¥ó¥°¥ë¥È¥ó¤Ë¤·¤Æ¤ª¤¯¤³¤È¤Ç¡¢
¾¤Î¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¤«¤é»²¾È¤¬¹Ô¤¤¤ä¤¹¤¯¤Ê¤ê¤Þ¤¹¡£
¡¡SoundMaanger ¥¯¥é¥¹¤òºî¤ê¡¢PlayBGM ¥á¥½¥Ã¥É¤òÍÑ°Õ¤·¤Æ¤ª¤¯¤³¤È¤Ç¡¢¤³¤Î¥á¥½¥Ã¥É¤ò¤¤¤º¤ì¤Î¥¯¥é¥¹¤«¤é¤Ç¤â¸Æ¤Ó½Ð¤¹¤³¤È¤¬½ÐÍè¤ì¤Ð¡¢
SoundMaanger ¥¯¥é¥¹¤òÊÑ¿ô¤Ø¤ÎÂåÆþ½èÍý¤ò¹Ô¤ï¤Ê¤¯¤Æ¤â¡¢£±¹Ô¤ÎÌ¿Îáʸ¤Ç BGM ¤òÊѤ¨¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
¡¡SE ¤âƱÍͤǤ¹¡£Å¨¤ä¥×¥ì¥¤¥ä¡¼¤Î¥¯¥é¥¹¤Ë SE ¤òÀßÄꤹ¤ë¤Î¤Ç¤Ï¤Ê¤¯¡¢SoundMaanger ¥¯¥é¥¹¤«¤é SE ºÆÀ¸ÍѤΥ᥽¥Ã¥É¤ò¼Â¹Ô¤·¤Æ
ŬÀÚ¤Ê SE ¤òºÆÀ¸¤·¤Æ¤â¤é¤¦¡¢¤È¤¤¤¦½èÍý¤¬¼Â¸½¤Ç¤­¤Þ¤¹¡£


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

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


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

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

Menu



´ðÁÃ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

private



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

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