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

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

¼ê½ç£±£´¡¡¡¼¾ã³²Êª¤ò¼ÂÁõ¡¼
£²£µ¡¥CanvasÆâ¤Ë¾ã³²Êª(·ê)¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òÀßÃÖ¤¹¤ë
£²£¶¡¥¾ã³²ÊªÍÑ¥¹¥¯¥ê¥×¥È¤ò¿Æ»Ò¥¯¥é¥¹¤ÇºîÀ®¤¹¤ë



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

¡¦¥¯¥é¥¹¤Î·Ñ¾µ¡¢¥ª¡¼¥Ð¡¼¥é¥¤¥É¥á¥½¥Ã¥É¤Î»È¤¤Êý



£²£µ¡¥CanvasÆâ¤Ë¾ã³²Êª(·ê)¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òÀßÃÖ¤¹¤ë

Àß·×


¡¡¥Ó¥ê¥ä¡¼¥É¤Ë¤ª¤±¤ë¡¢¥Ý¥±¥Ã¥È¡Ê·ê¡Ë¤ò¾ã³²Êª¤È¤·¤ÆÍÑ°Õ¤·¤Þ¤¹¡£
¤³¤³¤Ç¤Ï¼êµå¤È¾ã³²Êª¤¬ÀÜ¿¨¤·¤¿ºÝ¤Ë¼êµå¤Î¿ô¤¬£±¤Ä¸º¤ê¡¢¼êµå¥¢¥¤¥³¥ó¤â¤½¤ì¤Ë¹ç¤ï¤»¤Æ£±¤Ä¸º¤ë¤è¤¦¤Ë¤¹¤ë½èÍý¤ò¼ÂÁõ¤·¤Æ¤¤¤­¤Þ¤¹¡£


¾ã³²Êª(·ê)²èÁü¤ò¼èÆÀ¤·¤ÆUnity¤Ø¥¤¥ó¥Ý¡¼¥È¤¹¤ë


¡¡¾ã³²ÊªÍѤΥե꡼ÁǺà¤ò¥Í¥Ã¥È¤Ç¸«¤Ä¤±¤Æ¤­¤Æ¥À¥¦¥ó¥í¡¼¥É¤·¤Þ¤·¤ç¤¦¡£º£²ó¤Ï¥Ó¥ê¥ä¡¼¥É¤Ë½à¤¨¤Æ¡¢·ê¤Î²èÁü¤Ë¤·¤Æ¤¤¤¿¤À¤±¤ì¤Ð¤¤¤¤¤È»×¤¤¤Þ¤¹¡£

¡¡¥À¥¦¥ó¥í¡¼¥É¤·¤Þ¤·¤¿¤éUnity¤Ë¥¤¥ó¥Ý¡¼¥È¤·¤Þ¤¹¡£¥¤¥ó¥Ý¡¼¥È¾ì½ê¤âSprites¥Õ¥©¥ë¥À¤Ë¤·¤Þ¤¹¡£


ŪµåÍѤÎEnemyBall¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òÊ£À½¤·¡¢Ì¾Á°¤òObstacle_Hole¤ËÊѤ¨¤ë


¡¡¥Ò¥¨¥é¥ë¥­¡¼¤Ë¤¢¤ëEnemyBall¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òÁªÂò¤·¤Æ¡¢±¦¥¯¥ê¥Ã¥¯¤·¥á¥Ë¥å¡¼¤òɽ¼¨¤·¡¢Duplicate ¤òÁªÂò¤·¤Þ¤¹¡£
¥Ò¥¨¥é¥ë¥­¡¼¤ËEnemyBall¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ÎÊ£À½¤Ç¤¢¤ëEnemyBall(1)¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£

¡¡Ì¾Á°¤ò Obstacle_Hole ¤ËÊѹ¹¤·¤Þ¤¹¡£¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤ò³Îǧ¤·¤ÆÀßÄê¤òÊѹ¹¤·¤Æ¤¤¤­¤Þ¤¹¡£


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



Obstacle_Hole ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ÎÀßÄê¤òÊѹ¹¤¹¤ë


