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

¡¡Á°²ó¤Ë³¤¤¤Æ¡¢Â°À­¤Ë¤Ä¤¤¤Æ¤Î¼ÂÁõ½èÍý¤ò¹Ô¤¤¤Þ¤¹¡£º£²ó¤Ï°Ê²¼¤ÎÆâÍƤǽçÈ֤˼ÂÁõ¤ò¿Ê¤á¤Æ¤¤¤­¤Þ¤¹¡£

ȯŸ£³£´¡¡¡Ý°À­¤ÎÍ×ÁǤα¿ÍÑ¡Ý
£¶£¸¡¥GameData ¥¹¥¯¥ê¥×¥È¤È¡¢EnemyController ¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¡¢¥Ð¥ì¥Ã¥È¤Î»ý¤Ä°À­¾ðÊó¤È¡¢¥¨¥Í¥ß¡¼¤Î»ý¤Ä°À­¾ðÊó¤ò ElementCompatibilityHelper ¥¹¥¯¥ê¥×¥È¤òÍøÍѤ·¤ÆÁêÀ­È½Äꤷ¡¢ÁêÀ­¤¬Îɤ¤¾ì¹ç¤Ë¤ÏÍ¿¤¨¤ë¥À¥á¡¼¥¸¤òÁý¤ä¤¹¤è¤¦¤Ë¤¹¤ë
£¶£¹¡¥DefenseBase ¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¡¢ÁªÂò¤·¤Æ¤¤¤ë¥Ð¥ì¥Ã¥È¤Î°À­¾ðÊó¤È¥¨¥Í¥ß¡¼¤ä¥¨¥Í¥ß¡¼¤Î¥Ð¥ì¥Ã¥È¤Î»ý¤Ä°À­¾ðÊó¤ò ElementCompatibilityHelper ¥¹¥¯¥ê¥×¥È¤òÍøÍѤ·¤ÆÁêÀ­È½Äꤷ¡¢ÁêÀ­¤¬Îɤ¤¾ì¹ç¤Ë¤Ï¼õ¤±¤ë¥À¥á¡¼¥¸¤òÁý¤ä¤¹¤è¤¦¤Ë¤¹¤ë



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

¡¡¡¦Ìá¤êÃͤò»ý¤Ä¥á¥½¥Ã¥É¤Î½èÍý¤Î¼ÂÁõÎã¡¡¡Ýif ʸ¤Î¾ò·ï¼°¡¢°ú¿ô¤Ø¤Î»ØÄê¡¢Ìá¤êÃ͸å¤Î·¿¤ËÂФ·¤Æ³¤±¤Æµ­½Ò¤¹¤ë½èÍý¡Ý



£¶£¸¡¥GameData ¥¹¥¯¥ê¥×¥È¤È¡¢EnemyController ¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¡¢¥Ð¥ì¥Ã¥È¤Î»ý¤Ä°À­¾ðÊó¤È¡¢¥¨¥Í¥ß¡¼¤Î»ý¤Ä°À­¾ðÊó¤ò ElementCompatibilityHelper ¥¹¥¯¥ê¥×¥È¤òÍøÍѤ·¤ÆÁêÀ­È½Äꤷ¡¢ÁêÀ­¤¬Îɤ¤¾ì¹ç¤Ë¤ÏÍ¿¤¨¤ë¥À¥á¡¼¥¸¤òÁý¤ä¤¹¤è¤¦¤Ë¤¹¤ë

£±¡¥Àß·×


¡¡Â°À­¤Î¾ðÊó¤òÍøÍѤ·¤ÆȽÄê¤ò¹Ô¤¦½èÍý¤Þ¤Ç¼ÂÁõ¤Ç¤­¤Þ¤·¤¿¤Î¤Ç¡¢¼¡¤Ï¡¢¤³¤Î½èÍý¤ò¼ÂºÝ¤Ë¸Æ¤Ó½Ð¤·¤Æ
°À­´Ö¤ÎÁêÀ­¤ò¿¿µ¶ÃͤȤ·¤ÆȽÄꤷ¡¢¼åÅÀ¤Î¾ì¹ç¤È¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤È¤Ç½èÍý¤òʬ´ô¤Ç¤­¤ë¤è¤¦¤Ë¤¹¤ë¥í¥¸¥Ã¥¯¤ò¹Í¤¨¤Þ¤¹¡£

¡¡¼åÅÀ¤Ç¤¢¤ë¾ì¹ç¤Ë¤Ï¡¢¥À¥á¡¼¥¸¤ÎÃͤòÁý¤ä¤¹¤è¤¦¤ÊÀ߷פˤ·¤Þ¤¹¡£
²Ã»»Êý¼°¤Ï¿§¡¹¤ÊÊýË¡¤¬¤¢¤ê¤Þ¤¹¤¬¡¢º£²ó¤Ï¡¢»ØÄꤷ¤¿ÇÜΨ¤ò¥À¥á¡¼¥¸Ãͤ˾軻¤¹¤ë·×»»¼°¤òÍøÍѤ·¤Þ¤¹¡£

