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

¡¡¥¨¥Í¥ß¡¼¤Ë¹¶·âÊýË¡¤òÄɲä·¡¢°ìÄê¤Î´Ö³Ö¤Ç¥Ð¥ì¥Ã¥È¤òȯ¼Í¤·¤Æ¤¯¤ë¤è¤¦¤Ë½èÍý¤òÄɲä·¤Þ¤¹¡£


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


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

ȯŸ£±£²¡¡¡Ý¥¨¥Í¥ß¡¼ÍѤΥХì¥Ã¥È¤ÎºîÀ®¤È¼«Æ°À¸À®½èÍý¤Î¼ÂÁõ¡Ý
£²£³¡¥¥¨¥Í¥ß¡¼ÍѤΥХì¥Ã¥È¤òºîÀ®¤·¤Æ¥×¥ì¥Õ¥¡¥Ö¤Ë¤¹¤ë
£²£´¡¥¥¨¥Í¥ß¡¼¤Î¼ïÎà¤Ë±þ¤¸¤Æ¡¢¥Ð¥ì¥Ã¥È¤ò¼«Æ°À¸À®¤ò¹Ô¤¦½èÍý¤ò¼ÂÁõ¤¹¤ë



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

¡¡¡¦¥¨¥Í¥ß¡¼¤È¥×¥ì¥¤¥ä¡¼¤ÇƱ¤¸¥¹¥¯¥ê¥×¥È¤òÍøÍѤ¹¤ë
¡¡¡¦¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥É¤òÍøÍѤ·¤¿ while ʸ¤Î¼ÂÁõÎã



£²£³¡¥¥¨¥Í¥ß¡¼ÍѤΥХì¥Ã¥È¤òºîÀ®¤·¤Æ¥×¥ì¥Õ¥¡¥Ö¤Ë¤¹¤ë

£±¡¥Àß·×


¡¡¥¨¥Í¥ß¡¼¤Î°ÜÆ°¤Ë¤Ä¤¤¤Æ¤Ï°ìö½ªÎ»¤·¡¢¤³¤³¤Ç¤Ï¥¨¥Í¥ß¡¼¤«¤é¤Î¹¶·â¤ò¹Í¤¨¤Æ¼ÂÁõ¤·¤Þ¤¹¡£

¡¡¸½ºß¤ÏµòÅÀ¤Ë¿¯Æþ¤·¤Æ¤¯¤ë¤³¤È¤Ç¥¨¥Í¥ß¡¼¤Î¹¶·â¤òɽ¸½¤·¤Æ¤¤¤Þ¤¹¤¬¡¢¥Ü¥¹¤Î¾ì¹ç¡¢²¿¤â¹¶·âÊýË¡¤¬¤¢¤ê¤Þ¤»¤ó¡£
¤½¤Î¤¿¤á¡¢¥¨¥Í¥ß¡¼Â¦¤Ë¤â¥Ð¥ì¥Ã¥È¤òÍÑ°Õ¤·¡¢¥Ü¥¹¤È¡¢°ìÉô¤Î¥¨¥Í¥ß¡¼¤«¤é¤Ï¡¢¥Ð¥ì¥Ã¥È¤òȯ¼Í¤·¤Æ¹¶·â¤ò¹Ô¤Ã¤Æ¤¯¤ë¤è¤¦¤ËÀ߷פ·¤Þ¤¹¡£

¡¡¿·¤·¤¯ºîÀ®¤¹¤ë¥Ð¥ì¥Ã¥È¤Ç¤¹¤¬¡¢¤¹¤Ç¤Ë¥×¥ì¥Õ¥¡¥Ö¤È¤·¤ÆºîÀ®¤·¤Æ¤¢¤ë¥×¥ì¥¤¥ä¡¼¤Î¥Ð¥ì¥Ã¥È¤ò³èÍѤ·¤ÆºîÀ®¤·¤Æ¤¤¤¯¤è¤¦¤Ë¤·¤Þ¤¹¡£
¥×¥ì¥Õ¥¡¥Ö¤Ë¤Ê¤Ã¤Æ¤¤¤ë¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ï¥¢¥ó¥Ñ¥Ã¥¯¤È¤¤¤¦¼ê½ç¤ò¹Ô¤¦¤³¤È¤Ë¤è¤Ã¤Æ¡¢¥×¥ì¥Õ¥¡¥Ö¤Ç¤Ï¤Ê¤¤¡¢Ä̾ï¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¾õÂÖ¤ËÌ᤹¤³¤È¤¬²Äǽ¤Ç¤¹¡£