¡¡¸½ºß¤Î°ÌÃÖ¤Ï EnemyBall ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ÈƱ¤¸°ÌÃ֤ˤʤäƤ¤¤Þ¤¹¤Î¤Ç¡¢Å¬µ¹¤Ê°ÌÃ֤ذÜÆ°¤µ¤»¤Æ¤¯¤À¤µ¤¤¡£

¡¡Image ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ÎSource Image ¤ò¥¤¥ó¥Ý¡¼¥È¤·¤¿·ê¤Î²èÁü¤ËÊѹ¹¤·¤Þ¤¹¡£¤³¤ì¤ÇŨ¤Î²èÁü¤«¤é¾ã³²Êª¤Î²èÁü¤ËÀÚ¤êÂؤï¤ê¤Þ¤·¤¿¡£
RectTransform¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Ë¤Æ²èÁü¤Î¥µ¥¤¥º¤òÄ´À°¤·¤Þ¤¹¡£¤½¤Î¤Þ¤Þ¤Ç¤âÌäÂꤢ¤ê¤Þ¤»¤ó¡£
¤â¤·¤âÂ礭¤µ¤òÊѹ¹¤·¤¿¾ì¹ç¤Ë¤Ï¡¢¤½¤ì¤Ë¹ç¤ï¤»¤ÆCapsuleCollider2D¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ÎÂ礭¤µ¤ò³Îǧ¤·¡¢Å¬µ¹¤ÊÂ礭¤µ¤ËÄ´À°¤·¤Æ¤¯¤À¤µ¤¤¡£
¡¡
¡¡ºÇ¸å¤Ë EnemyBall ¥¹¥¯¥ê¥×¥È¤ò Remove ¤·¤Æ¤¯¤À¤µ¤¤¡£


Scene¥Ó¥å¡¼¤ÈGameScene¥Ó¥å¡¼¤Ç¤Î²èÁü



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


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



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



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



¡¡°Ê¾å¤Ç Obstacle_Hole ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ÎºîÀ®¤Ï½ªÎ»¤Ç¤¹¡£


£²£¶¡¥¾ã³²ÊªÍÑ¥¹¥¯¥ê¥×¥È¤ò¿Æ»Ò¥¯¥é¥¹¤ÇºîÀ®¤¹¤ë

Àß·×


¡¡¾ã³²Êª¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ï¡¢º£¸å¡¢¿ô¼ïÎà¤òÍÑ°Õ¤¹¤ëͽÄê¤Ç¹Í¤¨¤Æ¤¤¤Þ¤¹¡£
¤½¤Î¤¿¤á¡¢³Æ¾ã³²Êª¤´¤È¤ËƱ¤¸ÆâÍƤΥ¹¥¯¥ê¥×¥È¤òÍÑ°Õ¤¹¤ë¤Î¤Ç¤ÏÍøÊØÀ­¤¬°­¤¯¡¢½èÍý¤â¾éĹŪ¤Ë¤Ê¤ê¤Þ¤¹¡£

¡¡º£²ó¤Ï¥¯¥é¥¹¤Î·Ñ¾µ¤òÍøÍѤ·¤Æ¡¢¶¦Ä̤¹¤ëÊÑ¿ô¤ä¥á¥½¥Ã¥É¤Ë¤Ä¤¤¤Æ¤Ï¿Æ¥¯¥é¥¹¤Ë¡¢¤½¤ì°Ê³°¤Î³Æ¾ã³²Êª¸ÇÍ­¤Î½èÍý¤Ë¤Ä¤¤¤Æ¤Ï»Ò¥¯¥é¥¹¤Ë½èÍý¤ò¤Þ¤È¤á¤Æ¤¤¤¯À߷פˤ·¤Þ¤¹¡£