¡¡°Ê¾å¤Î¤³¤È¤«¤é¡¢ÇÜΨ¤ÎÀßÄê¤ò¤É¤Î¥¹¥¯¥ê¥×¥È¤Ëµ­½Ò¤¹¤ë¤«¤â°ì½ï¤Ë¹Í¤¨¤Æ¤¤¤­¤Þ¤¹¡£
¡¡
¡¡¤³¤Î¾ðÊó¤â°À­¤ÎȽÄê¥á¥½¥Ã¥É¤ÈƱ¤¸¤Ç¡¢¥×¥ì¥¤¥ä¡¼Â¦¡¢¤¢¤ë¤¤¤Ï¥¨¥Í¥ß¡¼Â¦¡¢¤É¤Á¤é¤Ç¤âÍøÍѤ¹¤ë½èÍý¤Ë¤Ê¤ê¤Þ¤¹¡£
ÊÌ¡¹¤Ë¾è»»¤¹¤ëÃͤòÍÑ°Õ¤·¤Æ¤â¤è¤¤¤Ç¤¹¤¬¡¢¤½¤Î¾ì¹ç¤Ç¤¢¤Ã¤Æ¤â¡¢ÀßÄêÃͤϰ줫½ê¤Ë¤Þ¤È¤á¤Æ¤ª¤¤¤¿Êý¤¬´ÉÍý¤Ï³Ú¤Ë¤Ê¤ê¤Þ¤¹¡£

¡¡ÆÃ¤Ë GameData ¥¯¥é¥¹¤Î¤è¤¦¤Ê¤â¤Î¤Ë´ÉÍý¤ò¤µ¤»¤ë¤³¤È¤Ç¡¢¤¤¤º¤ì¤Î¥¹¥¯¥ê¥×¥È¤«¤é¤âÊÑ¿ô¤ÎÂåÆþ¤Ê¤·¤Ç¤Î»²¾È¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¤Î¤Ç¡¢
ÍøÍÑÊýË¡¤ò¹Í¤¨¤¿¾å¤Ç¼ÂÁõ¤ò¹Ô¤Ã¤Æ¤¤¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£

¡¡£±¤Ä¤º¤Ä¡¢À߷פ·¤¿ÆâÍƤò½ñ¤­¤À¤·¤Æ¡¢¤½¤ì¤ò¸«¤Ê¤¬¤é¥í¥¸¥Ã¥¯¤òÁȤßΩ¤Æ¤Æ¤Æ¤¤¤Ã¤Æ¤¯¤À¤µ¤¤¡£
¤¤¤Þ¤Þ¤Ç³Ø½¬¤·¤Æ¤­¤¿¡ÖÀ߷ס×Éôʬ¤Ë¤ÏÍÍ¡¹¤ÊÀ߷פμê½ç¤¬¤Þ¤È¤á¤é¤ì¤Æ¤¤¤Þ¤·¤¿¡£
Ʊ¤¸¤è¤¦¤Ë¼«Ê¬¤Ç¡ÖÀ߷ספò¹Ô¤¤¡¢¤½¤ì¤ò¥í¥¸¥Ã¥¯²½¤·¤Æ¤¤¤¯ÊýË¡¤Ç½èÍý¤Î¼ÂÁõ¤ò¿Ê¤á¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£


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


¡¡Â°À­´Ö¤ÎÁêÀ­¤ÎȽÄê¤Ë¤è¤ê¡¢¥À¥á¡¼¥¸¤òÁý¤ä¤¹¤¿¤á¤ÎÇÜΨÍѤÎÊÑ¿ô¤È¥á¥½¥Ã¥É¤òÍÑ°Õ¤·¤Þ¤¹¡£
º£¤Þ¤Ç¤ÈƱ¤¸¤è¤¦¤Ë¡¢¥À¥á¡¼¥¸ÇÜΨÍѤÎÊÑ¿ô¤È¡¢¤½¤ÎÊÑ¿ô¤ò»²¾È¤Ç¤­¤ë¥á¥½¥Ã¥É¤ò¥í¥¸¥Ã¥¯¤È¤·¤Æ¸¡Æ¤¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£
¥á¥½¥Ã¥É¤Ç¤Ï¤Ê¤¯¡¢¥×¥í¥Ñ¥Æ¥£¤Ë¤·¤Æ¤â¤è¤¤¤Ç¤·¤ç¤¦¡£