¡¡¤³¤Îµ¡Ç½¤òÍøÍѤ·¡¢¥×¥ì¥¤¥ä¡¼¤Î¥Ð¥ì¥Ã¥È¤ò¥¢¥ó¥Ñ¥Ã¥¯¤·¡¢¥¨¥Í¥ß¡¼ÍѤΥХì¥Ã¥È¤òºîÀ®¤·¡¢¤½¤ì¤ò¤Þ¤¿¿·¤·¤¤¥×¥ì¥Õ¥¡¥Ö¤Ë¤·¤Þ¤·¤ç¤¦¡£
¥¢¥ó¥Ñ¥Ã¥¯¤·¤Æ¤â¡¢¥×¥ì¥¤¥ä¡¼¤Î¥Ð¥ì¥Ã¥È¤Î¥×¥ì¥Õ¥¡¥Ö¤Ï¤½¤Î¤Þ¤Þ»Ä¤Ã¤Æ¤¤¤ë¤Î¤Ç¿´ÇÛ¤¢¤ê¤Þ¤»¤ó¡£


£²¡¥Canvas ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î»Ò¥ª¥Ö¥¸¥§¥¯¥È¤È¤·¤Æ¡¢Bullet ¥×¥ì¥Õ¥¡¥Ö¤òÀßÃÖ¤¹¤ë


¡¡Prefabs ¥Õ¥©¥ë¥À¤Ë¤¢¤ë Bullet ¥×¥ì¥Õ¥¡¥Ö¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò¡¢Canvas ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î»Ò¥ª¥Ö¥¸¥§¥¯¥È¤È¤·¤ÆÀßÃÖ¤·¤Þ¤¹¡£
ÂоݤΥץì¥Õ¥¡¥Ö¤ò Canvas ¤Î»Ò¥ª¥Ö¥¸¥§¥¯¥È¤È¤·¤Æ¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤·¤Æ¤¯¤À¤µ¤¤¡£


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



Scene¥Ó¥å¡¼²èÁü



¡¡Â³¤¤¤Æ¡¢¥×¥ì¥Õ¥¡¥Ö¤ò¥¢¥ó¥Ñ¥Ã¥¯¤·¡¢¿·¤·¤¯¥¨¥Í¥ß¡½ÍѤΥХì¥Ã¥È¤È¤·¤Æ¤ÎÀßÄê¤ò¹Ô¤Ã¤Æ¤¤¤­¤Þ¤·¤ç¤¦¡£


£³¡¥Bullet ¥×¥ì¥Õ¥¡¥Ö¤ò¥¢¥ó¥Ñ¥Ã¥¯¤·¤Æ¡¢Ì¾Á°¤ò EnemyBullet ¤ËÊѹ¹¤¹¤ë


¡¡Bullet ¥×¥ì¥Õ¥¡¥Ö¤Î¾å¤Ç±¦¥¯¥ê¥Ã¥¯¤ò¤·¤Æ¥á¥Ë¥å¡¼¤ò³«¤­¡¢Prefab => Unpack Completly ¤òÁªÂò¤·¤Æ¤¯¤À¤µ¤¤¡£
¤³¤ì¤Ç¥×¥ì¥Õ¥¡¥Ö¤Ç¤Ï¤Ê¤¯¤Ê¤ê¡¢Ä̾ï¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ËÌá¤ê¤Þ¤¹¡£
¡¡¥Ò¥¨¥é¥ë¥­¡¼¤Î Bullet ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¢¥¤¥³¥ó¤Î¿§¤È̾Á°¤¬ÀÄ¿§¤Ç¤Ï¤Ê¤¯¡¢Ä̾ï¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ÈƱ¤¸¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤³¤È¤ò³Îǧ¤·¤Þ¤¹¡£


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