¡¡¿Æ¥¯¥é¥¹¤Ï´ðÄ쥯¥é¥¹(¥¹¡¼¥Ñ¡¼¥¯¥é¥¹)¡¢¿Æ¥¯¥é¥¹¤ò·Ñ¾µ¤·¤¿»Ò¥¯¥é¥¹¤ÏÇÉÀ¸¥¯¥é¥¹(¥µ¥Ö¥¯¥é¥¹)¤È¸À¤¤¤Þ¤¹¡£
¤³¤³¤Ç¤Ï¿Æ¡¢»Ò¡¢¤Ç̾¾Î¤òÅý°ì¤·¤Æ»È¤¤¤Þ¤¹¡£


¿Æ¥¯¥é¥¹¤ËÍÑ°Õ¤¹¤ë½èÍý
¡ãÊÑ¿ô¡ä¡¡¡¡¡¡¹¶·âÎÏ¡¢³Æ¥¯¥é¥¹¤Ø¤Î¥¢¥µ¥¤¥ó(RectTransform¥³¥ó¥Ý¡¼¥Í¥ó¥È¡¢BattleManager¥¯¥é¥¹)
¡ã¥á¥½¥Ã¥É¡ä¡¡Start¡¢SetUpObstacle¡¢OnCollisionEnter2D¡¢BeforeTriggerEffect¡¢AfterTriggerEffect
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÊSetUpObstacle¥á¥½¥Ã¥É°Ê³°¤Ï virtual ¥­¡¼¥ï¡¼¥É¤òÉÕ¤±¤Æ»Ò¥¯¥é¥¹¤Ç¥ª¡¼¥Ð¡¼¥é¥¤¥É¤Ç¤­¤ë¤è¤¦¤Ë¤¹¤ë¡Ë

¡¡»Ò¥¯¥é¥¹¤Ç¤Ï¾åµ­¤Î¿Æ¥¯¥é¥¹¤ÎÊÑ¿ô¤È¾ðÊó¤ò¼«Í³¤Ë»È¤¨¤ë¤è¤¦¤Ë¤¹¤ë¤Î¤Ç¡¢É¬ÍפʽèÍý¤À¤±¤ò½ñ¤¯¤À¤±¤ÇºÑ¤à¤è¤¦¤Ë¤·¤Þ¤¹¡£


¡ã¥¯¥é¥¹¤Î·Ñ¾µ¡ä


¡¡¥¯¥é¥¹¤Ë¤Ï·Ñ¾µ¤È¤¤¤¦µ¡Ç½¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤Ï¡¢Â¾¤Î¥¯¥é¥¹¤Îµ¡Ç½¤ò¼õ¤±·Ñ¤¤¤Ç¿·¤·¤¤¥¯¥é¥¹¤òºîÀ®¤¹¤ë¤³¤È¤ò¸À¤¤¤Þ¤¹¡£

¡¡Unity¤Ë¤ª¤¤¤Æ C# Script ¤ò¿·¤·¤¯ºîÀ®¤¹¤ë¤È¡¢MonoBehaviour ¤È¤¤¤¦¥¯¥é¥¹¤ò·Ñ¾µ¤·¤Æ¤¤¤ë¾õÂ֤ǺîÀ®¤µ¤ì¤Þ¤¹¡£
¤³¤ì¤Ï¡ÖMonoBehaviour¥¯¥é¥¹¤Îµ¡Ç½¤ò¼õ¤±·Ñ¤¤¤À¡¢¿·¤·¤¤¥¯¥é¥¹¤òºîÀ®¤¹¤ë¡×¤È¤¤¤¦½èÍý¤Ë¤Ê¤ê¤Þ¤¹¡£
MonoBehaviour¥¯¥é¥¹¤ò·Ñ¾µ¤·¤Æ¤¤¤ë¤È¡¢¥¹¥¯¥ê¥×¥È¤ò¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤¹¤ë¤³¤È¤¬¤Ç¤­¤¿¤ê¡¢Start¥á¥½¥Ã¥É¤Ê¤É¤¬ÍøÍѤǤ­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£