¡¡GameData ¥¯¥é¥¹¤Ç´ÉÍý¤·¤Æ¤ª¤¯¤³¤È¤Ë¤è¤ê¡¢¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤è¤êÀßÄ꤬½ÐÍè¤ë¤À¤±¤Ç¤Ï¤Ê¤¯¡¢
¤¤¤º¤ì¤Î¥¹¥¯¥ê¥×¥È¤«¤é¤â»²¾È¤¬Íưפˤʤê¤Þ¤¹¡£

¡¡¤Ê¤ª¡¢public ½¤¾þ»Ò¤ÇÀë¸À¤·¤ÆÍøÍѤ¹¤ë¤³¤È¤¬ºÇ¤â´Êñ¤ÊÊýË¡¤Ç¤¹¤¬¡¢¤½¤Î¼ÂÁõÊýË¡°Ê³°¤Ç¼ÂÁõ¤·¤Æ¤¯¤À¤µ¤¤¡£
³Ø½¬¤ÎÌÜŪ¤Ï¡¢ÊÑ¿ô¤òÍøÍѤ¹¤ë¤À¤±¤Ç¤Ï¤Ê¤¯¡¢¤·¤Ã¤«¤ê¤È¤·¤¿¥í¥¸¥Ã¥¯¤òÁȤßΩ¤Æ¤é¤ì¤ë¤è¤¦¤Ë¤Ê¤ë¤³¤È¤Ç¤¹¡£


GameData.cs

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


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

¡¡GameData ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤ò³Îǧ¤·¤Þ¤¹¡£
¿·¤·¤¯ SerializeField°À­¤ÇÀë¸À¤·¤¿ damageRatio ÊÑ¿ô¤¬Äɲ䵤ì¤Æ¤¤¤Þ¤¹¡£


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



¡¡damageRatio ÊÑ¿ô¤Ë°À­´Ö¤ÎÁêÀ­¤¬Îɤ«¤Ã¤¿¾ì¹ç¤ÎÇÜΨ¤òÀßÄꤷ¤Þ¤¹¡£
ºÇ½é¤Ï 2 ¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£ÁêÀ­¤¬¤è¤¤¥Ð¥ì¥Ã¥È¤¬¥¨¥Í¥ß¡¼¤ËÀÜ¿¨¤·¤¿¾ì¹ç¡¢¥À¥á¡¼¥¸¤¬£²Çܤˤʤê¤Þ¤¹¡£


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


¡¡À߷פ˴ð¤Å¤¤¤Æ¡¢½èÍý¤Î½¤Àµ¾ì½ê¤òÆÃÄꤷ¤Æ¡¢½èÍý¤òÄɲä·¤¿¤ê¡¢ºï½ü¤·¤¿¤ê¤·¤Æ¤¯¤À¤µ¤¤¡£
¤É¤ó¤Ê¥í¥¸¥Ã¥¯¤Ë¤Ê¤Ã¤Æ¤¤¤ì¤Ð¤¤¤¤¤«¤ò¹Í¤¨¤Æ¡¢½èÍý¤Îή¤ì¤ò¤ß¤Ê¤¬¤é¼ÂÁõ¤ò¹Ô¤¦¤³¤È¤ò¿´¤¬¤±¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£

¡¡Ê¬´ôÆâ¤ËƱ¤¸½èÍý¤ò½ñ¤¯¾ì¹ç¡¢¤¹¤Ù¤Æ¤Î½èÍý¤ò½ñ¤¤¤Æ¤«¤é¤Ç¤è¤¤¤Î¤Ç¡¢¤½¤Î½ÅÊ£¤·¤Æ¤¤¤ë½èÍý¤ò£±²Õ½ê¤Ë¤Þ¤È¤á¤Æ½ñ¤¯¤³¤È¤Ï¤Ç¤­¤Ê¤¤¤«¡¢
¥í¥¸¥Ã¥¯¤Îή¤ì¤ò¸«Ä¾¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£¸«Ä¾¤·¤ò¤¹¤ë¤³¤È¤Ç¥í¥¸¥Ã¥¯¤ÎÁȤßΩ¤ÆÎϤ¬Íܤï¤ì¤Þ¤¹¡£

¡¡Â°À­´Ö¤ÎÁêÀ­¤¬¤è¤¯¡¢¥¨¥Í¥ß¡¼¤Ë¤È¤Ã¤Æ¼åÅÀ¤È¤Ê¤ë°À­¤Ç¤¢¤Ã¤¿¾ì¹ç¤Ë¤Ï¡¢Debug.Log ¥á¥½¥Ã¥É¤òÍøÍѤ·¤Æ¡¢
¤½¤Î¾ðÊó¤ò Console ¥Ó¥å¡¼¤Ëɽ¼¨¤¹¤ë¤è¤¦¤Ë¤·¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡£ÁêÀ­¤ÎÎɤ·¤¢¤·¤òȽÄꤷ¤¿·ë²Ì¤¬ Console ¥Ó¥å¡¼¤ÇȽÊ̤Ǥ­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£


