ºÇ½ª¹¹¿·¡§ orika_ex_miyako 2023ǯ07·î17Æü(·î) 13:45:32ÍúÎò
¼ê½ç£±£²¡¡¡¼¥×¥ì¥¤¥ä¡¼¤ÎµòÅÀ¤Î¼ÂÁõ¡¼
£²£µ¡¥CanvasÆâ¤Ë¥×¥ì¥¤¥ä¡¼¤ÎµòÅÀÍѤΥ²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òÇÛÃÖ¤·¡¢ÀßÄꤹ¤ë £²£¶¡¥DefenseBase ¥¹¥¯¥ê¥×¥È¤òºîÀ®¤·¡¢¥¨¥Í¥ß¡¼¤¬¿¯Æþ¤·¤¿ºÝ¤Ë¥¨¥Í¥ß¡¼¤òÇ˲õ¤¹¤ë½èÍý¤ò¼ÂÁõ¤¹¤ë
¡¡¿·¤·¤¤³Ø½¬ÆâÍƤϡ¢°Ê²¼¤ÎÄ̤ê¤Ç¤¹¡£
¡¡¡¦OnTriggerEnter2D ¥á¥½¥Ã¥É¡¢Tag ¤ÎÉü½¬¤ò¹Ô¤¦
¡¡¤³¤Î¼ê½ç¤Ç¤Ï¡¢Canvas ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥ÈÆâ¤Ë¥×¥ì¥¤¥ä¡¼¤ÎµòÅÀ¤òÀ½ºî¤·¤Æ¤¤¤¤Þ¤¹¡£¤³¤ÎÃÏÅÀ¤Ë¥¨¥Í¥ß¡¼¤¬Åþ㤹¤ë¤È¥À¥á¡¼¥¸¤ò¼õ¤±¤ë¥·¥¹¥Æ¥à¤Ë¤Ê¤ê¤Þ¤¹¡£
¤³¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤â¥²¡¼¥à²èÌ̤˱ǤëɬÍפΤ¢¤ë¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤¹¤Î¤Ç¡¢ Canvas ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î»Ò¥ª¥Ö¥¸¥§¥¯¥È¤È¤·¤Æ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òºîÀ®¤·¤Æ¤¤¤¤Þ¤¹¡£
¡¡¤³¤³¤Ç¤Ï¡¢µòÅÀ¤ò´ÉÍý¤¹¤ë¤¿¤á¤Î¥Õ¥©¥ë¥ÀÌò¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¡¢µòÅÀ¤Î²èÁü¤òÀßÄꤹ¤ë¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È·²¡¢¤µ¤é¤Ë¥³¥é¥¤¥À¡¼ÍѤΥ²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤È¡¢
¤³¤ì¤é¤ò£±¤Ä¤º¤Ä½çÈ֤˺îÀ®¤·¤Þ¤¹¡£
¡¡Canvas ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¾å¤Ç±¦¥¯¥ê¥Ã¥¯¤ò¤·¤Æ¥á¥Ë¥å¡¼¤ò³«¤¡¢Create Empty ¤òÁªÂò¤·¤Þ¤¹¡£
¿·¤·¤¯¶õ¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È(Transfrom ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î¤ß¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë¡¢Ìò³ä¤Î¤Þ¤À¤Ê¤¤¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È)¤¬ºîÀ®¤µ¤ì¤Þ¤¹¤Î¤Ç¡¢Ì¾Á°¤ò DefenseBaseSet ¤ËÊѹ¹¤·¤Þ¤¹¡£
DefenseBaseSet ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ï¡¢¥×¥ì¥¤¥ä¡¼¤ÎµòÅÀ¤Ë´ØÏ¢¤¹¤ë¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È·²¤ò¤Þ¤È¤á¤Æ¤ª¤¯¤¿¤á¤Î¡¢¥Õ¥©¥ë¥ÀÌò¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤¹¡£
DefenseBaseSet ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¡¡¥Ò¥¨¥é¥ë¥¡¼²èÁü
¡¡DefenseBaseSet ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òÁªÂò¤·¤Æ¡¢RectTransform ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤¬¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë¤«³Îǧ¤·¤Þ¤¹¡£
Canvas ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë´Þ¤Þ¤ì¤ë¥ª¥Ö¥¸¥§¥¯¥È¤Ï Transform ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Ç¤Ï¤Ê¤¯¡¢RectTransform ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Ë¤è¤Ã¤Æ°ÌÃÖ¾ðÊó¤ò´ÉÍý¤·¤Æ¤¤¤Þ¤¹¡£
¤â¤·¤âÄ̾ï¤Î Transform ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤¬¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢ºÆÅÙºî¤êľ¤·¤Æ¤¯¤À¤µ¤¤¡£
DefenseBaseSet ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¡¡¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü
DefenseBaseSet ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¡¡Scene¥Ó¥å¡¼²èÁü(Scene¥Ó¥å¡¼¤ÎÃæ±û¤Ë¤¢¤ë)
¡¡°Ê¾å¤Ç¤³¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ÎÀßÄê¤Ï´°Î»¤Ç¤¹¡£
£³¡¥DefenseBaseSet ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î»Ò¥ª¥Ö¥¸¥§¥¯¥È¤È¤·¤Æ¡¢imgDamageArea ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òºîÀ®¤¹¤ë
¡¡DefenseBaseSet ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¾å¤Ç±¦¥¯¥ê¥Ã¥¯¤ò¤·¤Æ¥á¥Ë¥å¡¼¤ò³«¤¡¢UI => Image ¤òÁªÂò¤·¤Þ¤¹¡£
Scene¥Ó¥å¡¼Æâ¤ÎÃæ±û¤Ë¡¢Imgae ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤¬¥¢¥¿¥Ã¥Á¤µ¤ì¤¿Çò¤¤¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤¬¿·¤·¤¯ºîÀ®¤µ¤ì¤Þ¤¹¤Î¤Ç¡¢Ì¾Á°¤ò imgDamageArea ¤ËÊѹ¹¤·¤Þ¤¹¡£
imgDamageArea ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¡¡¥Ò¥¨¥é¥ë¥¡¼²èÁü
imgDamageArea ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ï¡¢¥×¥ì¥¤¥ä¡¼¤ÎµòÅÀ¤È¤Ê¤ë¥¨¥ê¥¢¤Î²èÁüɽ¼¨¤ÎÌò³ä¤ò»ý¤Á¤Þ¤¹¡£¤³¤Î°ÌÃ֤ޤǥ¨¥Í¥ß¡¼¤¬Åþ㤹¤ë¤È¥À¥á¡¼¥¸¤ò¼õ¤±¤Æ¤·¤Þ¤¦¡¢¤½¤ÎÌÜ°õ¤È¤Ê¤ë²èÁü¤Ë¤Ê¤ê¤Þ¤¹¡£
imgDamageArea ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È ¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü
imgDamageArea ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¡¡Scene¥Ó¥å¡¼²èÁü(¿¿¤óÃæ¤ÎÇò¤¤¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È)
¡¡DefenseBaseSet ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î»Ò¥ª¥Ö¥¸¥§¥¯¥È¤È¤·¤ÆÀßÃÖ¤µ¤ì¤Æ¤¤¤ë¤«¡¢³Îǧ¤·¤¿¸å¡¢¼¡¤ÎÀßÄê¤Î¼ê½ç¤Ø°Ü¤ê¤Þ¤¹¡£
¡¡ºÇ½é¤Ë²èÁü¤òÀßÄꤷ¤Þ¤¹¡£
imgDamageArea ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤ò³Îǧ¤·¡¢Image ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î Source Image ¤ÎÉôʬ¤Ë²èÁü¤òÀßÄꤷ¤Þ¤¹¡£
¡¡¤³¤Á¤é¤Î²èÁü¤¬¥²¡¼¥à²èÌ̤ËŬÍѤµ¤ì¤ë¤³¤Î°ÌÃ֤˥¨¥Í¥ß¡¼¤¬Åþ㤷¤Æ¿¯Æþ¤¹¤ë¤È¥À¥á¡¼¥¸¤ò¼õ¤±¤ëÌÜ°õ¤Î²èÁü¤È¤Ê¤ê¤Þ¤¹¤Î¤Ç¡¢¥¤¥á¡¼¥¸¤¢¤Ã¤¿²èÁü¤òÀßÄꤷ¤Þ¤¹¡£
¥¤¥ó¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë²èÁü¤Ï¤¢¤ê¤Þ¤»¤ó¤Î¤Ç¡¢ÌµÎÁ¤Î²èÁü¤òõ¤·¥À¥¦¥ó¥í¡¼¥É¤·¤Æ Unity ¤Ë¥¤¥ó¥Ý¡¼¥È¤·¤ÆÍøÍѤ·¤Þ¤¹¡£
¡¡ÂоݤβèÁü¥Õ¥¡¥¤¥ë¤ò¡¢Source Image ¤ÎÍó¤Þ¤Ç¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤·¤Æ¥¢¥µ¥¤¥ó¤·¤Æ¤¯¤À¤µ¤¤''¡£²èÁü¤¬ÅÐÏ¿¤µ¤ì¤Æ¡¢Scene¥Ó¥å¡¼¤È Game¥Ó¥å¡¼¤ËÈ¿±Ç¤µ¤ì¤Þ¤¹¡£
¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü
Scene¥Ó¥å¡¼²èÁü(Çò¤¤¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤Ï¤Ê¤¯¤Ê¤Ã¤Æ¤¤¤ë)
¡¡²èÁü¤ÎÀßÄ꤬½ªÎ»¤·¤¿¤é¡¢Image ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î Raycast Target ¤Î¥¹¥¤¥Ã¥Á¤ò³°¤·¤Æ¥ª¥Õ¤Ë¤·¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡£
¤Þ¤¿¡¢ImageType ¤¬ Simple ¤Ë¤Ê¤Ã¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¤Ï Simple ¤ËÊѹ¹¤·¤Æ¤¯¤À¤µ¤¤¡£Slice ¤Ê¤É¤ÎÀßÄê¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤È²èÁü¤¬Àµ¾ï¤Ëɽ¼¨¤µ¤ì¤Ê¤¤¤¿¤á¤Ç¤¹¡£
¡¡²èÁü¤òÀßÄꤷ¤¿¤é¡¢¼¡¤Ï²èÁü¤Î¥µ¥¤¥º¤òÄ´À°¤·¤Þ¤¹¡£
¡¡imgDamageArea ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î RectTransfrom ¥³¥ó¥Ý¡¼¥Í¥ó¥ÈÆâ¤Ë¤¢¤ë¡¢Position ¤ÎÃͤò (-480, -816, 0) ¤ËÊѹ¹¤·¤Æ¤¯¤À¤µ¤¤¡£°ÌÃÖ¤¬º¸²¼´ó¤ê¤Ë¤Ê¤ê¤Þ¤¹¡£
¤Þ¤¿¡¢Width ¤ÎÃͤò 480¡¢ Height ¤ÎÃͤò 206 ¤ËÊѹ¹¤·¤Æ¥µ¥¤¥º¤òÊѹ¹¤·¤Æ¤¯¤À¤µ¤¤¡£
ÀßÄꤷ¤Ê¤¬¤é¡¢Game¥Ó¥å¡¼¤Ë¤É¤Î¤è¤¦¤Ë±Ç¤Ã¤Æ¤¤¤ë¤«¤ò³Îǧ¤·¤Æ¤ª¤¤Þ¤¹¡£
imgDamageArea ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¡¡¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü
imgDamageArea ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¡¡Scene¥Ó¥å¡¼²èÁü
imgDamageArea ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¡¡Game¥Ó¥å¡¼²èÁü
¡¡°Ê¾å¤ÇÀßÄê¤Ï´°Î»¤Ç¤¹¡£
¡¡imgDamageArea ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òÁªÂò¤·¤Æ±¦¥¯¥ê¥Ã¥¯¤ò¤·¤Æ¥á¥Ë¥å¡¼¤ò³«¤¡¢Duplicate ¤òÁªÂò¤·¤Æ¡¢¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òÊ£À½¤·¤Þ¤¹¡£
¤³¤Î¼ê½ç¤ò£²²ó·«¤ê¤«¤¨¤·¤Æ¡¢¹ç·×¤Ç£³¤Ä¤Î imgDamageArea ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òºîÀ®¤·¤Æ¤¯¤À¤µ¤¤¡£
¥Ò¥¨¥é¥ë¥¡¼²èÁü
¡¡Ê£À½¤µ¤ì¤¿¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ï¡¢Ê£À½¸µ¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î°ÌÃ֤ˤ¢¤ê¤Þ¤¹¡£
¥µ¥¤¥º¤ä²èÁü¤ÎÀßÄê¤Ï¤½¤Î¤Þ¤ÞÍøÍѤǤ¤Þ¤¹¤Î¤Ç¡¢²£Êý¸þ¤Î°ÌÃÖ¾ðÊó¤À¤±Êѹ¹¤·¤Þ¤¹¡£
¡¡imgDamageArea (1) ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î Position X ¤ÎÃͤò 0 ¤ËÊѹ¹¤·¤Æ¤¯¤À¤µ¤¤¡£¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤¬Ãæ±û¤Ë°ÜÆ°¤·¤Þ¤¹¡£
imgDamageArea (1) ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¡¡¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü
¡¡Â³¤¤¤Æ¡¢imgDamageArea (2) ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î Position X ¤ÎÃͤò 480 ¤ËÊѹ¹¤·¤Æ¤¯¤À¤µ¤¤¡£¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤¬±¦Â¦¤Ë°ÜÆ°¤·¤Þ¤¹¡£
imgDamageArea (2) ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¡¡¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü
¡¡¤³¤ì¤Ç¥¥ì¥¤¤Ë²£°ìÎó¤Ë¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤¬ÀßÃÖ¤µ¤ì¤Þ¤·¤¿¡£
̾Á°¤Ë¤Ä¤¤¤Æ¤ÏÊѹ¹¤·¤Æ¤â¤è¤¤¤Ç¤¹¤·¡¢¤³¤Î¤Þ¤Þ¤Ç¤âÌäÂꤢ¤ê¤Þ¤»¤ó¡£
Scene¥Ó¥å¡¼²èÁü
Game¥Ó¥å¡¼²èÁü
¡¡°Ê¾å¤Ç¥À¥á¡¼¥¸ÍÑ¥¨¥ê¥¢¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ÎÀßÄê¤Ï´°Î»¤Ç¤¹¡£
£¶¡¥DefenseBaseSet ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î»Ò¥ª¥Ö¥¸¥§¥¯¥È¤È¤·¤Æ¡¢ColliderDefenseLine ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òºîÀ®¤¹¤ë
¡¡DefenseBaseSet ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¾å¤Ç±¦¥¯¥ê¥Ã¥¯¤ò¤·¤Æ¥á¥Ë¥å¡¼¤ò³«¤¡¢Create Empty ¤òÁªÂò¤·¤Þ¤¹¡£
¿·¤·¤¯ DefenseBaseSet ¤Î»Ò¥ª¥Ö¥¸¥§¥¯¥È¤È¤·¤Æ¶õ¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤¬ºîÀ®¤µ¤ì¤Þ¤¹¤Î¤Ç¡¢Ì¾Á°¤ò ColliderDefenseLine ¤ËÊѹ¹¤·¤Þ¤¹¡£
DefenseBaseSet ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ï¡¢µòÅÀ¤Ë¥³¥é¥¤¥À¡¼¤òÀßÄꤹ¤ëÌò³ä¤ò»ý¤Ä¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤¹¡£
ColliderDefenseLine ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¡¡¥Ò¥¨¥é¥ë¥¡¼²èÁü
ColliderDefenseLine ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¡¡¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü
ColliderDefenseLine ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¡¡Scene¥Ó¥å¡¼²èÁü
¡¡Â³¤¤¤Æ ColliderDefenseLine ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È ¤ÎÀßÄê¤ò¹Ô¤¤¤Þ¤¹¡£
¡¡¤³¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ÎÌò³ä¤Ï¥¨¥Í¥ß¡¼¤È¤Î¿¯ÆþȽÄê¤ò¹Ô¤¨¤ë¤è¤¦¤Ë¤¹¤ë¤¿¤á¤Î¥³¥é¥¤¥À¡¼¤ò´ÉÍý¤¹¤ë¤³¤È¤Ç¤¹¡£
¡¡imgDamageArea ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥³¥é¥¤¥À¡¼¤òÀßÄꤹ¤ë¤È¡¢¹ç·×£³¤Ä¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥³¥é¥¤¥À¡¼¤òÀßÄꤹ¤ë¤³¤È¤Ë¤Ê¤ê¡¢
Ä´À°¤¬É¬Íפˤʤ俾ì¹ç¤Ëºî¶È¤¬Áý¤¨¤Æ¤·¤Þ¤¤¤Þ¤¹¤Î¤Ç¡¢¤³¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òµòÅÀ¤Î¥³¥é¥¤¥À¡¼¤·¤Æ¡¢£±¤Ä¤Ç´ÉÍý¤ò¹Ô¤¦¤è¤¦¤Ë¤·¤Þ¤¹¡£
¡¡ºÇ½é¤Ë¡¢¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¥µ¥¤¥º¤òÊѹ¹¤·¤Þ¤¹¡£²£Éý¤Ï²èÌ̤ÎÉý¤ÈƱ¤¸¥µ¥¤¥º¤Ë¡¢½ÄÉý¤Ï imgDamageArea ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î²èÁü¤Ë¹ç¤ï¤»¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£
RectTransfom ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î Width ¤ÎÃͤò 1440¡¢Height ¤ÎÃͤò 200 ¤ËÀßÄꤷ¤Æ¤¯¤À¤µ¤¤¡£¤¿¤À¤·¡¢Widht ¤Ï¼«Ê¬¤Î¥²¡¼¥à²èÌ̤ÎÀßÄê¤Ë¹ç¤ï¤»¤ÆŬµ¹¤ÊÃͤËÊѹ¹¤·¤Æ¤¯¤À¤µ¤¤¡£
¡¡¤Þ¤¿ Position Y ¤ò -816 ¤ËÀßÄꤷ¡¢imgDamageArea ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î°ÌÃ֤˹ç¤ï¤»¤Æ¤¯¤À¤µ¤¤¡£
¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü
Scene¥Ó¥å¡¼²èÁü
¡¡¥µ¥¤¥º¤Î½¤Àµ¤¬½ªÎ»¤·¤¿¤é¡¢¥³¥é¥¤¥À¡¼¤òÀßÄꤷ¤Þ¤¹¡£
¡¡ColliderDefenseLine ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤Î°ìÈÖ²¼¤Ë¤¢¤ë Add Component ¥Ü¥¿¥ó¤ò²¡¤·¤Æ¡¢BoxCollider2D ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤òÄɲ䷤Ƥ¯¤À¤µ¤¤¡£
¡¡ºÇ½é¤Ë¡¢IsTrigger ¤Î¥¹¥¤¥Ã¥Á¤Î¥Á¥§¥Ã¥¯¤òÆþ¤ì¤Æ¡¢¥ª¥ó¤Î¾õÂ֤ˤ·¤Æ¤¯¤À¤µ¤¤¡£
¡¡¼¡¤Ë¥µ¥¤¥º¤òÄ´À°¤·¤Þ¤¹¡£Edit Collider ¥Ü¥¿¥ó¤ò²¡¤·¤Æ Scene¥Ó¥å¡¼¤ÇÊѹ¹¤ò¤¹¤ë¤«¡¢Width ¤È Height ¤ÎÃͤÈƱ¤¸ÃͤËÀßÄê¤ò¤·¤Æ¤¯¤À¤µ¤¤¡£
¡¡
¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü
Scene¥Ó¥å¡¼²èÁü(¥³¥é¥¤¥À¡¼¤¬¸«¤ä¤¹¤¤¤è¤¦¤Ë¡¢imgDamageArea ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ÎÆ©ÌÀÅÙ¤ò²¼¤²¤Æ¤¤¤Þ¤¹)
¡¡°Ê¾å¤Ç¤³¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤È¡¢µòÅÀÍѤΥ²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ÎÀßÄê¤Ï´°À®¤Ç¤¹¡£¡¡
¡¡µòÅÀ¤Î¥³¥é¥¤¥À¡¼¤ËÂФ·¤Æ¥¨¥Í¥ß¡¼¤Î»ý¤Ä¥³¥é¥¤¥À¡¼¤¬¿¯Æþ¤·¤¿ºÝ¤Ë¡¢¿¯ÆþȽÄê½èÍý¤ò¼Â¹Ô¤¹¤ë¤è¤¦¤ËÀ߷פò¹Í¤¨¤Þ¤¹¡£
¡¡¹Í¤¨Êý¤Ï¡¢¥¨¥Í¥ß¡¼¤È¥Ð¥ì¥Ã¥È¤È¤Î¿¯ÆþȽÄê¤È¤Þ¤Ã¤¿¤¯Æ±¤¸¤Ç¤¹¡£
µòÅÀ¤«¤é¤ß¤Æ¡¢¥Ð¥ì¥Ã¥È¤ËÅö¤¿¤ë¤Î¤¬¥¨¥Í¥ß¡¼¤È¤·¤Æ¹Í¤¨¤Æ¤¤¤±¤Ð¡¢Æ±¤¸À߷פǼÂÁõ¤ò¹Ô¤¦¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
¡¡¤½¤Î¤¿¤á¡¢¤³¤Î¼ê½ç¤ÇºîÀ®¤¹¤ë DefenseBase ¥¹¥¯¥ê¥×¥È¤Ï¡¢DefenseBaseSet ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤¹¤ëÁ°Äó¤ÇºîÀ®¤ò¹Ô¤¤¤Þ¤¹¡£
¡¡¤³¤Î¼ê½ç¤Ç¼ÂÁõ¤ò¹Ô¤¦½çÈÖ¤ò¹Í¤¨¤Þ¤·¤ç¤¦¡£¤³¤ì¤â¡¢¥Ð¥ì¥Ã¥È¤È¥¨¥Í¥ß¡¼¤Î¿¯ÆþȽÄê½èÍý¤òºîÀ®¤·¤¿¤È¤¤ÈƱ¤¸½çÈ֤ǹͤ¨¤Æ¤¤¤¤Þ¤¹¡£
¡¡¿¯ÆþȽÄê¤Î¼ÂÁõÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï¡¢¥¨¥Í¥ß¡¼¤ÈƱ¤¸¤è¤¦¤Ë¡¢OnTriggerEnter2D ¥á¥½¥Ã¥É¤òÍøÍѤ·¤Þ¤¹¡£
¤Þ¤º¤Ï¡¢¿¯ÆþȽÄ꤬ȯÀ¸¤¹¤ë¤«¤ò¡¢½èÍý¤ò¼ÂÁõ¤·¤Æ³Îǧ¤ò¹Ô¤¤¤Þ¤¹¡£
¡¡£±¤Ä°ã¤¦ÅÀ¤Ï¡¢¥³¥é¥¤¥À¡¼¤¬¡¢DefenseBase ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤Ï¤Ê¤¯¡¢»Ò¥ª¥Ö¥¸¥§¥¯¥È¤È¤·¤ÆÀßÄꤵ¤ì¤Æ¤¤¤ëÉôʬ¤Ç¤¹¡£
¤³¤Î¤è¤¦¤Ê¾ì¹ç¡¢¿Æ¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤¢¤ë DefenseBaseSet ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë Rigidbody2D ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ò¥¢¥¿¥Ã¥Á¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ
¿Æ»Ò´Ø·¸¤Î¤¢¤ë¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¥³¥é¥¤¥À¡¼¤Î¾ðÊó¤òÍøÍѤ¹¤ë¤³¤È¤¬½ÐÍè¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¡Â³¤¤¤Æ¡¢¥¨¥Í¥ß¡¼¤Î¾ì¹ç¤â¤½¤¦¤Ç¤·¤¿¤¬¡¢¤³¤Î¤Þ¤Þ¤Ç¤¹¤È¥³¥é¥¤¥À¡¼¤¬¤¢¤ë¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤¢¤ì¤Ð¤É¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤â¿¯ÆþȽÄ꤬ȯÀ¸¤·¤Æ¤·¤Þ¤¦¤¿¤á¡¢
¼«Ê¬¤¬È¯¼Í¤·¤¿¥Ð¥ì¥Ã¥È¤Ç¿¯ÆþȽÄ꤬ȯÀ¸¤·¤Æ¤·¤Þ¤¦¶²¤ì¤¬¤¢¤ê¤Þ¤¹¡£
¡¡¤³¤ì¤âƱ¤¸¤è¤¦¤Ë¡¢¥¨¥Í¥ß¡¼Â¦¤Ë¥¨¥Í¥ß¡¼¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤¢¤ë¤ÈȽÊ̤¹¤ë¤¿¤á¤Î Tag ¤òÀßÄꤷ¤Þ¤¹¡£
¥¨¥Í¥ß¡¼Â¦¤ËÀßÄꤷ¤¿ Tag ¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤¬¿¯Æþ¤·¤¿¾ì¹ç¤Ë¸Â¤ê¡¢¿¯ÆþȽÄ꤬ȯÀ¸¤¹¤ë¤è¤¦¤Ë½èÍý¤òÄɲ䷤Ƥ¤¤¤Þ¤¹¡£
¡¡ºÇ¸å¤Ë¡¢¥¨¥Í¥ß¡¼¤¬¿¯Æþ¤·¤¿¤é¡¢µòÅÀ¦¤ËÍÑ°Õ¤·¤¿Âѵ×ÎϤÎÃͤò 10 ¸º¤é¤¹½èÍý¤òÄɲ䷤ơ¢¥¨¥Í¥ß¡¼¤òÇ˲õ¤¹¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£
¼¡¤Î¼ê½ç¤Ç¤Ï¡¢¥¨¥Í¥ß¡¼¤Ë¹¶·âÎϤξðÊó¤òÀßÄꤷ¡¢¤½¤ÎÃÍʬ¤À¤±¡¢Âѵ×ÎϤò¸º»»¤¹¤ë¤è¤¦¤Ë¤·¤Þ¤¹¤Î¤Ç¡¢¤½¤Î¤¿¤á¤Î»öÁ°½èÍý¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¡DefenseBaseSet ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤¹¤ë¥¹¥¯¥ê¥×¥È¤òºîÀ®¤·¤Þ¤¹¡£
¤³¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤Ï»Ò¥ª¥Ö¥¸¥§¥¯¥È¤Î¥³¥é¥¤¥À¡¼¤òÍøÍѤ¹¤ë´Ø·¸¾å¡¢ Rigidbody2D ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤¬É¬¿Ü¤Ë¤Ê¤ê¤Þ¤¹¡£
¤³¤Î¤è¤¦¤Ê¤È¤¤ËÍøÍѤǤ¤ë°À¾ðÊ󤬤¢¤Ã¤¿¤È»×¤¤¤Þ¤¹¤Î¤Ç¡¢¤½¤Á¤é¤òµ½Ò¤·¤Æ¤¯¤À¤µ¤¤¡£
¡¡Âѵ×ÎϤξðÊó¤òÀßÄꤹ¤ë¤¿¤á¡¢¿·¤·¤¯Àë¸À¥Õ¥£¡¼¥ë¥É¤ËÊÑ¿ô¤òÀë¸À¤·¤ÆÄɲä·¤Þ¤¹¡£
¥Ð¥ì¥Ã¥È¤Î¤È¤¤ÈƱ¤¸¤è¤¦¤Ë¡¢public ½¤¾þ»Ò¤ÇÊÑ¿ô¤òÀë¸À¤·¤Æ¤ª¤¯¤³¤È¤Ç¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤è¤êÃͤÎÀßÄ꤬²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¡Âѵ×ÎϤÎÃͤò¤ä¤ê¼è¤ê¤¹¤ëºÝ¤Ë¤Ï¡¢º£²ó¤Ï¸ÇÄêÃÍ¤Ç 10 ¸º»»¤·¤Þ¤¹¡£¤È¤¤¤¦¤³¤È¤Ï¡¢À°¿ô¤Î·×»»¤¬¹Ô¤¨¤ëÊÑ¿ô¤Î·¿¤ÇÊÑ¿ô¤òÀë¸À¤ò¤¹¤ëɬÍפ¬¤¢¤ë¤³¤È¤¬Ê¬¤«¤ê¤Þ¤¹¡£
¡¡
¡¡OnTriggerEnter2D ¥á¥½¥Ã¥É¤Ë¤Ï¡¢¥¨¥Í¥ß¡¼¤Ë¼ÂÁõ¤·¤¿¤È¤¤ÈƱ¤¸¤è¤¦¤Ë¡¢Debug.Log ¥á¥½¥Ã¥É¤òÍÑ°Õ¤·¤Æ¡¢¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤¬¿¯Æþ¤·¤¿¤³¤È¤òɽ¼¨¤µ¤»¤Æ
½èÍý¤¬Àµ¾ï¤ËÆ°ºî¤·¤Æ¤¤¤ë¤³¤È¤ò³Îǧ¤Ç¤¤ë¤è¤¦¤Ë¤·¤Æ¤ª¤¤Þ¤·¤ç¤¦¡£
¡¡¤³¤Î°ìÏ¢¤Î¼ê½ç¤Ï¡¢EnemyController ¥¹¥¯¥ê¥×¥È¤Ë¼ÂÁõ¤·¤¿ÆâÍƤ¬Èó¾ï¤ËÌòΩ¤Á¤Þ¤¹¡£
¥¹¥¯¥ê¥×¥È¤ò¸«ÊÖ¤·¤¿¤ê¡¢°ÊÁ°¤Î¼ê½ç¤òÆɤßÊÖ¤·¤¿¤ê¤·¤Æ¹½¤¤¤Þ¤»¤ó¤Î¤Ç¡¢Éü½¬¤¹¤ë°ÕÌ£¤ò¹þ¤á¤Æ¡¢¤Þ¤º¤Ï¡¢¼«Ê¬¤Ç½èÍý¤ò½ñ¤¤¤Æ¤ß¤Æ¼Â¹Ô¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£
DefenseBase.cs
¡¡¥¹¥¯¥ê¥×¥È¤òºîÀ®¤·¤¿¤é¥»¡¼¥Ö¤ò¹Ô¤¤¤Þ¤¹¡£
¡¡ºîÀ®¤·¤¿ DefenseBase ¥¹¥¯¥ê¥×¥È¤ò DefenseBaseSet ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤·¤Æ¥¢¥¿¥Ã¥Á¤·¤Æ¤¯¤À¤µ¤¤¡£
°À¾ðÊó¤òÀßÄꤷ¤Æ¤¤¤ì¤Ð¡¢¼«Æ°Åª¤Ë Rigidbody2D ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤â¥¢¥¿¥Ã¥Á¤µ¤ì¤Þ¤¹¡£¤â¤·¤â°À¾ðÊó¤òµ½Ò¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¤Ï
Add Component ¥Ü¥¿¥ó¤è¤ê¡¢Rigidbody2D ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤òÄɲ䷤Ƥ¯¤À¤µ¤¤¡£Ä̾ï¤Î Rigidbody ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ÏÆ°ºî¤·¤Þ¤»¤ó¤Î¤Ç¡¢Ãí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
¡¡ºÇ½é¤Ë Rigidbody2D ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ÎÀßÄê¤ò¹Ô¤¤¤Þ¤¹¡£
¡¡GravityScale ¤ÎÃͤò 0 ¤Ë¤·¤Æ½ÅÎϤαƶÁ¤Ï¼õ¤±¤Ê¤¤¤è¤¦¤ËÀßÄꤷ¤Æ¤¯¤À¤µ¤¤¡£¤½¤¦¤·¤Ê¤¤¤È²¼Êý¸þ¤ËÍî²¼¤·¤Æ¤·¤Þ¤¤¤Þ¤¹¡£
¤Þ¤¿¡¢Freeze Rotation ¤Î Z ¤Î¥Á¥§¥Ã¥¯¤â¤¤¤ì¤Æ¥ª¥ó¤Î¾õÂ֤ˤ·¤Æ¤¯¤À¤µ¤¤¡£¥ª¥Õ¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤È¡¢¥¨¥Í¥ß¡¼¤Ë¿¯Æþ¤µ¤ì¤¿ºÝ¤Ë¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤¬²óž¤·¤Æ¤·¤Þ¤¤¤Þ¤¹¡£
¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü
¡¡
¡¡Â³¤¤¤Æ¡¢DefenseBase ¥¹¥¯¥ê¥×¥È¤ÎÀßÄê¤ò¹Ô¤¤¤Þ¤¹¡£
¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¾å¤Ë Durability ÊÑ¿ô¤¬É½¼¨¤µ¤ì¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢¤³¤Á¤é¤ËÂѵ×ÎϤȤʤëÃͤòÀßÄꤷ¤Þ¤¹¡£
½é´üÃÍ¤Ï 0 ¤ËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£
¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü
¡¡¥¹¥¯¥ê¥×¥È¤òÊѹ¹¤·¤Ê¤¯¤Æ¤â¡¢¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤è¤ê¼«Í³¤ËÄ´À°¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¤Î¤Ç¡¢ºÇ½é¤Ï 100 ¤ËÀßÄꤷ¤Æ¤ª¤¤Þ¤¹¡£
ÀßÄê¸å¤Î¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü
¡¡°Ê¾å¤ÇÀßÄê¤Ï´°Î»¤Ç¤¹¡£
¡¡¤³¤³¤Þ¤Ç¤Î¼ê½ç¤¬½ªÎ»¤·¤Þ¤·¤¿¤Î¤Ç¡¢¥²¡¼¥à¤ò¼Â¹Ô¤·¤Æ¥¨¥Í¥ß¡¼¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤¬µòÅÀ¤Î¥³¥é¥¤¥À¡¼¤Î°ÌÃ֤ޤǰÜÆ°¤µ¤»¤Þ¤¹¡£
Console ¥Ó¥å¡¼¤Ë Debug.Log ¥á¥½¥Ã¥É¤Ç»ØÄꤷ¤¿¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î̾Á°(EnemySet)¤¬É½¼¨¤µ¤ì¤ì¤Ð¿¯ÆþȽÄê¤ÏÀ®¸ù¤Ç¤¹¡£
¡ã¼Â¹ÔÆ°²è¡ä
Æ°²è¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯
¡¡¤³¤ì¤Ç̵»ö¤Ë¿¯ÆþȽÄê¤Î½èÍý¤Ï¼ÂÁõ¤µ¤ì¤Þ¤·¤¿¡£
¼¡¤Ï¡¢¤³¤ÎȽÄê¤ÎÂоݤò¥¨¥Í¥ß¡¼¤Î¤ß¤ËÀ©¸Â¤¹¤ë¤è¤¦¤Ë¡¢Tag ¤Ë¤è¤ë½èÍý¤òÄɲä·¤Þ¤¹¡£
¡¡¤Þ¤º¤ÏºÇ½é¤Ë¿·¤·¤¤ Tag ¤òÅÐÏ¿¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¤Î¤Ç¡¢ÅÐÏ¿¤ÈÀßÄê¤ò¹Ô¤¤¤Þ¤¹¡£
¡¡EnemySet ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È̾¤Îº¸²¼¤Ë¤¢¤ë Tag ¤òÁªÂò¤¹¤ë¤È¥×¥ë¥À¥¦¥ó¥á¥Ë¥å¡¼¤¬³«¤¤Þ¤¹¡£
ºÇ½é¤Ï Untagged(̤ÀßÄê) ¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢°ìÈÖ²¼¤Î Add Tag¡Ä ¤òÁªÂò¤·¤Æ¡¢¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤Îɽ¼¨¤ò Tags and Layers ¤ËÊѹ¹¤·¤Þ¤¹¡£
¡¡Tags ¤Î¹àÌܤΰìÈÖ²¼¤Ë¥×¥é¥¹¥Ü¥¿¥ó¤¬¤¢¤ê¤Þ¤¹¤Î¤Ç¡¢¤½¤ì¤ò²¡¤·¤Æ¡¢¿·¤·¤¯ Enemy ¤È¤¤¤¦¥¿¥°¤òºîÀ®¤·¡¢¥»¡¼¥Ö¤·¤ÆÅÐÏ¿¤·¤Æ¤¯¤À¤µ¤¤¡£
Tag
¡¡ÅÐÏ¿¤¬´°Î»¤·¤¿¤é¡¢¥¨¥Í¥ß¡¼¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë Tag ¤òÀßÄꤷ¤Þ¤¹¡£
¡¡EnemySet ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î Tag ¤òÁªÂò¤·¡¢¥×¥ë¥À¥¦¥ó¥á¥Ë¥å¡¼¤«¤é Enemy ¤òÁªÂò¤·¤ÆÅÐÏ¿¤·¤Æ¤¯¤À¤µ¤¤¡£
EnemySet ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¡¡¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü
¡¡
¡¡¤³¤ì¤Ç Tag ¤ÎÀßÄê¤Ï´°Î»¤Ç¤¹¡£
£¶¡¥DefenseBase ¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¡¢¿¯ÆþȽÄê¤ÎºÝ¤Ë¡¢¿¯Æþ¤·¤¿¥³¥é¥¤¥À¡¼¤¬¥¨¥Í¥ß¡¼¤Î¥³¥é¥¤¥À¡¼¤«¤É¤¦¤«¤òȽÄꤹ¤ë½èÍý¤òÄɲ乤ë
¡¡Tag ¤ÎÀßÄ꤬´°Î»¤·¤Þ¤·¤¿¤Î¤Ç¡¢¤³¤Î¾ðÊó¤òÍøÍѤ·¤Æ¡¢¿¯Æþ¤·¤¿¥³¥é¥¤¥À¡¼¤¬¥¨¥Í¥ß¡¼¤Ç¤¢¤ë¤Î¤«¡¢¤½¤ì°Ê³°¤Ê¤Î¤«¤òȽÄꤹ¤ë½èÍý¤ò¼ÂÁõ¤·¤Þ¤¹¡£
¡¡¥³¥á¥ó¥È¤òµ½Ò¤·¤Æ¤«¤é¡¢¼«Ê¬¤Ç¥í¥¸¥Ã¥¯¤ò¹Í¤¨¤Æ½èÍý¤òµ½Ò¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£
¥³¥á¥ó¥È¤Î»²¹ÍÎã¤â¡¢EnemyController ¥¹¥¯¥ê¥×¥È¤Î¼ÂÁõ¤¬Ìò¤ËΩ¤Á¤Þ¤¹¤Î¤Ç¤½¤Á¤é¤ò»²¹Í¤Ë½ñ¤¤¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£
DefenseBase.cs
¡¡
¡¡¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¤¿¤é¥»¡¼¥Ö¤·¤Þ¤¹¡£
¡¡¥²¡¼¥à¤ò¼Â¹Ô¤·¤Æ¡¢¥¨¥Í¥ß¡¼¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òµòÅÀ¤Þ¤Ç°ÜÆ°¤µ¤»¤Æ¤¯¤À¤µ¤¤¡£
µòÅÀ¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¥³¥é¥¤¥À¡¼¤Ë¥¨¥Í¥ß¡¼¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤¬¿¯Æþ¤·¤¿ºÝ¤Ë¡¢Console ¥Ó¥å¡¼¤Ë Tag ¤Î¾ðÊó(Enemy)¤¬É½¼¨¤µ¤ì¤ì¤ÐÀ©¸æÀ®¸ù¤Ç¤¹¡£
¡ã¼Â¹ÔÆ°²è¡ä
Æ°²è¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯
¡¡À®¸ù¤·¤¿¤é¡¢¤½¤Î¸å¡¢EnemySet ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î Tag ¤ò Untagged ¤ËÌᤷ¤Æ¡¢Æ±¤¸¤è¤¦¤Ë¥²¡¼¥à¤ò¼Â¹Ô¤·¤ÆµòÅÀ¤Þ¤Ç°ÜÆ°¤µ¤»¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£
º£²ó¤Ï Tag ¤ÇÀ©¸æ¤ò¹Ô¤¦¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢¤³¤Î¾õÂ֤ǥ¨¥Í¥ß¡¼¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤¬¿¯Æþ¤·¤Æ¤â¡¢¿¯ÆþȽÄê¤ÏȯÀ¸¤·¤Ê¤¤¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
¡¡¤½¤ì¤Ç¤ÏºÇ¸å¤Î½èÍý¤ò¼ÂÁõ¤·¤Þ¤·¤ç¤¦¡£
£¸¡¥DefenseBase ¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¡¢¿¯ÆþȽÄê¤ÎºÝ¤ËÂѵ×ÎϤÎÃͤò 10 ¸º¤é¤¹½èÍý¤òÄɲ䷤ơ¢¥¨¥Í¥ß¡¼¤òÇ˲õ¤¹¤ë
¡¡¤³¤Î¼ê½ç¤Ç¤ÎºÇ¸å¤Î¼ÂÁõ¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¡À߷פˤ¢¤Ã¤¿¤è¤¦¤Ë¡¢¥¨¥Í¥ß¡¼¤Î¥³¥é¥¤¥À¡¼¤ò»ý¤Ä¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤¬¿¯Æþ¤·¤¿¾ì¹ç¤Ë¤Ï¡¢Âѵ×ÎÏ(durability ÊÑ¿ô)¤ÎÃͤò 10 ¸º»»¤¹¤ë½èÍý¤ò¼ÂÁõ¤·¤Þ¤¹¡£
·×»»·ë²Ì¤Ï Debug.Log ¥á¥½¥Ã¥É¤òÍøÍѤ·¤Æ¡¢Console ¥Ó¥å¡¼¤Ë¡¢·×»»·ë²Ì¸å¤Î»Ä¤ê¤ÎÂѵ×ÎϤÎÃͤòɽ¼¨¤·¤Þ¤·¤ç¤¦¡£
¡¡¤Þ¤¿¤³¤Î·×»»½èÍý¤È¤È¤â¤Ë¡¢¥¨¥Í¥ß¡¼¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òÇ˲õ¤¹¤ë½èÍý¤â¼ÂÁõ¤·¤Þ¤¹¡£
¡¡¤³¤ÎÉôʬ¤â¡¢EnemyController ¥¹¥¯¥ê¥×¥È¤Î¼ÂÁõ¤ò»×¤¤½Ð¤·¤Æ¤¯¤À¤µ¤¤¡£
°ÊÁ°¤Î¼ê½ç¤ò¤ß¤Æ¤â¤¤¤¤¤Ç¤¹¤·¡¢EnemyController ¥¹¥¯¥ê¥×¥È¤ò»²¹Í¤Ë¤·¤Æ¤â¹½¤¤¤Þ¤»¤ó¤Î¤Ç¡¢
¤Þ¤º¤Ï¡¢¥í¥¸¥Ã¥¯ÍѤËÆüËܸì¤Î¥³¥á¥ó¥È¤ò¼«Ê¬¤Ç¹Í¤¨¤Æ½ñ¤¤¤Æ¤«¤é¡¢¥×¥í¥°¥é¥à¤òµ½Ò¤·¤Æ¤¤¤¤Þ¤¹¡£
DefenseBase.cs
¡¡¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¤¿¤é¥»¡¼¥Ö¤·¤Þ¤¹¡£
¡¡¤¹¤Ù¤Æ¤Î¼ê½ç¤¬½ªÎ»¤·¤Þ¤·¤¿¤Î¤Ç¡¢¥²¡¼¥à¤ò¼Â¹Ô¤·¤Æ¡¢¥¨¥Í¥ß¡¼¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òµòÅÀ¤Þ¤Ç°ÜÆ°¤µ¤»¤Æ¥³¥é¥¤¥À¡¼¤Ë¿¯Æþ¤µ¤»¤Æ¤¯¤À¤µ¤¤¡£
Console ¥Ó¥å¡¼¤Ë»Ä¤ê¤ÎÂѵ×ÎϤÎÃͤ¬É½¼¨¤µ¤ì¤ì¤ÐÀ©¸æÀ®¸ù¤Ç¤¹¡£
¡¡¤Þ¤¿¡¢µòÅÀ¤Î¥³¥é¥¤¥À¡¼¤Ë¿¯Æþ¤·¤¿¥¨¥Í¥ß¡¼¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤¬Ç˲õ¤µ¤ì¤Æ¤¤¤ì¤Ð¡¢¤³¤Á¤é¤âÀ©¸æÀ®¸ù¤Ç¤¹¡£
¡¡
¡ã¼Â¹ÔÆ°²è¡ä
Æ°²è¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯
¡ãǤ°Õ¡ä£±£°¡¥EnemyController ¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¡¢¥²¡¼¥à²èÌ̳°¤Ë½Ð¤¿ºÝ¤ËÇ˲õ¤Î½èÍý¤ò¥³¥á¥ó¥È¥¢¥¦¥È¤¹¤ë
¡¡¤¤¤Þ¤Þ¤Ç¥¨¥Í¥ß¡¼¤ËÂФ·¤Æ¤Ï¡¢¥²¡¼¥à²èÌ̳°¤Ë¤Ê¤Ã¤¿ºÝ¤Ë¼«Æ°Åª¤Ëºï½ü¤µ¤ì¤ë½èÍý¤ò»Ü¤·¤Æ¤¤¤Þ¤·¤¿¡£
¡¡º£²ó DefenceBase ¥¹¥¯¥ê¥×¥È¤Ë¤è¤ë¥¨¥Í¥ß¡¼Ç˲õ½èÍý¤¬²Ã¤ï¤ê¤·¤Þ¤·¤¿¤Î¤Ç¡¢¥²¡¼¥à²èÌ̳°¤Ë¥¨¥Í¥ß¡¼¤¬½Ð¤ë¤³¤È¤Ï¤Ê¤¯¤Ê¤ê¤Þ¤·¤¿¡£
¤è¤Ã¤Æ¡¢EnemyController ¤Î Update ¥á¥½¥Ã¥ÉÆâ¤Ë¤¢¤ë¡¢¥²¡¼¥à²èÌ̳°¤Ë½Ð¤¿¤éÇ˲õ¤¹¤ë¡¢¤È¤¤¤¦´û¸¤Î½èÍý¤ÏÉÔÍפȤʤê¤Þ¤·¤¿¡£
¡¡
¡¡Ëº¤ì¤Ê¤¤¤¦¤Á¤Ë¡¢EnemyController ¤ò½¤Àµ¤·¡¢³ºÅö¤Î½èÍý¤ò¥³¥á¥ó¥È¥¢¥¦¥È¤·¤Æ¤ª¤¤Þ¤·¤ç¤¦¡£
EnemyController.cs
void Update() { ¡¡¡¡¡¡¡¡// ¤³¤Î¥¹¥¯¥ê¥×¥È¤¬¥¢¥¿¥Ã¥Á¤·¤Æ¤¤¤ë¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò½ù¡¹¤Ë°ÜÆ°¤¹¤ë transform.Translate(0, -0.01f, 0); // °ìÄêÃÏÅÀ¤Þ¤Ç¥¨¥Í¥ß¡¼¤¬°ÜÆ°¤·¤¿¤é = ¤³¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î°ÌÃÖ¤¬°ìÄêÃÍ(-1500)¤òĶ¤¨¤¿¤é //if (transform.localPosition.y < -1500) { // ¤³¤Î¥¹¥¯¥ê¥×¥È¤¬¥¢¥¿¥Ã¥Á¤·¤Æ¤¤¤ë¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òÇ˲õ¤¹¤ë //Destroy(gameObject);¡¡¡¡ //} }
¡¡¤Ê¤ª¥³¥á¥ó¥È¥¢¥¦¥È¤ò¤¹¤ë¾ì¹ç¡¢°ÜÆ°¤µ¤»¤ë½èÍý¼«ÂΤÏɬÍפǤ¹¤Î¤Ç¡¢½èÍý¤ÎÆâÍƤò¤¤Á¤ó¤ÈÆɤ߲ò¤¤¤Æ¡¢ÉÔÍפÊÉôʬ¤À¤±¤ò¥³¥á¥ó¥È¥¢¥¦¥È¤¹¤ë¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£
¡¡°Ê¾å¤Ç¤³¤Î¼ê½ç¤Ï½ªÎ»¤Ç¤¹¡£
¡¡¼¡¤Ï¡¡¼ê½ç£±£³¡¡¡¼¥¨¥Í¥ß¡¼¤Î¾ðÊó¤òÍøÍѤ·¤Æ¥×¥ì¥¤¥ä¡¼¤ÎµòÅÀ¤ÎÂѵ×ÎϤò¸º»»¤¹¤ëÀ©¸æ¤Î¼ÂÁõ¡¼¡¡¤Ç¤¹¡£
- ¥«¥Æ¥´¥ê¡§
- ¿Ê³Ø/¥¹¥¯¡¼¥ë
- ¥×¥í¥°¥é¥ß¥ó¥°
¥³¥á¥ó¥È¤ò¤«¤¯