¡¡º£²ó¤Ï¡ÖMonoBehaviour¥¯¥é¥¹¤Îµ¡Ç½¤ò¼õ¤±·Ñ¤¤¤À¡¢ObstacleBase¥¯¥é¥¹¡×¤òºîÀ®¤·¡¢¤½¤ì¤ò¿Æ¥¯¥é¥¹¤È¤·¤Þ¤¹¡£
¤½¤·¤Æ¡ÖObstacleBase¥¯¥é¥¹¤Îµ¡Ç½¤ò¼õ¤±·Ñ¤¤¤À¡¢Obstacle_Hole¥¯¥é¥¹¡×¤òºîÀ®¤·¡¢¤½¤ì¤ò»Ò¥¯¥é¥¹¤È¤·¤Æ¡¢¾ã³²ÊªÍѤΥ²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤·¤Þ¤¹¡£
Obstacle_Hole¥¯¥é¥¹¼«ÂΤˤÏMonoBehaviour¥¯¥é¥¹¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢¿Æ¥¯¥é¥¹¤Ç¤¢¤ëObstacleBase¥¯¥é¥¹¤¬¼õ¤±·Ñ¤¤¤Ç¤¤¤ë¤¿¤á¡¢¤½¤Îµ¡Ç½¤òÍøÍѤ¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£


ObstacleBase¥¯¥é¥¹(¿Æ¥¯¥é¥¹)
MonoBehaviour¥¯¥é¥¹¤ò·Ñ¾µ


ObstacleBase_Hole¥¯¥é¥¹(»Ò¥¯¥é¥¹)
ObstacleBase¥¯¥é¥¹¤ò·Ñ¾µ¡¡=¡¡MonoBehaviour¥¯¥é¥¹¤â°ì½ï¤Ë·Ñ¾µ


»²¹Í¥µ¥¤¥È
̤³ÎǧÈô¹Ô C ÍÍ
[¥ª¥Ö¥¸¥§¥¯¥È»Ø¸þ] ·Ñ¾µ
https://ufcpp.net/study/csharp/oo_inherit.html


¿Æ¥¯¥é¥¹¤òºîÀ®¤¹¤ë


¡¡À߷פÎÉôʬ¤Ç¤âÀâÌÀ¤¬¤¢¤ê¤Þ¤·¤¿¤¬¡¢¿Æ¥¯¥é¥¹¤Ë¤Ï¡¢¤¹¤Ù¤Æ¤Î¾ã³²Êª¤Ë¶¦Ä̤¹¤ë½èÍý¤ò¤Þ¤È¤á¤ÆÃÖ¤¯¤è¤¦¤Ë¤·¤Þ¤¹¡£

¿Æ¥¯¥é¥¹¤Î½èÍý
¡ãÊÑ¿ô¡ä¡¡¡¡¡¡¹¶·âÎÏ¡¢³Æ¥¯¥é¥¹¤Ø¤Î¥¢¥µ¥¤¥ó(RectTransform¥³¥ó¥Ý¡¼¥Í¥ó¥È¡¢BattleManager¥¯¥é¥¹)
¡ã¥á¥½¥Ã¥É¡ä¡¡Start¡¢SetUpObstacle¡¢OnCollisionEnter2D¡¢BeforeTriggerEffect¡¢AfterTriggerEffect
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÊSetUpObstacle¥á¥½¥Ã¥É°Ê³°¤Ï virtual ¥­¡¼¥ï¡¼¥É¤òÉÕ¤±¤Æ»Ò¥¯¥é¥¹¤Ç¥ª¡¼¥Ð¡¼¥é¥¤¥É¤Ç¤­¤ë¤è¤¦¤Ë¤¹¤ë¡Ë

¡¡³Æ¥á¥½¥Ã¥É¤Î½¤¾þ»Ò¤Ï protected ¤òÍøÍѤ·¤Þ¤¹¡£¤³¤ì¤Ï¡¢¿Æ»Ò¥¯¥é¥¹´Ö¤Ç¤Î¤ß»²¾È¤ò²Äǽ¤È¤¹¤ë½¤¾þ»Ò¤Ç¤¹¡£private ¤è¤ê¤â¾¯¤·ÍøÍÑÈϰϤ¬¹­¤¤¥¤¥á¡¼¥¸¤Ç¤¹¡£
¤³¤Î½¤¾þ»Ò¤ò»ý¤ÄÊÑ¿ô¤ä¥á¥½¥Ã¥É¤Ï¿Æ»Ò¤Î´Ö¤ÇÍøÍѤ¬²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£private½¤¾þ»Ò¤ä¡¢public½¤¾þ»Ò¤Î°·¤¤¤ÏƱÍͤǤ¹¡£