EnemyController.cs


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


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


¡¡¥¹¥¯¥ê¥×¥È¤Î¸«Ä¾¤·¤¬½ªÎ»¤·¤¿¤é¡¢¥²¡¼¥à¤ò¼Â¹Ô¤·¤Æ¡¢Â°À­¤Ë¤è¤ë¼åÅÀÍ×ÁǤ¬¥²¡¼¥àÆâ¤ËÈ¿±Ç¤µ¤ì¤Æ¤¤¤ë¤«¡¢³Îǧ¤·¤Þ¤¹¡£


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


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



¡¡¥²¡¼¥à¤ò°ì»þÄä»ß¤·¤Ê¤¬¤é¡¢Console ¥Ó¥å¡¼¤Îɽ¼¨¤â³Îǧ¤·¤Ê¤¬¤é¡¢¼åÅÀ¤Î¸ú²Ì¤¬¥²¡¼¥àÆâ¤ËÈ¿±Ç¤µ¤ì¤Æ¤¤¤ë¤«³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£


¥Î¡¼¥Þ¥ë¤Î¥Ð¥ì¥Ã¥È(¤É¤Á¤é¤Î¥¨¥Í¥ß¡¼¤â¼åÅÀ¤Ç¤Ï¤Ê¤¤)



¼åÅÀ¤Ç¤Ï¤Ê¤¤ÁêÀ­¤Î¥Ð¥ì¥Ã¥È



¼åÅÀ¤ÎÁêÀ­¤Î¥Ð¥ì¥Ã¥È(¾åµ­¤Î£²ÇܤÎÃͤˤʤäƤ¤¤ë)



£¶£¹¡¥DefenseBase ¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¡¢ÁªÂò¤·¤Æ¤¤¤ë¥Ð¥ì¥Ã¥È¤Î°À­¾ðÊó¤È¥¨¥Í¥ß¡¼¤ä¥¨¥Í¥ß¡¼¤Î¥Ð¥ì¥Ã¥È¤Î»ý¤Ä°À­¾ðÊó¤ò ElementCompatibilityHelper ¥¹¥¯¥ê¥×¥È¤òÍøÍѤ·¤ÆÁêÀ­È½Äꤷ¡¢ÁêÀ­¤¬Îɤ¤¾ì¹ç¤Ë¤Ï¼õ¤±¤ë¥À¥á¡¼¥¸¤òÁý¤ä¤¹¤è¤¦¤Ë¤¹¤ë

£±¡¥Àß·×


¡¡Àè¤Û¤É¤ÎÀ߷פÈƱ¤¸¤è¤¦¤Ê½èÍý¤ò¡¢º£Å٤ϥץ쥤¥ä¡¼Â¦¤¬¥À¥á¡¼¥¸¤ò¼õ¤±¤ë¦¤È¤·¤Æ¡¢¥í¥¸¥Ã¥¯¤òÁȤßΩ¤Æ¤Æ¤¯¤À¤µ¤¤¡£

¡¡¥¨¥Í¥ß¡¼Â¦¤Î°À­¾ðÊó¤È°Û¤Ê¤ê¡¢¥×¥ì¥¤¥ä¡¼Â¦¤Î°À­¤Ï¡¢¤½¤Î»þÅÀ¤ÇÁªÂò¤·¤Æ¤¤¤ë¥Ð¥ì¥Ã¥È¤Î°À­¤Î¾ðÊó¤òÍøÍѤ·¤Þ¤¹¡£
¤³¤Î¤¿¤á¡¢¤³¤Î¥²¡¼¥à¤Î¥×¥ì¥¤¥ó¥°¤Ë¤Ï¡¢¥¨¥Í¥ß¡¼¤Ë¹ç¤ï¤»¤Æ¼åÅÀ¤È¤Ê¤ë¥Ð¥ì¥Ã¥È¤òÀÚ¤êÂؤ¨¤ë¤À¤±¤Ç¤Ï¤Ê¤¯¡¢¥¨¥Í¥ß¡¼Â¦¤«¤é¼åÅÀ¤È¤Ê¤ë°À­¤Î¥Ð¥ì¥Ã¥È¤ò¤Ê¤ë¤Ù¤¯Áª¤Ð¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤È¤¤¤¦¡¢
ÁªÂò»è¤ËÂФ·¤Æ¤Î¥¸¥ì¥ó¥Þ¤¬À¸¤¸¤ëÀ߷פˤʤäƤ¤¤Þ¤¹¡£