¡¡Bullet ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î̾Á°¤ò EnemyBullet ¤ËÊѹ¹¤·¤Æ¤¯¤À¤µ¤¤¡£


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



¡¡ºÇ¸å¤ËÀßÄê¤ò¹Ô¤Ã¤Æ¡¢¥×¥ì¥Õ¥¡¥Ö²½¤·¤Þ¤¹¡£


£´¡¥EnemyBullet ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ÎÀßÄê¤ò¹Ô¤¤¡¢¥×¥ì¥Õ¥¡¥Ö¤Ë¤¹¤ë


¡¡Tag ¤ò Enemy ¤ËÀßÄꤷ¤Æ¤¯¤À¤µ¤¤¡£

¡¡¥µ¥¤¥º¤ä¥³¥é¥¤¥À¡¼¤Ê¤É¤ÎÀßÄê¤Ï¤½¤Î¤Þ¤Þ¤ÇÌäÂꤢ¤ê¤Þ¤»¤ó¡£
¡¡
¡¡¥Ð¥ì¥Ã¥È¤Î®Å٤ȹ¶·âÎϤÎÃͤϡ¢¥×¥ì¥¤¥ä¡¼¤Î¥Ð¥ì¥Ã¥È¤È¤Ï°Û¤Ê¤ëÃͤˤ·¤Þ¤¹¡£
®Å٤Ͼ¯¤·Äã¤á¤Ë¤·¤Æ¤ª¤­¤Þ¤·¤ç¤¦¡£²¼µ­¤Î¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü¤ò»²¹Í¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£


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



¡¡ÀßÄ꤬½ªÎ»¤·¤¿¤é¡¢EnemyBullet ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò Prefabs ¥Õ¥©¥ë¥À¤Ø¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤·¤Æ¥×¥ì¥Õ¥¡¥Ö¤Ë¤·¤Þ¤¹¡£
¥Ò¥¨¥é¥ë¥­¡¼¤Ë¤¢¤ë EnemyBullet ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ÏÉÔÍפˤʤê¤Þ¤·¤¿¤Î¤Çºï½ü¤·¤Æ¤¯¤À¤µ¤¤¡£


¡¡°Ê¾å¤Ç¥¨¥Í¥ß¡¼ÍѤΥХì¥Ã¥È¤Î´°À®¤Ç¤¹¡£


£²£´¡¥¥¨¥Í¥ß¡¼¤Î¼ïÎà¤Ë±þ¤¸¤Æ¡¢¥Ð¥ì¥Ã¥È¤ò¼«Æ°À¸À®¤ò¹Ô¤¦½èÍý¤ò¼ÂÁõ¤¹¤ë

£±¡¥Àß·×


¡¡¥Ð¥ì¥Ã¥È´ØÏ¢¤Î¼ÂÁõ¤Ï¼ê½ç¤¬Èó¾ï¤Ë¿¤¤½èÍý¤Ë¤Ê¤ê¤Þ¤¹¤Î¤Ç¡¢¾¯¤·¤º¤Ä¼ÂÁõ¤·¤Æ¤¤¤¯¤è¤¦¤Ë¤·¤Þ¤¹¡£

