ºÇ½ª¹¹¿·¡§
orika_ex_miyako 2020ǯ10·î11Æü(Æü) 17:09:48ÍúÎò
¡¡¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤ËÅÐÏ¿¤¹¤ë¾ðÊó¤Ë¤Ï¡¢³Æ¥¨¥ê¥¢¤Î¥Ç¡¼¥¿¤È¤·¤Æ AreaData ¥¯¥é¥¹¤òList¤È¤·¤Æ´ÉÍý¤·¤Æ¤¤¤Þ¤¹¡£
¤½¤Î¤¿¤á¡¢¥¹¥Æ¡¼¥¸¤´¤È¤Ë¥¨¥ê¥¢¤Î¿ô¤ò²ÄÊѲ½¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£¤Þ¤¿¡¢AreaData ¥¯¥é¥¹¤Ë¤Ï½Ð¸½¤¹¤ëŨ¤Î¾ðÊó¤òÅÐÏ¿¤¹¤ë¤³¤È¤¬¤Ç¤¤ë¤è¤¦¤ÊÀ߷פˤʤäƤ¤¤Þ¤¹¡£
¡¡¤³¤Î¾ðÊó¤òÍøÍѤ·¤Æ¡¢³Æ¥¨¥ê¥¢¤Ë½Ð¸½¤¹¤ëŨ¤Î¼ïÎà¤È¿ô¤ò¼«Æ°Åª¤ËÀ¸À®¤¹¤ë»ÅÁȤߤò½çÈ֤˺î¤ê¤Þ¤¹¡£
¡¡¤³¤Î¼ê½ç¤Ç¤Ï¤Þ¤º¡¢Å¨¤Î¼«Æ°À¸À®¤ò·«¤êÊÖ¤¹¥µ¥¤¥¯¥ë¤ò¼ÂÁõ¤·¤Þ¤¹¡£
¡¡£±¡¥Å¨´ÉÍýÍѤÎEnemy¥¯¥é¥¹¤òºîÀ®¤¹¤ë ¡¡£²¡¥EnemyÍÑ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ËEnemy¥¯¥é¥¹¤ò¥¢¥¿¥Ã¥Á¤·¡¢¥×¥ì¥Õ¥¡¥Ö²½¤¹¤ë¡£¥Ç¥Ð¥Ã¥°¤ò¹Ô¤¦ ¡¡£³¡¥Enemy¥¯¥é¥¹¤ò½¤Àµ¤¹¤ë ¡¡£´¡¥GameManager¥¯¥é¥¹¤ò½¤Àµ¤¹¤ë ¡¡£µ¡¥¥²¡¼¥à¤ò¼Â¹Ô¤·¤ÆÆ°ºî¤ò³Îǧ¤¹¤ë
¡¡¡¦ifʸ¤Ë¤ª¤±¤ëbool·¿¤Î¾ÊάµË¡ ¡¡¡¦¾Êά²Äǽ¤Ê°ú¿ô¤ò»ý¤Ä¥á¥½¥Ã¥É¤òÄêµÁ¤¹¤ëÊýË¡¤È»ÈÍÑÊýË¡ ¡¡¡¦¥á¥½¥Ã¥É¤Î°ú¿ô¤òÍøÍѤ·¤Æ¥¢¥µ¥¤¥ó¾ðÊó¤ò¼èÆÀ¤¹¤ëÊýË¡ ¡¡¡¦»°¹à±é»»»Ò¤Ë¤è¤ë½èÍý ¡¡¡¦GameObject·¿¤Ç¤Ï¤Ê¤¤¡¢¼«ºî¥¯¥é¥¹¤òÍѤ¤¤¿¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¤¥ó¥¹¥¿¥ó¥¹ÊýË¡
¡¡bool·¿¤Ç¤Ïifʸ¤Î¾ò·ï¼°¤Ë¾ÊάµË¡¤òÍѤ¤¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
ÊÑ¿ô̾¤ò¤½¤Î¤Þ¤Þ¾ò·ï¼°¤ËµºÜ¤·¤¿¾ì¹ç¤Ë¤Ï true ¤Ç¤¢¤ë³Îǧ¤òµá¤á¡¢ÈÝÄê±é»»»Ò(!)¤òÀèƬ¤Ë¤Ä¤±¤ÆÊÑ¿ô̾¤òµºÜ¤·¤¿¾ì¹ç¤Ë¤Ï false ¤Ç¤¢¤ë³Îǧ¤òµá¤á¤Þ¤¹¡£
¡¡if (isDebug) {¡¡ <= if (isDebug == true) ¤ÈƱ¤¸¤Ë¤Ê¤ê¤Þ¤¹ ¡¡¡¡StartCoroutine(DestroyEnemy(3.0f)); }
if (!isDebug) {¡¡ <= if (isDebug == false) ¤ÈƱ¤¸¤Ë¤Ê¤ê¤Þ¤¹ ¡¡¡¡StartCoroutine(DestroyEnemy(3.0f)); }
¡¡¾Êά²Äǽ¤Ê°ú¿ô¤È¤Ï¥Ç¥Õ¥©¥ë¥È°ú¿ô¤È¤â¸Æ¤Ð¤ì¤Þ¤¹¡£¥á¥½¥Ã¥É¤Ë°ú¿ô¤òÍÑ°Õ¤¹¤ëºÝ¤Ë¡¢¤¢¤é¤«¤¸¤á½é´üÃͤòÀßÄê¡Ê½é´ü²½¡Ë¤·¤Æ¤ª¤¯¤³¤È¤Ç
¤½¤Î°ú¿ô¤ò¾Êά¤·¤¿¾ì¹ç¤Ë¤Ï½é´üÃͤò»ÈÍѤ·¡¢¾Êά¤»¤º¤Ëµ½Ò¤·¤¿¾ì¹ç¤Ë¤Ï¤½¤ÎÃͤò»ÈÍѤ¹¤ë¡¢¤È¤¤¤¦ÄêµÁ¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
¡¡¤Ê¤ªº£²ó¤ÏÌá¤êÃͤΤ¢¤ë¥á¥½¥Ã¥É¤Ç»ÈÍѤ·¤Æ¤¤¤Þ¤¹¤¬¡¢Ìá¤êÃͤΤʤ¤ void ¤Î¥á¥½¥Ã¥É¤Ç¤âÍøÍѤǤ¤Þ¤¹¡£½¤¾þ»Ò¤âprivate,public¤Ê¤É¤Ë´Ø·¸¤Ê¤¯ÍøÍѤǤ¤Þ¤¹¡£
¡¡¡ãº£²ó¤Î¥±¡¼¥¹¤Î¾ì¹ç¤Î¥á¥½¥Ã¥É¤ÎÄêµÁ¡ä
private IEnumerator DestroyEnemy(float waitTime = 0.0f) {
¡¡Ä̾ï¤Î°ú¿ô¤È¤Ï°Û¤Ê¤ê¡¢·¿¡¢ÊÑ¿ô̾¤ÎÀë¸À¤Ë²Ã¤¨¤Æ¥¤¥³¡¼¥ë¤Ç½é´ü²½¤ò¹Ô¤Ã¤Æ¤¤¤Þ¤¹¡£
¤³¤ì¤¬¾Êά¤·¤¿°ú¿ô¤ÎÄêµÁ¤ÎÊýË¡¤Ë¤Ê¤ê¤Þ¤¹¡£¤Ê¤ª¡¢Ê£¿ô¤Î°ú¿ô¤ò»ý¤Ä¥á¥½¥Ã¥É¤Î¾ì¹ç¡¢¤³¤Î¾Êά½ñ¼°¤Ï¡¢¾Êά¤·¤Æ¤¤¤Ê¤¤°ú¿ô¤ÎÀë¸À¤¬½ª¤ï¤Ã¤Æ¤«¤é½ñ¤«¤Ê¤¤¤È¥¨¥é¡¼¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¡¡ãÊ£¿ô¤Î°ú¿ô¤ò»ý¤Ä¾ì¹ç¤Î¥á¥½¥Ã¥É¤Ç¤Î¾Êά°ú¿ô¤ÎÄêµÁ¡ä
¡¡£±¡¥¥¨¥é¡¼¤Ë¤Ê¤é¤Ê¤¤¾ì¹ç(¾Êά¤·¤Æ¤¤¤Ê¤¤°ú¿ô¤ò½ñ¤¤¤¿¸å¤Ë¾Êά°ú¿ô¤òÄêµÁ¤¹¤ë)
¡¡private IEnumerator DestroyEnemy(int x, GameObject obj, float waitTime = 0.0f) { ¡¡private IEnumerator DestroyEnemy(int x, GameObject obj, float waitTime = 0.0f, bool isSwitch = true) { // 2¤Ä°Ê¾å¤Î¾Êά¤â²Äǽ
¡¡£²¡¥¥¨¥é¡¼¤Ë¤Ê¤ë¾ì¹ç(¾Êά¤·¤Æ¤¤¤Ê¤¤°ú¿ô¤¬¾Êά°ú¿ô¤è¤ê¤â¸å¤í¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤ë)
private IEnumerator DestroyEnemy(int x, float waitTime = 0.0f, GameObject obj) {
¡¡¾Êά°ú¿ô¤ò»ý¤Ä¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤¹Ì¿Îá¤Ë¤Ï£²¤Ä¤ÎÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£
¾Êά°ú¿ô¤ò½ñ¤¤¤Æ(¾Êά¤»¤º¤Ë)¸Æ¤Ó½Ð¤¹ÊýË¡¤È¡¢¾Êά°ú¿ô¤ò½ñ¤«¤Ê¤¤¤Ç(¾Êά¤·¤Æ)¸Æ¤Ó½Ð¤¹ÊýË¡¤Ç¤¹¡£
float waitTime = 3.0f; ¡¡¡ã¾Êά°ú¿ô¤ò¾Êά¤·¤Ê¤¤¾ì¹ç¤ÎÌ¿Îá¡ä ¡¡DestroyEnemy(waitTime); ¡¡¡ã¾Êά°ú¿ô¤ò¾Êά¤¹¤ë¾ì¹ç¤ÎÌ¿Îá¡ä ¡¡DestroyEnemy();
¡¡¾åµ¤Î¾ì¹ç¤Ë¤Ï¡¢3.0f ¤¬°ú¿ô¤È¤·¤ÆÅϤµ¤ì¤Þ¤¹¡£
¡¡²¼µ¤Î¾ì¹ç¤Ë¤Ï°ú¿ô¤¬¾Êά¤µ¤ì¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢¾Êά°ú¿ô¤Ç½é´ü²½¤·¤ÆÀë¸À¤·¤Æ¤¤¤ë 0.0f ¤¬°ú¿ô¤È¤·¤ÆÅϤµ¤ì¤Þ¤¹¡£
¡¡¾Êά°ú¿ô¤ÎÃͤòÍøÍѤ¹¤ë¤³¤È¤¬¤Û¤È¤ó¤É¤Ç¡¢¤¿¤Þ¤Ë°ú¿ô¤ò»ØÄꤷ¤ÆÅϤ¹¤è¤¦¤Ê¥á¥½¥Ã¥É¤Î¾ì¹ç¤Ë¤Ï¡¢
°ú¿ô¤ÎÃͤ¬É¬Íפʾì¹ç¤Ë¤À¤±¥á¥½¥Ã¥É¤Î°ú¿ô¤òµ½Ò¤¹¤ì¤Ð¤è¤¤¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¤Î¤Ç¡¢¤½¤ÎÅÔÅÙ¡¢°ú¿ô¤ò½ñ¤¯¼ê´Ö¤¬¾Ê¤±¤Þ¤¹¡£
¡¡EnemyÍѤΥ²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¡¢ºîÀ®¤·¤¿Enemy¥¯¥é¥¹¤ò¥¢¥¿¥Ã¥Á¤·¤Þ¤¹¡£
¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤ò³Îǧ¤·¡¢isDebugÊÑ¿ô¤Î¥¹¥¤¥Ã¥Á¤Ë¥Á¥§¥Ã¥¯¤òÆþ¤ì¤Æ true ¤Ë¤·¤Þ¤¹¡£
¤³¤ì¤Ç¥Ç¥Ð¥Ã¥°¥â¡¼¥É¤Ë¤Ê¤ê¡¢À¸À®¤µ¤ì¤¿Å¨¤Ï3Éøå¤Ë¼«Æ°Åª¤ËÇË´þ¤µ¤ì¤Þ¤¹¡£
EnemyÍÑ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü

¡¡¥²¡¼¥à¤òµ¯Æ°¤·¡¢¼ÂºÝ¤Ë3Éøå¤ËŨ¤¬¥²¡¼¥à¤«¤éÇË´þ¤µ¤ì¤ë¤«¤ò¥Ç¥Ð¥Ã¥°¤·¤Æ³Îǧ¤·¤Þ¤¹¡£
¸¡¾ÚÆ°²è
https://gyazo.com/3f9c09142c908d750ac95e5bbaa683f3
¡¡µóÆ°¤ËÌäÂ꤬¤Ê¤±¤ì¤Ð¡¢¤³¤ÎEnemyÍÑ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò¥×¥ì¥Õ¥¡¥Ö²½¤·¤Æ¤ª¤¤Þ¤¹¡£
¥×¥ì¥Õ¥¡¥Ö¤Ë¤·¤¿¤é¥Ò¥¨¥é¥ë¥¡¼¾å¤«¤é¤Ïºï½ü¤·¤Æ¤¯¤À¤µ¤¤¡£
¡¡Â¾¤Î¥¯¥é¥¹¤Î¾ðÊó¤ò¥¯¥é¥¹Æâ¤ÇÍøÍѤ·¤¿¤¤¾ì¹ç¡¢¤½¤Îɳ¤Å¤±¤ÎÊýË¡¤Ë¤Ï¤¤¤¯¤Ä¤«¤Î¼êÃʤ¬¤¢¤ê¤Þ¤¹¡£
privateÊÑ¿ôÆâ¤ËÂåÆþ¤·¤¿¤¤¤Î¤Ç¤¢¤ì¤Ð¡¢É³¤Å¤±¤·¤¿¤¤¥¯¥é¥¹¤¬¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òõ¤·¤Æ(Find¥á¥½¥Ã¥É¤òÍøÍѤ·¤Æ)¡¢¤½¤ì¤«¤éGetComponent¤¹¤ëÊýË¡¡¢
publicÊÑ¿ô¤Ç¤¢¤ì¤Ð¡¢¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤«¤é¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤·¤Æ»öÁ°¤Ë¥¢¥µ¥¤¥ó¤·¤Æ¤ª¤¯ÊýË¡¤Ê¤É¤Ç¤¹¡£
¡¡º£²óEnemy¥¯¥é¥¹¤Ç¤Ï¡¢GameManager¥¯¥é¥¹¤Î¾ðÊó¤òÂåÆþ¤¹¤ë¤¿¤á¤ÎÊÑ¿ô¤òprivate¤ÇÍÑ°Õ¤·¤Æ¤¤¤Þ¤¹¡£
¤³¤¦¤¤¤Ã¤¿¾ì¹ç¤Ë¤Ï¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤Ë¤è¤ë»öÁ°¤Î¥¢¥µ¥¤¥ó¤¬¤Ç¤¤Þ¤»¤ó¤¬¡¢Find¥á¥½¥Ã¥É¤òÍøÍѤ»¤º¤Ë¥¢¥µ¥¤¥ó¤ò¼èÆÀ¤¹¤ëÊýË¡¤Î£±¤Ä¤È¤·¤Æ¡¢
¥á¥½¥Ã¥É¤Î°ú¿ô¤ÎÃͤËGameManager¥¯¥é¥¹¤òÆϤ±¤Æ¤â¤é¤¦ÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£
¡ã¸Æ¤Ð¤ì¤ë¥á¥½¥Ã¥É¡ä
private GameManager gameManager; //¡¡¥¢¥µ¥¤¥ó¾ðÊó public void SetUpEnemy(GameManager gameManager) { // <= °ú¿ô¤ÇGameManager¥¯¥é¥¹¤¬ÆϤ¤¤Æ¤¤¤ë this.gameManager = gameManager; // ¤½¤ì¤òÊÑ¿ô¤ËÂåÆþ¤¹¤ë }
¡ã¸Æ¤Ó½Ð¤¹Â¦¡ä
public class GameManager : MonoBehaviour ¡¡Enemy enemy; enemy.SetUpEnemy(this);¡¡¡¡¡¡¡¡¡¡// <= °ú¿ô¤È¤·¤Æthis(¤³¤Î¥±¡¼¥¹¤Ç¤ÏGameManager¼«¿È)¤òÅϤ·¤Æ¤¤¤ë
¡¡¤³¤Î¤è¤¦¤Ê¼êË¡¤òÍѤ¤¤ì¤Ð¡¢½èÍý¤Î½Å¤¤Find¥á¥½¥Ã¥É¤òÍøÍѤ¹¤ë¤³¤È¤Ê¤¯¡¢privateÊÑ¿ô¤Ë¥¢¥µ¥¤¥ó¾ðÊó¤òÂåÆþ¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£
¥¯¥é¥¹Æâ¤ÇÍøÍѤ·¤¿¤¤³°Éô¥¯¥é¥¹¤Î¾ðÊó¤Ï¡¢¤½¤ì¤ò¤É¤Î¤è¤¦¤Ë¼èÆÀ¤¹¤ë¤«¡¢¤È¤¤¤¦Éôʬ¤ÇÀ߷פò¸¡Æ¤¤¹¤ë¤³¤È¤Ç¡¢¤³¤Î¤è¤¦¤Ê¤ä¤ê¤È¤ê¤Ë¤è¤ëÃͤÎÂåÆþ¤¬¤Ç¤¤Þ¤¹¡£
¡¡
¡¡GameManager¥¯¥é¥¹¤ò½¤Àµ¤·¤Æ¡¢Àè¤Û¤É¥×¥ì¥Õ¥¡¥Ö¤Ë¤·¤¿EnemyÍÑ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò¥¹¥¯¥ê¥×¥È¤«¤é¼«Æ°À¸À®¤¹¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£
ºÇ½é¤ËAreaData¤Î¾ðÊó¤Ï»È¤ï¤º¤Ë¡¢»þ´Ö¤Î·Ð²á¤Ë¹ç¤ï¤»¤ÆϢ³¤ÇŨ¤¬¼«Æ°Åª¤ËÀ¸À®¤µ¤ì¤ë¤è¤¦¤Ë½èÍý¤ò¼ÂÁõ¤·¤Þ¤¹¡£
¡¡¤³¤Î¤È¤¡¢À¸À®¤·¤¿Å¨¤Î¿ô¤Ï¥«¥¦¥ó¥È¤¹¤ë¤è¤¦¤ËÊÑ¿ô¤òÍÑ°Õ¤·¤Æ¡¢Å¨¤¬²¿ÂÎÀ¸À®¤µ¤ì¤¿¤«¤ò³Îǧ½ÐÍè¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£
¤¿¤À¤·À¸À®¿ô¤Î¾å¸ÂÃͤϤޤÀÀߤ±¤º¤Ë¡¢¤Þ¤º¤Ï¡¢¤É¤ó¤É¤ó¤ÈÀ¸À®¤µ¤ì¤ë½èÍý¤Ë¤·¤Æ¤ª¤¤Þ¤¹¡£
¡¡¤Þ¤¿Å¨¤òÀ¸À®¤¹¤ëºÝ¤Î¥×¥ì¥Õ¥¡¥Ö¤Î·¿¤Ë¡¢GameObject·¿¤Ç¤Ï¤Ê¤¯¡¢Emeny·¿¤ò»ÈÍѤ·¤Æ¥¤¥ó¥¹¥¿¥ó¥¹¤ò¹Ô¤¤¤Þ¤¹¡£
GameManager.cs
¡¡»°¹à±é»»»Ò¤È¤¤¤¦½èÍý¤Ï¡¢if/elseʸ¤Îʬ´ô½èÍý¤ò1¹Ô¤Ç´Ê·é¤Ëµ½Ò¤Ç¤¤ë½ñ¼°¤Ç¤¹¡£
º£²ó¤Î»ÈÍÑÎã¤Ï¡¢¼¡¤Î¤è¤¦¤Ê¾ò·ï¤Îifʸ¤ò1¹Ô¤Ë¤Þ¤È¤á¤¿¤â¤Î¤Ç¤¹¡£
¡¡int direction = Random.Range(0, 2); ¡¡charaPos.x = direction == 0 ? charaPos.x += 2.5f : charaPos.x -= 2.5f;¡¡¢
int direction = Random.Range(0, 2); ¡¡¡¡// ¥×¥ì¥¤¥ä¡¼¤Îº¸±¦¤É¤Á¤é¦¤ËŨ¤òÀ¸À®¤¹¤ë¤«¥é¥ó¥À¥à¤Ç·è¤á¤ë(0 = ±¦Êý¸þ¡¢1 = º¸Êý¸þ) if(direction == 0) { charaPos.x += 2.5f } else { charaPos.x -= 2.5f }
¡¡»°¹à±é»»»Ò¤Ï¤½¤Î̾Á°¤ÎÄ̤ê¤Ç¡¢£³¤Ä¤Î¹àÌܤ¬¤¢¤ê¤Þ¤¹¡£
¡Ú¾ò·ïʸ¡Û ? ¡Útrue¤À¤Ã¤¿¾ì¹çÊÖ¤¹Ãͤä½èÍý¡Û : ¡Úfalse¤À¤Ã¤¿¾ì¹çÊÖ¤¹Ãͤä½èÍý¡Û
¡¡±¦ÊդǤϡ¢¤³¤Î¾ò·ï¼°¤Ètrue¤Èfalse¤Î£³¤Ä¤Î¹àÌܤòÍÑ°Õ¤·¤Æ¡¢¤½¤Î·ë²Ì¤Ë¹ç¤ï¤»¤Æº¸ÊÕ¤ØÃͤòÂåÆþ¤·¤Þ¤¹¡£
»²¹Íµ»ö
@crazy_travelerÍÍ
»²¹Í¤Ë¤Ê¤ë»°¹à±é»»»Ò
https://qiita.com/crazy_traveler/items/5fb5ec9568e...
¡¡¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò¥¹¥¯¥ê¥×¥È¤«¤éÀ¸À®¤¹¤ëºÝ¤Ë¤ÏGameObject·¿¤ÇÀë¸À¤·¤¿ÊÑ¿ô¤ËGameObject¤Ç¤¢¤ë¥×¥ì¥Õ¥¡¥Ö¤ò¥¢¥µ¥¤¥ó¤·¤ÆÍøÍѤ¹¤ë¤³¤È¤¬Â¿¤¤¤Ç¤¹¡£
¤³¤Î¤È¤¡¢¿Æ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¼«ºî¤·¤¿¥¯¥é¥¹(º£²ó¤ÏEnemy¥¯¥é¥¹)¤¬¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢GameObject·¿¤Ç¤Ï¤Ê¤¯¡¢¤½¤Î¥¯¥é¥¹¤òÀë¸À¤·¤Æ
Ʊ¤¸¤è¤¦¤Ë¥×¥ì¥Õ¥¡¥Ö¤ò¥¢¥µ¥¤¥ó¤·¤Æ¥¤¥ó¥¹¥¿¥ó¥¹¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
¡¡// ¤Þ¤À¥¨¥ê¥¢¤Î¥Ç¡¼¥¿¤Ï»È¤ï¤º¤ËŨ¤òÀ¸À®¡£À¸À®¤¹¤ëºÝ¤ËEnemy·¿¤Î¥×¥ì¥Õ¥¡¥Ö¤ò»ÈÍѤ¹¤ë¤Î¤Ç¡¢º¸ÊÕ¤ËÍÑ°Õ¤¹¤ëÊÑ¿ô¤Î·¿¤âEnemy·¿¤È¤·¤Æ¤¤¤ë Enemy enemy = Instantiate(enemyPrefab, generatePos, Quaternion.identity); ¡¡// Enemy·¿¤ÇÀ¸À®¤·¤ÆÊÑ¿ô¤ËÂåÆþ¤·¤Æ¤¤¤ë¤Î¤Ç¡¢¤¹¤°¤Ë¥á¥½¥Ã¥É¤Î¸Æ¤Ó½Ð¤·¤¬¤Ç¤¤ë ¡¡enemy.SetUpEnemy(this);
¡¡ÍøÅÀ¤Ï¥³¥á¥ó¥È¤Ë¤â¤¢¤ë¤è¤¦¤Ë¡¢GameObject·¿¤Ç¤Ï¤Ê¤¯¡¢Enemy¥¯¥é¥¹¤ÇÀ¸À®¤ò¤·¤Æ¤¤¤ë¤Î¤Ç¡¢¤½¤ÎÊÑ¿ô¤ò»È¤¦¤È¤¹¤°¤Ë¥á¥½¥Ã¥É¤Î¸Æ¤Ó½Ð¤·¤¬¤Ç¤¤Þ¤¹¡£
¤Ä¤Þ¤ê¡¢GameObject·¿¤ÇÀ¸À®¤·¤Æ¤¤¤¿ºÝ¤Ë¡¢¥á¥½¥Ã¥É¤Î¸Æ¤Ó½Ð¤·¤ËɬÍפˤʤäƤ¤¤¿¥¯¥é¥¹¼èÆÀ¤ò¤¹¤ëGetComponet¤Î½èÍý¤¬ÉÔÍפˤʤäƤ¤¤Þ¤¹¡£
¡¡// GameObject·¿¤ÇÀ¸À® ¡¡GameObject enemyObj = Instantiate(enemyPrefab, generatePos, Quaternion.identity); ¡¡// Enemy¥¯¥é¥¹¤Î¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤¹¤Ë¤Ï¡¢GameObject·¿¤Ç¤Ï¸Æ¤Ó½Ð¤»¤Ê¤¤¤Î¤Ç¡¢Enemy¥¯¥é¥¹¤ò¼èÆÀ¤¹¤ëɬÍפ¬¤¢¤ë ¡¡Emeny enemy = enemyObj.GetComponent<Enemy>() ¡¡// ¥á¥½¥Ã¥É¤Î¸Æ¤Ó½Ð¤· ¡¡enemy.SetUpEnemy(this);
¡¡GetComponent¥á¥½¥Ã¥É¤Î½èÍý¤Ï¤¢¤Þ¤ê·Ú¤¤½èÍý¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤Þ¤¿GameObject·¿¤ÎÊÑ¿ô¤âGetComponentÍѤˤ虜¤ï¤¶ÍÑ°Õ¤·¤Æ¤¤¤ëÊÑ¿ô¤Ç¤¹¡£
Ũ¤ò¤¿¤¯¤µ¤óÀ¸À®¤¹¤ë¤è¤¦¤Êº£²ó¤Î¾ì¹ç¤Ë¤Ï¡¢Å¨¤òÀ¸À®¤¹¤ëºÝ¤Ë¡¢¤³¤Î¤è¤¦¤Ë;ʬ¤ÊÊÑ¿ô¤äGetComponent¤ò¤·¤Ê¤¤¤ÇºÑ¤àÊýË¡¤ÇÀ߷פ·¡¢¼ÂÁõ¤·¤Æ¤ª¤¤¤¿Êý¤¬¤è¤¤¤Ç¤·¤ç¤¦¡£
¡¡GameManager¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òÁªÂò¤·¡¢¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤ò³Îǧ¤·¤Þ¤¹¡£
¥¢¥µ¥¤¥ó¾ðÊó¤¬Äɲ䵤ì¤Æ¤¤¤Þ¤¹¤¬¡¢EnemyPrefab°Ê³°¤Î¾ðÊó¤Ï¤¹¤Ù¤Æ¥²¡¼¥à¤Î¼Â¹Ô¤ÈƱ»þ¤ËÂåÆþ¤µ¤ì¤Þ¤¹¤Î¤Ç
ProjectÆâ¤Ë¤¢¤ëEnemyÍÑ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òEnemyPrefab¤Ë¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤·¤Æ¥¢¥µ¥¤¥ó¤·¤Þ¤¹¡£
¡¡Enemy¥¯¥é¥¹¤¬¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤¢¤ì¤Ð¡¢º£¤Þ¤Ç¤ÎGameObject·¿¤ÈƱ¤¸¤è¤¦¤Ë¥¢¥µ¥¤¥ó½ÐÍè¤Þ¤¹¡£
EnemyPrefabÊÑ¿ô¤Î¥¢¥µ¥¤¥ó¾ðÊó¤â¡¢None(GameObject)¤Ç¤Ï¤Ê¤¯¡¢None(Enemy)¤È¡¢·¿¤Î»ØÄ꤬¤¤¤Ä¤â¤È°Û¤Ê¤Ã¤Æ¤¤¤ë¤³¤È¤¬Ê¬¤«¤ê¤Þ¤¹¡£
GameManager¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü

¡¡
¡¡¥×¥ì¥Õ¥¡¥Ö¤Î¥¢¥µ¥¤¥ó¤¬½ªÎ»¤·¤¿¤é¥²¡¼¥à¤ò¼Â¹Ô¤·¤ÆÆ°ºî¤ò³Îǧ¤·¤Þ¤¹¡£
AppearTime¤ÎÃͤ¬¼«Æ°Åª¤Ë¥é¥ó¥À¥àÃͤ¬ÀßÄꤵ¤ì¤Æ¡¢GenerateTimer¤¬¥«¥¦¥ó¥È¥¢¥Ã¥×¤·¤Þ¤¹¡£
GenerateTimer¤ÎÃͤ¬AppearTime¤òĶ¤¨¤¿¤éŨ¤¬À¸À®¤µ¤ì¤Æ¡¢GenerateCount¤¬1¤ÄÁý¤¨¤Þ¤¹¡£
¡¡¤Þ¤¿¼¡¤ÎÀ¸À®¤Ë¸þ¤±¤ÆAppearTime¤Ë¿·¤·¤¤Ãͤ¬Æþ¤ê¡¢GenerateTimer¤â0¤ËÌᤵ¤ì¤Þ¤¹¡£
¤½¤·¤ÆºÆÅÙ¥«¥¦¥ó¥È¥¢¥Ã¥×¤ò¤·¤Æ¡¢¤È¤¤¤¦·Á¤Î¥µ¥¤¥¯¥ë¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¡¤³¤Î½èÍý¤¬¥²¡¼¥à¼Â¹ÔÃ椺¤Ã¤È·«¤êÊÖ¤µ¤ì¤ì¤ÐÀ®¸ù¤Ç¤¹¡£Å¬µ¹¤Ê¥¿¥¤¥ß¥ó¥°¤Ç¥²¡¼¥à¤ò»ß¤á¤Æ¤¯¤À¤µ¤¤¡£
¸¡¾ÚÆ°²è¡¡GenerateTimer¤¬¥«¥¦¥ó¥È¥¢¥Ã¥×¤·¡¢AppearTime¤òĶ¤¨¤¿¤éŨ¤¬À¸À®¤µ¤ì¤ë¡£GenerateCount¤¬ 1 Áý¤¨¤ë¡£
https://gyazo.com/1aeebc51b84311b13db69767a9c37520
¡¡°Ê¾å¤Ç¤³¤Î¼ê½ç¤Ï½ªÎ»¤Ç¤¹¡£
- ¥«¥Æ¥´¥ê¡§
- ¿Ê³Ø/¥¹¥¯¡¼¥ë
- ¥×¥í¥°¥é¥ß¥ó¥°
¥³¥á¥ó¥È¤ò¤«¤¯