¡¡¤³¤¦¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢²¿¤â¹Í¤¨¤º¤Ë¥Ð¥ì¥Ã¥È¤òÀÚ¤êÂؤ¨¤ÆÍ·¤Ö¤È¤¤¤¦³Ú¤·¤ß¤À¤±¤Ç¤Ï¤Ê¤¯¡¢
¥×¥ì¥¤¥ä¡¼¤Ï¥²¡¼¥à¤ò¿¼¤¯Íý²ò¤·¤è¤¦¤È¤·¡¢¤è¤ê¸¦µæ¤·¡¢¾å¼ê¤¯¤Ê¤í¤¦¤È¤¹¤ë¤Ç¤·¤ç¤¦¡£
¤½¤Î¤è¤¦¤Ê¥×¥ì¥¤¥ä¡¼¤Î¥¹¥­¥ë¤ä¡¢Ãµµá¿´¤ËÁʵᤷ¡¢¿§¡¹¤ÊÍ·¤ÓÊý¤¬½ÐÍè¤ë¤³¤È¤òÄó°Æ¤¹¤ë»Å³Ý¤±ºî¤ê¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£


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


¡¡Á°²óÀ߷פ·¤¿¥í¥¸¥Ã¥¯¤ÈƱ¤¸¤è¤¦¤Ë¡¢¥¨¥Í¥ß¡¼Â¦¤Î°À­¤È¡¢¸½ºßÁªÂò¤·¤Æ¤¤¤ë¥Ð¥ì¥Ã¥È¤Î°À­¤Î¾ðÊó¤È¤òȽÄꤷ¤Æ¡¢
¼åÅÀ¤Ç¤¢¤ë¤«¡¢¼åÅÀ¤Ç¤Ï¤Ê¤¤¤«¤òȽÄꤷ¡¢À©¸æ¤¹¤ë½èÍý¤ò¼ÂÁõ¤·¤Æ¤¯¤À¤µ¤¤¡£

¡¡¸½ºß»ÈÍѤ·¤Æ¤¤¤ë¥Ð¥ì¥Ã¥È¤Î¾ðÊó¤Ï¡¢GameData ¥¯¥é¥¹¤Ë¤¢¤ë¥á¥½¥Ã¥É¤ò¼Â¹Ô¤¹¤ë¤³¤È¤Ç¾ðÊó¤ò¼èÆÀ½ÐÍè¤Þ¤¹¡£

¡¡¤Þ¤¿¤³¤ì¤é¤Î½èÍý¤Ë¹ç¤ï¤»¤Æ¡¢¥¨¥Í¥ß¡¼¤Îȯ¼Í¤¹¤ë¥Ð¥ì¥Ã¥È¤Î¥À¥á¡¼¥¸ÃͤˤĤ¤¤Æ¡¢BulletData ¤«¤é»²¾È¤¹¤ë¤è¤¦¤ËÊѹ¹¤·¤Æ¤¯¤À¤µ¤¤¡£
EnemyData ¤Î¾ì¹ç¤È¤ª¤Ê¤¸¤Ç¡¢½¤Àµ¤·¤Æ¥Ð¥ì¥Ã¥È¤«¤é¤Î¥À¥á¡¼¥¸Ãͤò¸ÇÄêÃͤǤϤʤ¯¤Ê¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£

¡¡¼«Ê¬¤Î¹Í¤¨¤¿¼ÂÁõ¤ò¹Ô¤Ã¤¿¾å¤Ç¡¢¾å¼ê¤¯¤¤¤Ã¤Æ¤â¡¢¾å¼ê¤¯¤¤¤«¤Ê¤¯¤Æ¤â¹½¤ï¤Ê¤¤¤Î¤Ç¡¢²¿¤â¸«¤º¤Ë¡¢ºÇ¸å¤Þ¤Ç¼«Ê¬¤Ç½ñ¤¤¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£
¤½¤ì¤«¤é¶µºà¤ò³Îǧ¤·¤Æ¤âÃÙ¤¯¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤¿¤¯¤µ¤ó¹Í¤¨¤Æ¡¢½èÍý¤ò½ñ¤­Ä¾¤·¤Æ¡¢¥Ç¥Ð¥Ã¥°¤ò·«¤êÊÖ¤¹¤³¤È¤¬¤è¤ê¤è¤¤³Ø½¬¤Ë¤Ä¤Ê¤¬¤ê¤Þ¤¹¡£

¡¡Ê£¿ô¤Î½èÍý¤ò°ìÅ٤˼ÂÁõ¤·¤è¤¦¤È¤Ï¤»¤º¡¢£±¤Ä¤Î½èÍý¤òµ­½Ò¤·¤Æ¥Ç¥Ð¥Ã¥°¤ò¹Ô¤¤¡¢¤½¤ì¤¬ÌäÂê¤Ê¤±¤ì¤Ð¼¡¤Î½èÍý¡¢¤È¤¤¤¦¤è¤¦¤Ë
Ê£¿ô¤Î½èÍý¤òÀѤ߽ŤͤƤ¤¤Ã¤Æ¡¢¼ÂÁõ¤ò´°À®¤¹¤ë¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£