¡ãÀß·×ÆâÍÆ¡ä
¡þ£±¡¥ÆÃÄê¤Î¥¨¥Í¥ß¡¼¤¬°ìÄê¤Î´Ö³Ö¤Ç¥Ð¥ì¥Ã¥È¤ò¼«Æ°À¸À®¤·¡¢¥¨¥Í¥ß¡¼¤«¤é¿¿¤Ã¤¹¤°²¼Êý¸þ¤Øȯ¼Í¤¹¤ë
¡¡£²¡¥¥¨¥Í¥ß¡¼¤Î¥Ð¥ì¥Ã¥È¤ËÀÜ¿¨¤·¤¿ºÝ¤Ë¡¢µòÅÀ¤ÎÂѵ×ÎϤò¸º»»¤¹¤ë½èÍý¤òÄɲ乤ë
¡¡£³¡¥¥¨¥Í¥ß¡¼¤Î¥Ð¥ì¥Ã¥È¤Îȯ¼Í¤¹¤ëÊý¸þ¤ò¿¿¤Ã¤¹¤°²¼Êý¸þ¤«¤é¡¢¥×¥ì¥¤¥ä¡¼¤Î¤¤¤ëÊý¸þ¤Øȯ¼Í¤¹¤ë¤è¤¦¤Ë½¤Àµ¤¹¤ë
¡¡£´¡¥¥Ð¥ì¥Ã¥È¤Î¿Æ»Ò´Ø·¸¤òÊѹ¹¤¹¤ë

¡¡¤³¤Î¼ê½ç¤Ç¤Ï¡¢¡Ú¡þ£±¡Û¤Î½èÍý¤Î¥í¥¸¥Ã¥¯¤ò¹Í¤¨¤ÆÀ߷פò¹Ô¤¤¡¢¼ÂÁõ¤·¤Æ¤¤¤­¤Þ¤¹¡£



¡¡¤Þ¤º¤ÏºÇ½é¤Ë¡¢¤³¤Î¥í¥¸¥Ã¥¯¤ò¹Í¤¨¤ë¤Ë¤¢¤¿¤ê¡¢¤É¤Î¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤¹¤ë¤Î¤¬Å¬ÀڤǤ¢¤ë¤«¤ò¹Í¤¨¤Þ¤¹¡£
¥¨¥Í¥ß¡¼¤¬¥Ð¥ì¥Ã¥È¤òÀ¸À®¤¹¤ë¡¢¤È¤¤¤¦Î®¤ì¤Ë¤Ê¤ê¤Þ¤¹¤Î¤Ç¡¢º£²ó¤Ï EnemyController ¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤¹¤ë¤³¤È¤ÇÀ߷פò¹Ô¤¤¤Þ¤¹¡£

¡¡ÆÃÄê¤Î¥¨¥Í¥ß¡¼¤Î»ØÄê¤Ç¤¹¤¬¡¢¤³¤ì¤Ë¤Ä¤¤¤Æ¤Ï EnemyData ¥¯¥é¥¹¤Ë¤¢¤ë¾ðÊó¤òÍøÍѤ¹¤ë¤³¤È¤Ç»²¾È¤¹¤ë¾ðÊó¤Ï¿§¡¹¹Í¤¨¤é¤ì¤Þ¤¹¡£
¸å¡¹¤ËÊѹ¹¤¹¤ë¤³¤È¤òÁ°Äó¤Ë¡¢º£²ó¤Ï°ÜÆ°ÊýË¡¤¬ MoveType.Staraight ¤Î¥¨¥Í¥ß¡¼¤Î¤ß¡¢¥Ð¥ì¥Ã¥È¤òȯ¼Í¤¹¤ë¥¨¥Í¥ß¡¼¤È»ØÄꤷ¤Þ¤¹¡£

¡¡°ìÄê¤Î´Ö³Ö¤Ç¥Ð¥ì¥Ã¥È¤ò¼«Æ°À¸À®¡¢¤È¤¤¤¦½èÍý¤Ç¤¹¤¬¡¢¤³¤¦¤¤¤Ã¤¿½èÍý¤Î¿¤¯¤Ï Update ¥á¥½¥Ã¥É¤òÍøÍѤ¹¤ë½èÍý¤Î¥¤¥á¡¼¥¸¤¬¤¹¤°¤Ë¤ï¤¯¤È»×¤¤¤Þ¤¹¡£
¤½¤Î¼êË¡¤Ç¤âÌäÂꤢ¤ê¤Þ¤»¤ó¤¬¡¢¸½ºß¤Ï EnemyController ¥¹¥¯¥ê¥×¥È¤Ë Update ¥á¥½¥Ã¥É¤ÏÀ߷׾夢¤ê¤Þ¤»¤ó(ÄɲäϲÄǽ¤Ç¤¹¤¬¡¢¤¢¤¨¤ÆÀ߷׾夫¤é³°¤·¤Æ»È¤ï¤Ê¤¤¤è¤¦¤Ë¤·¤Æ¤¤¤Þ¤¹)¤Î¤Ç¡¢
Update ¥á¥½¥Ã¥É¤ÏÍøÍѤ»¤º¤Ë¡¢Ê̤μêË¡¤Ç¤³¤Î½èÍý¤ò¹Í¤¨¤Æ¤ß¤Þ¤¹¡£