¡¡¤Þ¤¿³Æ¥á¥½¥Ã¥É¤Ë¤Ï virtual¡Ê¥Ð¡¼¥Á¥ã¥ë¡Ë ¥­¡¼¥ï¡¼¥É¤¬Äɲ䵤ì¤Æ¤¤¤Þ¤¹¡£¤³¤Î¥­¡¼¥ï¡¼¥É¤ò»ý¤Ä¥á¥½¥Ã¥É¤Ï¡¢»Ò¥¯¥é¥¹¤ËƱ½èÍý¤òµ­½Ò¤·¤¿ºÝ¤Ë¡¢½èÍý¤ÎÆâÍƤòÊѹ¹¤·¤Æ¤â¤è¤¤¤³¤È¤òɽ¤·¤Þ¤¹¡£
¤³¤Îµ¡Ç½¤Ë¤è¤Ã¤Æ¡¢¿Æ¥¯¥é¥¹¤Ç¾ã³²ÊªÁ´ÂΤﶤëÉñ¤¤¤ò·èÄꤷ¡¢»Ò¥¯¥é¥¹¤Ç³Æ¾ã³²Êª¤´¤È¤Î¤Õ¤ë¤Þ¤¤¤òÀßÄꤹ¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£

¡¡¤³¤Î¤è¤¦¤ËƱ¤¸¥¯¥é¥¹¤Ç¤¢¤Ã¤Æ¤â½èÍý¤ÎÆâÍÆ¡¦¿¶¤ëÉñ¤¤¤¬ÊѲ½¤¹¤ë¤³¤È¤ò¿ÂÖÀ­¤È¸À¤¤¤Þ¤¹¡£

¡¡º£²ó¤Î¥¹¥¯¥ê¥×¥È¤Ç¤Ï¥³¥á¥ó¥È¤ò¾Êά¤·¤Æ¤¤¤Þ¤¹¡£¤³¤³¤Ë¡¢¼«Ê¬¤Ç¥³¥á¥ó¥È¤Ä¤±¤Æ½èÍý¤òµ­½Ò¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£
¤â¤·¤â¥³¥á¥ó¥È¤¬µ­½Ò¤Ç¤­¤Ê¤¤¤è¤¦¤Ç¤¢¤ì¤Ð¡¢¶µºà¤Î°ÊÁ°¤Î¼ê½ç¤ä¡¢Ê̤Υ¹¥¯¥ê¥×¥È¤ò¸«Ä¾¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£


ObstacleBase.cs

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



»Ò¥¯¥é¥¹¤òºîÀ®¤¹¤ë