DefenseBase.cs

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


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


£³¡¥¡ãÌá¤êÃͤò»ý¤Ä¥á¥½¥Ã¥É¤Î½èÍý¤Î¼ÂÁõÎã¡¡¡Ýif ʸ¤Î¾ò·ï¼°¡¢°ú¿ô¡¢Ìá¤êÃ͸å¤Î·¿¤ËÂФ·¤Æ³¤±¤Æµ­½Ò¤¹¤ë½èÍý¡Ý¡ä


¡¡º£²ó¼ÂÁõ¤·¤Æ¤¤¤ë JudgeDamageToElementType ¥á¥½¥Ã¥É¤Ç¤ÏÌá¤êÃͤò»ý¤Ä¥á¥½¥Ã¥É¤¬£³²Õ½ê¤ÇÍøÍѤµ¤ì¤Æ¤¤¤Þ¤¹¡£

  ¡¡¡¡¡¡if (ElementCompatibilityHelper.GetElementCompatibility(attackElementType, GameData.instance.GetCurrentBulletData().elementType)) {

            // ¥¨¥Í¥ß¡¼¤Î¹¶·â°À­¤¬¥×¥ì¥¤¥ä¡¼Â¦¤Î¼åÅÀ¤Ç¤¢¤ë¤Ê¤é¡¢Èï¥À¥á¡¼¥¸¤ËÇÜΨ¤ò¤«¤±¤ë
            lastDamage = Mathf.FloorToInt(attackPower * GameData.instance.GetDamageRatio());

            Debug.Log("¼åÅÀ");
        }

¡¡if ʸ¤Î¾ò·ï¼°¤Ë¤Ï¡¢È½Äê¤ÎÂоݤȤ·¤Æ¡¢Ìá¤êÃͤò»ý¤Ä¥á¥½¥Ã¥É¤ò»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
¤½¤Î¾ì¹ç¡¢¤½¤Î¥á¥½¥Ã¥ÉÆâ¤Ç¤Î½èÍý¤Î·ë²Ì¤ò¤â¤È¤Ë¡¢if ʸ¤¬È½Äê¤ò¹Ô¤¤¤Þ¤¹¡£

¡¡º£²ó½èÍý¤µ¤ì¤Æ¤¤¤ë¥á¥½¥Ã¥É¤Ï¡¢ElementCompatibilityHelper ¥¯¥é¥¹¤Ë¤¢¤ë¡¢GetElementCompatibility ¥á¥½¥Ã¥É¤Ç¤¹¡£
¤³¤Î GetElementCompatibility ¥á¥½¥Ã¥É¤ÎÌá¤êÃÍ¤Ï bool ·¿¤Ç¤¹¤Î¤Ç¡¢if ʸ¤ÏÌá¤êÃͤÎÃͤΠtrue ¤« false ¤ò¸«¤Æ¡¢½èÍý¤Îʬ´ô¤òȯÀ¸¤µ¤»¤Æ¤¤¤Þ¤¹¡£
¤½¤·¤Æ¡¢true ¤Î¾ì¹ç¤Ë¸Â¤ê¾ò·ï¤òËþ¤¿¤·¡¢lastDamage ¡Á¤ÎʸÀ᤬¼Â¹Ô¤µ¤ì¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£



¡¡GetElementCompatibility ¥á¥½¥Ã¥É¤ÎÂè2°ú¿ô¤Ë¤â¡¢Ìá¤êÃͤò»ý¤Ä¥á¥½¥Ã¥É¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤Þ¤¹¡£

  GameData.instance.GetCurrentBulletData().elementType

¡¡¤³¤Á¤é¤Î½èÍý¤Ë¤Ê¤ê¤Þ¤¹¡£GameData ¥¯¥é¥¹¤Ë¤¢¤ë GetCurrentBulletData ¥á¥½¥Ã¥É¤ò¼Â¹Ô¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢
¸½ºß»ÈÍѤ·¤Æ¤¤¤ë¥Ð¥ì¥Ã¥È¤Î BalletData ¤Î¾ðÊó¤ò¼èÆÀ¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
¼èÆÀ¤·¤¿ BalletData ¤Î¾ðÊó¤Ë¤Ï¤µ¤é¤ËÊÑ¿ô¤¬´Þ¤Þ¤ì¤Æ¤ª¤ê¡¢¤½¤ÎÃæ¤Î elementType ¤È¤¤¤¦¾ðÊó¤ò¡¢¤³¤ÎÉôʬ¤Ç¤ÏÍøÍѤ·¤Æ¤¤¤Þ¤¹¡£
¤Ä¤Þ¤ê¡¢GetCurrentBulletData().elementType ¤È¤Ï¡¢¸½ºß»ÈÍѤ·¤Æ¤¤¤ë BulletData.elmentType ¤È¤¤¤¦»ØÄê¤Ë¤Ê¤ê¤Þ¤¹¡£
¥Ô¥ê¥ª¥É¤ÎÉôʬ¤Þ¤Ç¤¬Ìá¤êÃͤǤ¹¡£