¡¡º£²ó¤Ï¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥É¤È while ʸ¤òÁȤ߹ç¤ï¤»¤¿½èÍý¤òÀ߷פ·¤Æ¡¢¥Ð¥ì¥Ã¥È¤ò£±²óÀ¸À®¤·¤¿¤é°ìÄê»þ´Ö½èÍý¤òÃæÃǤ·¡¢
ºÆ³«¤·¤¿¤éºÆÅÙ¤Þ¤¿£±²ó¥Ð¥ì¥Ã¥ÈÀ¸À®¤·¡¢¤Þ¤¿°ìÄê»þ´Ö½èÍý¤òÃæÃǤ¹¤ë¡¢ºÆ³«¤¹¤ë¡¢¤È¤¤¤¦½èÍý¤Î·«¤êÊÖ¤·¤Î¥í¥¸¥Ã¥¯¤Ç¹Í¤¨¤Þ¤¹¡£

¡¡Ìµ»ö¤Ë¥Ð¥ì¥Ã¥È¤òÀ¸À®¤¹¤ë¤³¤È¤¬½ÐÍè¤Æ¤â¡¢È¯¼Í¤¹¤ëÊý¸þ¤¬Ê¬¤«¤é¤Ê¤±¤ì¤Ð¤½¤Î¾ì¤«¤éÆ°¤«¤Ê¤¤¾õÂ֤ˤʤäƤ·¤Þ¤¤¤Þ¤¹¤Î¤Ç¡¢
¤Þ¤º¤ÏºÇ½é¤Ï¡¢¥×¥ì¥¤¥ä¡¼¤Î¥Ð¥ì¥Ã¥È¤òȯ¼Í¤¹¤ë½èÍý¤ò¼ÂÁõ¤·¤¿¤È¤­¤ÈƱ¤¸¤è¤¦¤Ë¡¢¤Þ¤º¤Ï¡¢¤Þ¤Ã¤¹¤°²¼Êý¸þ¤Ø¤Èȯ¼Í¤¹¤ë¤è¤¦¤Ë¤·¤Æ¤ß¤Þ¤·¤ç¤¦¡£
¥Ð¥ì¥Ã¥È¤ÎÀ¸À®¤Èȯ¼Í¤Þ¤Ç¤Î½èÍý¤Ï¥×¥ì¥¤¥ä¡¼¤Î¥Ð¥ì¥Ã¥È¤òȯ¼Í¤¹¤ëºÝ¤Î½èÍý¤ò»²¹Í¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£


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


¡¡½èÍý¤Î¥¤¥á¡¼¥¸¤¬¤Ä¤«¤á¤¿¤é¡¢µ­½Ò¤¹¤ë¾ì½ê¤ò¹Í¤¨¤Æ¡¢½èÍý¤ò¼ÂÁõ¤·¤Æ¤ß¤Þ¤·¤ç¤¦¡£
¤Ê¤ª¡¢¤³¤Î EnemyController ¥¹¥¯¥ê¥×¥È¤Ï ȯŸ£±£± ¤Î½èÍý¤ò¼ÂÁõ¤·¤¿¾õÂÖ¤ÇÄɵ­¤·¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢
ȯŸ£±£± ¤ò¼ÂÁõ¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢¼«Ê¬¤Î EnemyController ¥¹¥¯¥ê¥×¥È¤Î½èÍý¤òÍ¥À褷¤Æ¡¢ÉÔÍפʽèÍý¤ò½ñ¤¤¤¿¤ê¤·¤Ê¤¤¤è¤¦¤Ëµ¤¤òÉÕ¤±¤Æ¤¯¤À¤µ¤¤¡£