¡¡Â³¤¤¤Æ¡¢¿Æ¥¯¥é¥¹¤Ç¤¢¤ëObstacleBase¥¯¥é¥¹¤ò·Ñ¾µ¤·¤¿»Ò¥¯¥é¥¹¤òºîÀ®¤·¤Æ¤¤¤­¤Þ¤¹¡£
¤³¤³¤Ç¤ÏɬÍפʵ¡Ç½¤À¤±¤òµ­ºÜ¤¹¤ë¤À¤±¤Ç¤¹¡£¤¢¤È¤Ï¿Æ¥¯¥é¥¹¤Îprotected½¤¾þ»Ò¤ä public½¤¾þ»Ò¤ÎÊÑ¿ô¤ä¥á¥½¥Ã¥É¤ò¤¹¤Ù¤ÆÍøÍѤ¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¤Î¤Ç¡¢Êѹ¹¤·¤Ê¤¤½èÍý¤Îµ­½Ò¤ÏÉÔÍפǤ¹¡£
¤½¤Î¤¿¤áÈó¾ï¤Ë´Ê·é¤Ë½èÍý¤ò¤Þ¤È¤á¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
¡¡
¡¡protected½¤¾þ»Ò¤Î¥á¥½¥Ã¥É¤Ë¤Ä¤¤¤Æ¤Ï¡¢¥ª¡¼¥Ð¡¼¥é¥¤¥É(¾å½ñ¤­)½èÍý¤òµ­½Ò¤Ç¤­¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢¾ã³²Êª¤È¤·¤Æ¤Õ¤ë¤Þ¤¤¤Ä¤Ä¡¢¤³¤Î¾ã³²ÊªÆȼ«¤Î½èÍý¤¬µ­½Ò¤Ç¤­¤Þ¤¹¡£
¡¡
¡¡º£²ó¤Î¾ã³²Êª¤ÏBeforeTriggerEffect¥á¥½¥Ã¥É¤Î¤ß¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Æ½èÍý¤òÄɲ䷤Ƥ¤¤Þ¤¹¡£
¤Ê¤ª¥á¥½¥Ã¥ÉÆâ¤Î½èÍý¤Ï¼¡¤Î¼ê½ç¤Ç¿·¤·¤¯Äɲ乤ë¥á¥½¥Ã¥É¤Ç¤¢¤ë¤¿¤á¤½¤Î¤Þ¤Þ¤Ç¤¹¤È¥¨¥é¡¼¤¬½Ð¤Þ¤¹¡£°ìÅÙ¥³¥á¥ó¥È¥¢¥¦¥È¤·¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡£
¡Ê¥¨¥é¡¼¤¬¤¢¤ë¤È¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤Ç¤­¤Þ¤»¤ó¡Ë


Obstacle_Hole.cs

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



¡ã¥ª¡¼¥Ð¡¼¥é¥¤¥É¥á¥½¥Ã¥É¤Î»È¤¤Êý¡ä

virtual¥­¡¼¥ï¡¼¥É¤Èoverride¥­¡¼¥ï¡¼¥É

¡¡virtual(¥Ð¡¼¥Á¥ã¥ë)¥­¡¼¥ï¡¼¥É¤ò»ý¤Ä¥á¥½¥Ã¥É¤Ï¿Æ¥¯¥é¥¹¤Ë¤Î¤ßÀßÄê¤Ç¤­¤Þ¤¹¡£
¤³¤Î¥á¥½¥Ã¥É¤Ë¤Ä¤¤¤Æ¤Ï¡¢»Ò¥¯¥é¥¹¤ËƱ¤¸¥á¥½¥Ã¥É¤òµ­½Ò¤·¤¿ºÝ¤Ë override(¥ª¡¼¥Ð¡¼¥é¥¤¥É)¥­¡¼¥ï¡¼¥É¤òÂФȤ·¤Æµ­½Ò¤¹¤ë¤³¤È¤Ç
¿Æ¥¯¥é¥¹¤Î¥á¥½¥Ã¥É¤ÎÆâÍƤòÍøÍѤ¹¤ëºÝ¤Ë¡¢½èÍý¤òÄɵ­¤·¤¿¤ê¡¢¤¢¤ë¤¤¤Ï¤¹¤Ù¤Æ¾å½ñ¤­¤·¤Æ½ñ¤­´¹¤¨¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
¥ª¡¼¥Ð¡¼¥é¥¤¥É½èÍý¤¬¤Ç¤­¤ë¤Î¤Ï¡¢virtual¥­¡¼¥ï¡¼¥É¤ò»ý¤Ä¥á¥½¥Ã¥É¤Î¤ß¤Ç¤¹¡£

¡¡º£²ó¤Ï¿Æ¥¯¥é¥¹¤ËÍÑ°Õ¤·¤Æ¤¤¤ë¥á¥½¥Ã¥É¤Ë¤Ï½èÍý¤¬²¿¤â½ñ¤«¤ì¤Æ¤¤¤Þ¤»¤ó¤Ç¤·¤¿¤Î¤Ç¡¢»Ò¥¯¥é¥¹¤Ç¡¢¤½¤ÎÆâÍƤòµ­½Ò¤·¤Æ¤¤¤Þ¤¹¡£