¡¡Ìá¤êÃͤΤ¢¤ë¥á¥½¥Ã¥É¤Ï¡¢½èÍý¤Î¾åÊÕ¤òÄɤ¤¤«¤±¤Æ¤â½èÍý¤ÎÆâÍƤ¬Æɤ߲ò¤±¤Þ¤»¤ó¡£
¥á¥½¥Ã¥É¤Î̾Á°¤¬½ÅÍפʤΤǤϤʤ¯¡¢¤½¤Î¥á¥½¥Ã¥ÉÆâ¤Ç½èÍý¤µ¤ì¤ÆÌá¤Ã¤Æ¤¯¤ëÃͤȷ¿¤¬½ÅÍפǤ¹¡£¤³¤ì¤ÏÊÑ¿ô¤âƱ¤¸¤Ç¤¹¡£
¡¡
¡¡Ìá¤êÃͤΤ¢¤ë¥á¥½¥Ã¥É¤Ë¤Ä¤¤¤Æ¤Ï¡¢¤½¤ÎÃæ¤Î½èÍý¤òÆɤ߲ò¤¤¤Æ¡¢¤É¤Î¤è¤¦¤Ê¾ðÊó¤¬ÃͤȤ·¤ÆÌᤵ¤ì¤Æ¤¤¤ë¤Î¤«¤òÆɤ߲ò¤¤¤Æ»Ï¤á¤Æ
¤½¤Î¤¢¤È¤Ë³¤¯½èÍý¤òÆɤ߲ò¤¯¤³¤È¤¬½ÐÍè¤Þ¤¹¡£

¡¡£±¤Ä£±¤Ä¤Î½èÍý¤òºÙ¤«¤¯Ê¬¤±¤Æ¡¢½çÈÖ¤ËÆɤ߲ò¤¤¤Æ¤¤¤¯¤è¤¦¤Ë¤·¤Þ¤·¤ç¤¦¡£

¡¡if ʸÆâ¤Î¥á¥½¥Ã¥É¡¢¤ª¤è¤Ó¡¢ÂåÆþ½èÍý¤Î±¦Êդ˽ñ¤«¤ì¤Æ¤¤¤ë¥á¥½¥Ã¥É¤Ï¡¢¤¹¤Ù¤ÆÌá¤êÃͤò»ý¤Ä¥á¥½¥Ã¥É¤Ë¤Ê¤ê¤Þ¤¹¡£
¤½¤¦¤¤¤Ã¤¿Éôʬ¤Ë¤âÃåÌܤ·¤Æ½èÍý¤òÆɤó¤Ç¤ß¤Æ¤¯¤À¤µ¤¤¡£



¡¡£³¤ÄÌܤÎÌá¤êÃͤò»ý¤Ä¥á¥½¥Ã¥É¤Ë¤Ä¤¤¤Æ¤â½ñ¤¤¤Æ¤ª¤­¤Þ¤¹¡£

¡¡// ¥¨¥Í¥ß¡¼¤Î¹¶·â°À­¤¬¥×¥ì¥¤¥ä¡¼Â¦¤Î¼åÅÀ¤Ç¤¢¤ë¤Ê¤é¡¢Èï¥À¥á¡¼¥¸¤ËÇÜΨ¤ò¤«¤±¤ë
  lastDamage = Mathf.FloorToInt(attackPower * GameData.instance.GetDamageRatio());

¡¡¥á¥½¥Ã¥É¤Î¾ì½ê¤ò³Îǧ¤·¤Þ¤·¤ç¤¦¡£±¦Êդ˵­ºÜ¤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢¤³¤Î GameData ¥¯¥é¥¹¤Ë¤¢¤ë GetDamageRatio ¥á¥½¥Ã¥É¤âÌá¤êÃͤò»ý¤Ä¥á¥½¥Ã¥É¤Ç¤¹¡£
¤³¤Î¥á¥½¥Ã¥É¤Î½èÍý¤Î·ë²Ì¤¬ float ·¿¤ÇÌá¤Ã¤Æ¤­¤Þ¤¹¤Î¤Ç¡¢¤½¤ÎÃÍ¤È attackPower ¤ò¾è»»¤·¡¢Mathf.FloorToInt ¥á¥½¥Ã¥É¤òÍøÍѤ·¤Æ¡¢Ã¼¿ô¤Ë´Ø¤·¤Æ¤ÏÀÚ¤ê¼Î¤Æ¤Æ int ·¿¤Ë¥­¥ã¥¹¥È¤·¤Æ¤¤¤Þ¤¹¡£