¡¡¥Ð¥ì¥Ã¥È¤òÀ¸À®¤¹¤ë¤¿¤á¤ËɬÍפÊÊÑ¿ô¤ä¡¢¥×¥ì¥Õ¥¡¥Ö¤«¤é¥¯¥í¡¼¥ó¤ÎÀ¸À®½èÍý¤Ê¤É¤Ï¤¹¤Ç¤Ë³Ø½¬ºÑ¤Ç¤¹¡£
Àè¤Û¤É¤â²òÀ⤷¤Þ¤·¤¿¤¬¡¢¥×¥ì¥¤¥ä¡¼¤Î¥Ð¥ì¥Ã¥È¤òȯ¼Í¤¹¤ë½èÍý¤ò»²¹Í¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£


EnemyController.cs


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



¡¡Prefabs ¥Õ¥©¥ë¥À¤Ë¤¢¤ë EnemySet ¥×¥ì¥Õ¥¡¥Ö¡¦¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤ò³Îǧ¤·¡¢
¿·¤·¤¯ SerializeField °À­¤ÇÀë¸À¤·¤¿ÊÑ¿ô¤¬Äɲ䵤ì¤Æ¤¤¤ë¤³¤È¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£


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




£³¡¥¡ã¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥É¤òÍøÍѤ·¤¿ while ʸ¤Î¼ÂÁõÎã¡ä


¡¡while(¥Û¥ï¥¤¥ë) ʸ¤ÏÈ¿Éü½èÍý¤È¸Æ¤Ð¤ì¤ë½èÍý¤Ç¤¹¡£¾ò·ï¤òËþ¤¿¤·¤Æ¤¤¤ë¸Â¤ê¡¢·«¤êÊÖ¤·½èÍý¤ò¹Ô¤¤¤Þ¤¹¡£

¡¡º£²ó¤Î¥±¡¼¥¹¤Ç¤Ï¾ò·ï¤¬¡Ötrue¡×¤Ç¤¹¡£¤³¤Î¾ò·ï¤Î»ØÄê¤Î¾ì¹ç¡¢ÌµÀ©¸Â¤Î·«¤êÊÖ¤·½èÍý¤ò¹Ô¤¤¤Þ¤¹¡£
¤½¤Î¤¿¤á¡¢¤³¤Î½èÍý¤Ï¥²¡¼¥à¼Â¹ÔÃ椺¤Ã¤È·«¤êÊÖ¤µ¤ì¤Æ½ª¤ï¤ë¤³¤È¤Î¤Ê¤¤½èÍý¤Ë¤Ê¤ê¤Þ¤¹¡£

    private IEnumerator EnemyShot() {

        // ¾ò·ï¤Ë true ¤ò»ØÄꤹ¤ë¤È̵À©¸Â¤Î¥ë¡¼¥×½èÍý¤Ë¤Ê¤ë
        while (true) {
            // ¥¨¥Í¥ß¡¼¤Î¥Ð¥ì¥Ã¥È¤Î¥¯¥í¡¼¥ó¤òÀ¸À®¤·¡¢Bullet ¥¹¥¯¥ê¥×¥È¤ò¼èÆÀ¤·¤Æ¡¢ShotBullet ¥á¥½¥Ã¥É¤ò¼Â¹Ô¤¹¤ë
            Instantiate(enemyBulletPrefab, transform).GetComponent<Bullet>().ShotBullet(-transform.up);

¡¡¡¡¡¡¡¡¡¡¡¡// 5ÉôֽèÍý¤òÃæÃǤ¹¤ë(ÂÔµ¡¤¹¤ë)
            yield return new WaitForSeconds(5.0f);
        }
    }