¿Æ¥¯¥é¥¹¤Ç¤Î½èÍý
  protected virtual void BeforeTriggerEffect(CharaBall charaBall) {

  }


»Ò¥¯¥é¥¹¤Ç¤Î½èÍý
  protected override void BeforeTriggerEffect(CharaBall charaBall) {

      // ¼êµå¤ò£±¤Ä¸º¤é¤¹
      charaBall.UpdateHp(-power);

      // ¥¹¥¿¡¼¥È°ÌÃÖ¤ØÌ᤹
      StartCoroutine(gameManager.ResetCharaPosition(2.0f));
  }

»²¹Í¥µ¥¤¥È
.net columnÍÍ
¡ÚC#¤Î´ðÁáÛoverride½¤¾þ»Ò¤Ç¥ª¡¼¥Ð¡¼¥é¥¤¥É¤ò¤¹¤ëÊýË¡
https://www.fenet.jp/dotnet/column/language/1902/


¾ã³²Êª¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë Obstacle_Hole¥¯¥é¥¹¤ò¥¢¥¿¥Ã¥Á¤¹¤ë


¡¡¿Æ»Ò´Ø·¸¤Ë¤¢¤ë¥¯¥é¥¹¤Ï¡¢»Ò¥¯¥é¥¹¤ò¥¢¥¿¥Ã¥Á¤¹¤ë¤³¤È¤Ç¿Æ¥¯¥é¥¹¤Î¾ðÊó¤â°·¤¨¤Þ¤¹¡£
¤½¤Î¤¿¤á¾ã³²Êª¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤Ï¡¢ObstructBase¥¯¥é¥¹¤Ç¤Ï¤Ê¤¯¡¢Obstacle_Hole¥¯¥é¥¹¤ò¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤·¤Æ¥¢¥¿¥Ã¥Á¤·¤Þ¤¹¡£
¿Æ¥¯¥é¥¹¤Ï¥¢¥¿¥Ã¥ÁÉÔÍפǤ¹¡£

¡¡¥¢¥µ¥¤¥ó¾ðÊó¤Ë¤Ï¿Æ¤È»Ò¤ÎξÊý¤Î»ý¤Ä¾ðÊó¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
»Ò¥¯¥é¥¹¤Ë¤Ï power ÊÑ¿ô¤Ï¤Ê¤¤¤Ï¤º¤Ç¤¹¤¬¡¢¿Æ¥¯¥é¥¹¤¬ public ÊÑ¿ô¤È¤·¤ÆÀë¸À¤·¤Æ¤¤¤ë¤Î¤Ç¡¢¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤Ëɽ¼¨¤µ¤ì¤Æ¤¤¤Þ¤¹¡£

¡¡power ÊÑ¿ô¤Ë¤Ï 1 ¤òÅÐÏ¿¤·¤Æ¤¯¤À¤µ¤¤¡£¾ã³²Êª¤È¼êµå¤¬ÀÜ¿¨¤·¤¿ºÝ¡¢¤³¤Î¿ôÃÍʬ¤À¤±¡¢»Ä¤ê¤Î¼êµå¿ô¤ò¸º¾¯¤µ¤»¤Þ¤¹¡£
BattleManager ÊÑ¿ô¤Ë¤Ï¡¢¥Ò¥¨¥é¥ë¥­¡¼¤Ë¤¢¤ëBattleManager¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤·¤Æ¥¢¥µ¥¤¥ó¤·¤Þ¤¹¡£


Obstacle_Hole¥¢¥¿¥Ã¥Á¸å¤Î¡¡Obstacle_Hole¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¡¡¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü



¡¡°Ê¾å¤Ç¤³¤Î¼ê½ç¤Ï½ªÎ»¤Ç¤¹¡£¼¡¤Î¼ê½ç¤Ç¼êµå¤Î¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¡¢¾ã³²Êª¤ÈÀÜ¿¨¤·¤¿ºÝ¤Î½èÍý¤òÄɵ­¤·¤Þ¤¹¡£

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


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

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

Menu



´ðÁÃ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

private



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

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