¡¡Æä˺£²ó¤Î¶µºà¤Î¾ì¹ç¡¢Get¡Á ¤Ç»Ï¤Þ¤ë¥á¥½¥Ã¥É¤Ï¤¹¤Ù¤ÆÌá¤êÃͤò»ý¤Ä¥á¥½¥Ã¥É̾¤ËÅý°ì¤·¤Æ¤¤¤Þ¤¹¡£¤½¤¦¤¤¤Ã¤¿À߷פˤ·¤Æ¤ª¤¯¤³¤È¤Ç
¥á¥½¥Ã¥É̾¤ò¸«¤¿¤À¤±¤Ç¤âÌá¤êÃͤò»ý¤Ä¥á¥½¥Ã¥É¤«¤É¤¦¤«È½ÃǤǤ­¤Þ¤¹¡£À§È󡢤½¤¦¤¤¤Ã¤¿´ÑÅÀ¤Ç¥á¥½¥Ã¥É̾¤â̿̾µ¬Â§¤ò¼«Ê¬¤Ê¤ê¤ËÀ߷פ·¤Æ¤¯¤À¤µ¤¤¡£

¡¡¤³¤Î Get ¡Á ¤Ç»Ï¤Þ¤ë¥á¥½¥Ã¥É̾¤Î̿̾µ¬Â§¤Ë¤Ä¤¤¤Æ¤Ï¿¤¯¤ÎÊý¤¬ÍøÍѤ·¤Æ¤¤¤ë¡¢°ìÈÌŪ¤ÊÀ߷פˤʤê¤Þ¤¹¡£


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


¡¡¥¹¥¯¥ê¥×¥È¤Î¸«Ä¾¤·¤ò¤·¤Æ¡¢½èÍý¤Îή¤ì¤ò³Îǧ¤·¤Æ¤«¤é¡¢¥²¡¼¥à¤ò¼Â¹Ô¤·¤ÆµóÆ°¤ò³Îǧ¤·¤Æ¤¤¤­¤Þ¤¹¡£

¡¡ÁªÂò¤·¤Æ¤¤¤ë¥Ð¥ì¥Ã¥È¤Î¥Ç¡¼¥¿¤Ë¤¢¤ë°À­¤Î¾ðÊ󤬡¢¥×¥ì¥¤¥ä¡¼Â¦¤Î°À­¤Ë¤Ê¤ê¤Þ¤¹¡£
¤½¤Î°À­¤È¥¨¥Í¥ß¡¼Â¦¤Î¥Ç¡¼¥¿¤Ë¤¢¤ë°À­¤Î¾ðÊó¤È¤òȽÄꤷ¤Æ¡¢¼åÅÀ¤«¡¢¼åÅÀ¤Ç¤Ï¤Ê¤¤¤«¡¢¤Ë¤è¤Ã¤Æ
¼åÅÀ¤ÈȽÄꤵ¤ì¤¿¤È¤­¤À¤±¡¢Èï¥À¥á¡¼¥¸¤ÎÃͤ¬¥À¥á¡¼¥¸ÇÜΨʬ²Ã»»¤µ¤ì¤Æ¤¤¤ì¤ÐÀ©¸æÀ®¸ù¤Ç¤¹¡£


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


¡ã¼åÅÀ¤Î°À­¤Ç¤Ï¤Ê¤¤¥¨¥Í¥ß¡¼¤Ë¿¯Æþ¤µ¤ì¤¿¾ì¹ç¡ä



¡ã¼åÅÀ¤Î°À­¤Î¥¨¥Í¥ß¡¼¤Ë¿¯Æþ¤µ¤ì¤¿¾ì¹ç¡ä



¡¡Â°À­¤ÎÁêÀ­¾ðÊ󤬼ÙËâ¤Ë¤Ê¤é¤Ê¤¤ÄøÅÙ¤ÎÂ礭¤µ¤È°ÌÃ֤ǡ¢²èÌ̾å¤Ë¾ï»þɽ¼¨¤·¤Æ¤ª¤¤¤Æ¤â¤¤¤¤¤«¤â¤·¤ì¤Þ¤»¤ó¡£
¤½¤ÎÊÕ¤ê¤ÎÀ߷פϼ«Í³¤ËÄɲ䷤Ƥ¯¤À¤µ¤¤¡£

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

¡¡¼¡¤Ï¡¡È¯Å¸£³£µ¡¡¡Ý¥Õ¥í¡¼¥Èɽ¼¨¤Ë°À­¤ÎÍ×ÁǤα¿ÍÑ¡Ý¡¡¤Ç¤¹¡£

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


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

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

Menu



´ðÁÃ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

private



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

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