¡¡while ʸÆâ¤Î½èÍý¤Ï£²¤Ä¤¢¤ê¡¢£±¤Ä¤Ï¥Ð¥ì¥Ã¥È¤ÎÀ¸À®¤Èȯ¼Í¥á¥½¥Ã¥É¤Î¼Â¹Ô½èÍý¤Ç¤¹¡£
¤â¤¦£±¤Ä¤Ï yield ¤Ë¤è¤ëÃæÃÇ(ÂÔµ¡¡¦ÃÙ±ä)¤Î½èÍý¤Ç¤¹¡£ yield return new WaitForSeconds ¥á¥½¥Ã¥É¤Ï°ú¿ô¤Ç¤·¤¿Éÿô¤À¤±½èÍý¤òÃæÃǤ·¤Þ¤¹¡£

¡¡¤½¤Î¤¿¤á¡¢¤³¤Î while ʸ¤Ë¤è¤ë·«¤êÊÖ¤·¤Î½èÍý¤Ï¼¡¤Î¤è¤¦¤ÊµóÆ°¤Ë¤Ê¤ê¤Þ¤¹¡£

¡¡£±¡¥¥¨¥Í¥ß¡¼¤Î¥Ð¥ì¥Ã¥È¤ò¥×¥ì¥Õ¥¡¥Ö¤Î¥¯¥í¡¼¥ó¤È¤·¤ÆÀ¸À®¤·¡¢¤½¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë Bullet ¥¹¥¯¥ê¥×¥È¤ò¼èÆÀ¤·¤Æ¡¢ShotBullet ¥á¥½¥Ã¥É¤ò¼Â¹Ô¤¹¤ë
¡¡£²¡¥£µÉÃÂÔ¤Ä
¡¡£³¡¥¡Ú£±¡Û¤Î½èÍý¤ËÌá¤ë

¡¡Update ¥á¥½¥Ã¥É¤òÍøÍѤ·¤Æ¤¤¤Þ¤»¤ó¤¬¡¢¤·¤Ã¤«¤ê¤È°ìÄê¤Î´Ö³Ö¤Ç¥Ð¥ì¥Ã¥È¤ò¼«Æ°À¸À®¤¹¤ë½èÍý¤ò¼ÂÁõ¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤·¤¿¡£

¡¡¤Ê¤ª¡¢while ʸ¤Ç¤Ï¤È¤¯¤Ëº£²ó¤Î¤è¤¦¤Ê̵À©¸Â¤Î·«¤êÊÖ¤·½èÍý¤ò¼ÂÁõ¤¹¤ë¾ì¹ç¡¢½èÍý¤òÃæÃǤ¹¤ë½èÍý¤ò¶´¤Þ¤Ê¤¤¤È
¤¹¤´¤¤¿ô¤Î¥¨¥Í¥ß¡¼¤Î¥Ð¥ì¥Ã¥È¤òÀ¸À®¤¹¤ë½èÍý¤¬¼Â¹Ô¤µ¤ì¤Æ¡¢Unity ¤Î¥¨¥Ç¥£¥¿¡¼¤¬Æ°¤«¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£
¤³¤¦¤Ê¤Ã¤Æ¤·¤Þ¤¦¤ÈºÆµ¯Æ°¤¹¤ë¤·¤«¤Ê¤¯¤Ê¤ê¤Þ¤¹¤Î¤Ç¡¢while ʸ¤ÏÆä˵¤¤òÉÕ¤±¤Æºî¶È¤·¤Æ¤¯¤À¤µ¤¤¡£


»²¹Í¥µ¥¤¥È
̤³ÎǧÈô¹Ô C ÍÍ
È¿Éü½èÍý
https://ufcpp.net/study/csharp/st_loop.html


¡¡Â¾¤Ë¤â¼«Æ°À¸À®¤Î½èÍý¤Ï¹Í¤¨¤é¤ì¤Þ¤¹¡£¿§¡¹¤Ê½èÍý¤ò»î¤·¤Æ¤ª¤¯¤³¤È¤Ç½èÍý¤Î°ú¤­½Ð¤·¤¬¹­¤¬¤ê¡¢
¤è¤ê¿¤¯¤Î½èÍý¤ò¼ÂÁõ¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¤Î¤Ç¡¢¤¤¤Ä¤â»È¤Ã¤Æ¤¤¤ë½èÍý¤À¤±¤Ç¤Ï¤Ê¤¯¡¢¿·¤·¤¤µ»½Ñ¤â¼è¤êÆþ¤ì¤Æ¤¤¤­¤Þ¤·¤ç¤¦¡£


£´¡¥EnemySet ¥×¥ì¥Õ¥¡¥Ö¡¦¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ÎÀßÄê¤ò¹Ô¤¦


¡¡Prefabs ¥Õ¥©¥ë¥À¤Ë¤¢¤ë EnemySet ¥×¥ì¥Õ¥¡¥Ö¡¦¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤Î°ìÈÖ¾å¤Ë¤¢¤ë Open Prefab ¤òÁªÂò¤·¤Æ¥×¥ì¥Õ¥¡¥Ö¤ÎÊÔ½¸¥â¡¼¥É¤ËÀÚ¤êÂؤ¨¤Þ¤¹¡£
¿·¤·¤¯Äɲ䵤ì¤Æ¤¤¤ëÊÑ¿ô¤ØÂоݤȤʤë¾ðÊó¤ò¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤·¤Æ¥¢¥µ¥¤¥ó¤·¤Æ¤¯¤À¤µ¤¤¡£


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



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


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


¡¡¤¹¤Ù¤Æ¤Î¼ÂÁõ¤¬´°Î»¤·¤Þ¤·¤¿¡£¥²¡¼¥à¤ò¼Â¹Ô¤·¤Æ¡¢ÁÛÄꤷ¤Æ¤¤¤ëµóÆ°¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤«¤ò³Îǧ¤·¤Æ¤¤¤­¤Þ¤¹¡£

¡¡MoveType ¤¬ Straight ¤ËÀßÄꤵ¤ì¤Æ¤¤¤ë¥¨¥Í¥ß¡¼¤¬¡¢¼«Ê¬¤Î°ÌÃÖ¤«¤é²¼Êý¸þ(µòÅÀÊý¸þ)¤Ë¸þ¤±¤Æ¥Ð¥ì¥Ã¥È¤òÀ¸À®¤·¡¢È¯¼Í¤¹¤ì¤ÐÀ©¸æÀ®¸ù¤Ç¤¹¡£
¤½¤Î¸å¡¢°ìÄê¤Î´Ö³Ö¤Ç¥Ð¥ì¥Ã¥È¤ò¼«Æ°À¸À®¤¹¤ì¤Ð while ʸ¤Ë¤è¤ë·«¤êÊÖ¤·½èÍý¤âÀ©¸æ½ÐÍè¤Æ¤¤¤Þ¤¹¡£

¡¡Ëü¤¬°ì¡¢¥Ð¥ì¥Ã¥È¤ò¼«Æ°À¸À®¤·¤Ê¤«¤Ã¤¿¤ê¡¢Untiy ¥¨¥Ç¥£¥¿¡¼¤¬Æ°¤«¤Ê¤¯¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿¾ì¹ç¤Ë¤Ï
while ʸ¤Î¥¨¥é¡¼¤Ë¤Ê¤ê¤Þ¤¹¤Î¤Ç¡¢Unity ¤òºÆµ¯Æ°¤·¡¢½¤Àµ¤ò¹Ô¤Ã¤Æ¤«¤é¥²¡¼¥à¤òµ¯Æ°¤·¤Æ¤¯¤À¤µ¤¤¡£
½¤Àµ¤»¤º¤Ëµ¯Æ°¤¹¤ë¤È¡¢¤Þ¤¿¥¨¥Ç¥£¥¿¡¼¤¬Æ°¤«¤Ê¤¯¤Ê¤ê¤Þ¤¹¤Î¤ÇÃí°Õ¤·¤Þ¤·¤ç¤¦¡£
¡¡¡¡

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


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

¡¡¼¡¤Ï¡¡È¯Å¸£±£³¡¡¡¼¥Ð¥ì¥Ã¥È´ØÏ¢¤ÎÄɲýèÍý¤Î¼ÂÁõ¡Ý¡¡¤Ç¤¹¡£

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


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

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

Menu



´ðÁÃ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

private



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

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