i-school - static ¥­¡¼¥ï¡¼¥É

static (¥¹¥¿¥Æ¥£¥Ã¥¯) ¥­¡¼¥ï¡¼¥É


¡¡¥×¥í¥°¥é¥à¤Ë¤Ï¡¢ÀÅŪ(¤»¤¤¤Æ¤­)¤ÈÈóÀÅŪ(¤Ò¤»¤¤¤Æ¤­)¤È¤¤¤¦¾õÂÖ¤¬¤¢¤ê¡¢´ðËÜŪ¤Ë¤Ï¾ï¤ËÈóÀÅŪ¤Î¾õÂ֤ǺîÀ®¤µ¤ì¤Þ¤¹¡£
ÈóÀÅŪ¤Ï¡¢Æ°Åª¤È¤â¸Æ¤Ð¤ì¡¢¤³¤ì¤Ï Dynamic(¥À¥¤¥Ê¥ß¥Ã¥¯)¤È¤¤¤¦¸ÀÍÕ¤ò»È¤¦¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£

¡¡¤¤¤Ä¤â½ñ¤¤¤Æ¤¤¤ë¥¯¥é¥¹¤äÊÑ¿ô¤Ï¡¢ÈóÀÅŪ(ưŪ)¤Î¾õÂ֤Ǥ¹¡£

¡¡¤â¤¦£±¤Ä¤Î¡¢ÀÅŪ¤Ê¾õÂ֤ϡ¢ÌÀ¼¨Åª¤Ë static ¤È¤¤¤¦¥­¡¼¥ï¡¼¥É¤Ë¤Ê¤Ã¤Æ¤¤¤ëñ¸ì¤ò»È¤¦¤³¤È¤Ç¡¢ºîÀ®¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
ÌÀ¼¨Åª¤È¤¤¤¦¤Î¤Ï¡¢¥×¥í¥°¥é¥àÆâ¤Ë½èÍý¤ò½ñ¤¯¡¢¤È¤¤¤¦¤³¤È¤ò°ÕÌ£¤¹¤ë¸ÀÍդǤ¹¡£
¤½¤Î¤¿¤á¡¢static ¥­¡¼¥ï¡¼¥É¤ò¥×¥í¥°¥é¥àÆâ¤Ç»È¤¦¤ÈÀÅŪ¤Ê¾õÂÖ¤òºî¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£¡¡
(µÕ¤Ë¸À¤¦¤È¡¢static ¥­¡¼¥ï¡¼¥É¤ò¥×¥í¥°¥é¥àÆâ¤Ç»È¤ï¤Ê¤¤¸Â¤ê¤Ï¡¢ÀÅŪ¤Ê¾õÂ֤Ϻî¤ì¤Ê¤¤¡¢¤È¤â¸À¤¤´¹¤¨¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£)


ÀÅŪ¥¯¥é¥¹


¡¡static ¥­¡¼¥ï¡¼¥É¤Ï¡¢¥¯¥é¥¹¡¢ÊÑ¿ô¡¢¥á¥½¥Ã¥É¤Î¤¤¤º¤ì¤«¤ÎÁ°¤Ë½ñ¤¯¤³¤È¤¬½ÐÍè¤Þ¤¹¡£

¡¡²¼µ­¤Ï¡¢ÀÅŪ¥¯¥é¥¹(¥¹¥¿¥Æ¥£¥Ã¥¯¡¦¥¯¥é¥¹)¤òºî¤Ã¤¿Îã¤Ç¤¹¡£

public static class StaticClass {¡¡// ÀÅŪ¥¯¥é¥¹

    public static int staticValue = 10; // ÀÅŪÊÑ¿ô

    public static void StaticMethod() { // ÀÅŪ¥á¥½¥Ã¥É
        Console.WriteLine("¤³¤ì¤ÏÀÅŪ¥á¥½¥Ã¥É¤Ç¤¹¡£");
    }
}

¡¡ÀÅŪ¥¯¥é¥¹¤òºîÀ®¤·¤¿¾ì¹ç¡¢¥á¥ó¥Ð¡ÊÊÑ¿ô¤ä¥á¥½¥Ã¥É¡Ë¤Ï¤¹¤Ù¤Æ static ¤Ë¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
¤½¤Î¤¿¤á¡¢ÀÅŪ¥¯¥é¥¹Æâ¤ÇÀë¸À¤·¤¿ÊÑ¿ô¤ä¥á¥½¥Ã¥É¤ÎÁ°¤Ë static ¥­¡¼¥ï¡¼¥É¤ò˺¤ì¤ë¤È¥¨¥é¡¼¤¬½Ð¤Þ¤¹¡£
¡¡
¡¡ÀÅŪ¥¯¥é¥¹¤Ï¥¤¥ó¥¹¥¿¥ó¥¹²½¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤»¤ó¡£
Âå¤ï¤ê¤Ë¡¢¥×¥í¥°¥é¥à¤¬¼Â¹Ô¤µ¤ì¤ë¤È¼«Æ°¤Ç¥¤¥ó¥¹¥¿¥ó¥¹¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£
Unity ¤Ç¤¢¤ì¤Ð¥²¡¼¥à¼Â¹Ô¥Ü¥¿¥ó¤ò²¡¤·¤¿¸å¤ËºîÀ®¤µ¤ì¤Þ¤¹¡£
¤½¤·¤Æ¡¢¥×¥í¥°¥é¥à¼Â¹ÔÃæ¤Ï¥¤¥ó¥¹¥¿¥ó¥¹¤Ï¾ï¤Ë£±¤Ä¤Ç¿·¤¿¤Ë¥¤¥ó¥¹¥¿¥ó¥¹¤òºîÀ®¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£

¡¡ÀÅŪ¥¯¥é¥¹¤Ë¤Ï¤³¤¦¤¤¤Ã¤¿ÆÃħ¤¬¤¢¤ê¤Þ¤¹¡£

¡¡¤Ç¤Ï³¤±¤Æ¡¢ÀÅŪ¤ÊÊÑ¿ô¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£


ÀÅŪÊÑ¿ô


¡¡ÀÅŪ¤ÊÊÑ¿ô¤Ï¡¢ÀÅŪ¥¯¥é¥¹¡¢¤¢¤ë¤¤¤ÏÉáÃʻȤäƤ¤¤ëÈóÀÅŪ¥¯¥é¥¹¤Î¤É¤Á¤é¤Ç¤âºî¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£

¡¡²¼µ­¤Ï¡¢ÈóÀÅŪ¥¯¥é¥¹¤ËÀë¸À¤·¤¿¾ì¹ç¤ÎÎã¤Ç¤¹¡£

public class DynamicClass {¡¡¡¡//¡¡ÈóÀÅŪ¥¯¥é¥¹
    public static int staticValue = 20;  // ÀÅŪÊÑ¿ô
}

¡¡¤³¤ÎÎã¤Î¤è¤¦¤Ë¡¢ÀÅŪ¤Ç¤Ï¤Ê¤¤¥¯¥é¥¹¤Ï new ¥­¡¼¥ï¡¼¥É¤ò»È¤¦¤³¤È¤Ç¡¢¥¤¥ó¥¹¥¿¥ó¥¹¤·¤Æ»È¤¦¤³¤È¤¬½ÐÍè¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
Unity ¤Î¾ì¹ç¤Ç¤¢¤ì¤Ð¡¢À߷׿ÞÍÑ¤Ë C# ¥¹¥¯¥ê¥×¥È¤Î¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¡¢¤½¤ÎÃæ¤Ç¥¯¥é¥¹¤ò½ñ¤¤¤Æ¡¢¥¢¥¿¥Ã¥Á¤¹¤ë¤³¤È¤ÇÍøÍѤǤ­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£

¡¡¤³¤Î¤È¤­¡¢¥¤¥ó¥¹¥¿¥ó¥¹¤¹¤ë¿ô¤ËÀ©¸Â¤Ï¤¢¤ê¤Þ¤»¤ó¡£
¤¤¤¯¤Ä¤Ç¤â new ¤Ç¤­¤Þ¤¹¤·¡¢Unity ¤Ç¤¢¤ì¤Ð¡¢¥¹¥¯¥ê¥×¥È¤Î¥Õ¥¡¥¤¥ë¤ÏÊ£¿ô¤Î°Û¤Ê¤ë¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤â¥¢¥¿¥Ã¥Á¤Ç¤­¤Þ¤¹¡£

¡¡ÀÅŪ¤Ç¤Ï¤Ê¤¤¥¯¥é¥¹¤Ë½ñ¤¤¤¿Ä̾ï¤ÎÊÑ¿ô(ÀÅŪ¤Ç¤Ï¤Ê¤¤ÊÑ¿ô)¤Ï¡¢¤½¤ì¤¾¤ì¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤Ë¤Ä¤­¡¢¤½¤ì¤¾¤ì¤¬Ê̤ξðÊó¤È¤·¤Æ´ÉÍý¤µ¤ì¤Þ¤¹¡£
Î㤨¤Ð¡¢

public class Enemy {¡¡¡¡//¡¡ÈóÀÅŪ¥¯¥é¥¹
    public int life = 20;  // ÈóÀÅŪÊÑ¿ô
}

¡¡¤³¤Î¤è¤¦¤Ê¥¯¥é¥¹¤òºî¤Ã¤Æ¡¢£´¤Ä¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤·¤Æ¤¤¤ë¾ì¹ç¡¢
¤½¤ì¤¾¤ì¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë Enemy ¤Ï°Û¤Ê¤ë¥¤¥ó¥¹¥¿¥ó¥¹¤Ë¤Ê¤ë¤¿¤á¡¢
life ÊÑ¿ô¤â¡¢¤½¤ì¤¾¤ì¤¬°Û¤Ê¤ëÃͤò´ÉÍý¤·¤Þ¤¹¡£Enemy 1 ¤Î life ¤Ï20¤Ç¤â¡¢Enemy 2 ¤Î life ¤Ï10 ¤Î¤è¤¦¤Ëɽ¸½¤¬½ÐÍè¤Þ¤¹¡£

¡¡¥×¥í¥°¥é¥à¤Î»ÅÍͤΣ±¤Ä¤È¤·¤Æ¡¢¥¯¥é¥¹¤Ï¤¿¤¯¤µ¤óºî¤é¤ì¤ëÁ°Äó¤Ç½èÍý¤¬Æ°¤¯¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
¤½¤Î¤¿¤á¡¢¥¯¥é¥¹Æâ¤Ë¤¢¤ëÊÑ¿ô¤ä¥á¥½¥Ã¥É¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤Ë¤Ï¡¢¤½¤Î¥¯¥é¥¹¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤Ë¥¢¥¯¥»¥¹¤ò¤·¤Ê¤¤¤È»È¤¨¤Þ¤»¤ó¤Í¡£
¤Ä¤Þ¤ê¡¢Æ±Ì¾¤Î¥¯¥é¥¹¤¬¤¿¤¯¤µ¤ó¸ºß¤¹¤ë²ÄǽÀ­¤¬¤¢¤ë¤Î¤Ç¡¢Unity ¤Ç¤¢¤ì¤Ð¡¢
¡Ö¤É¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë¥¯¥é¥¹¡¦¥³¥ó¥Ý¡¼¥Í¥ó¥È¡×¤È¤¤¤¦É÷¤ËÆÃÄê¤ò¤·¤Æ¤¢¤²¤Ê¤¤¤È¡¢
¥×¥í¥°¥é¥à¤ÏÌ¿Îá¤ò½Ð¤¹¤³¤È¤¬½ÐÍè¤Þ¤»¤ó¡£

¡¡¤½¤Î¤¿¤á¡¢³Æ¥¯¥é¥¹Æâ¤ÎÊÑ¿ô¤ä¥á¥½¥Ã¥É¤ò»È¤¦¾ì¹ç¤Ë¤Ï¡¢²¼µ­¤Î¤è¤¦¤Ë¥¯¥é¥¹¤òÆÃÄꤹ¤ëºî¶È¤¬É¬Íפˤʤê¤Þ¤¹¡£

Enemy enemy = GetComponent<Enemy>();
enemy.life = 5;

¡¡¤¢¤ë¤¤¤Ï¡¢SerializeField°À­ ¤Ê¤É¤ò»È¤Ã¤Æ¡¢»öÁ°¤Ë¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤«¤é¡¢¤É¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë¥¯¥é¥¹¤«¤ò»ØÄꤷ¤Æ¤ª¤­¤Þ¤¹¡£

[SerializeField] Enemy enemy;

enemy.life = 5;

¡¡¤³¤Î¤è¤¦¤Ë¡¢ÈóÀÅŪ¥¯¥é¥¹(Ä̾ï¤Î¥¯¥é¥¹)¤Ï¡¢Æ±Ì¾¤Î¥¯¥é¥¹¤¬¤¿¤¯¤µ¤ó¸ºß¤¹¤ëÁ°Äó¤Ç¥×¥í¥°¥é¥à¤¬Æ°¤¤¤Æ¤¤¤ë¤Î¤Ç¡¢
¥×¥í¥°¥é¥à¤ËÂФ·¤Æ¡¢¡Ö¤É¤Î Enemy ¥¯¥é¥¹¤Ç¤¢¤ë¤«¡×¤Þ¤ÇÆÃÄꤷ¤Æ¤¢¤²¤ë¤³¤È¤Ç¡¢Ê£¿ô¤¢¤ëƱ̾¤Î¥¯¥é¥¹¤«¤é£±¤Ä¤òÁªÂò¤·¤Æ¥¢¥¯¥»¥¹¤¬½ÐÍè¤Þ¤¹¡£



¡¡º£²ó¤ÎÀÅŪÊÑ¿ô¤Ï¡¢°Û¤Ê¤ë¥¤¥ó¥¹¥¿¥ó¥¹´Ö¤Ç¤¢¤Ã¤Æ¤â¡¢¶¦Ä̤Σ±¤Ä¤Î¾ðÊó¤È¤·¤Æ°·¤ï¤ì¤ë¤È¤¤¤¦ÆÃħ¤ò»ý¤Á¤Þ¤¹¡£
¡¡ÀèÄø¤Î Enemy ¥¯¥é¥¹¤Îlife ÊÑ¿ô¤òÀÅŪ¤ÊÊÑ¿ô¤Ë¤·¤Æ¤ß¤Þ¤·¤ç¤¦¡£

public class Enemy {¡¡¡¡//¡¡ÈóÀÅŪ¥¯¥é¥¹
    public static int life = 20;  // ¢«¡¡ÀÅŪÊÑ¿ô¤ËÊѹ¹
}

¡¡¤³¤Î¥¯¥é¥¹¤òƱ¤¸¤è¤¦¤Ë£´¤Ä¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤·¤¿¤È¤­¡¢
¤½¤ì¤¾¤ì¤¬°Û¤Ê¤ë¥¤¥ó¥¹¥¿¥ó¥¹¤Î Enemy ¥¯¥é¥¹¤È¤·¤ÆÀ¸À®¤µ¤ì¤Þ¤¹¤¬¡¢static ¤Ç¤¢¤ë life ÊÑ¿ô¤À¤±¤Ï¡¢¤¹¤Ù¤Æ¶¦Ä̲½¤µ¤ì¤Æ¡¢
£±¤Ä¤Î¾ðÊó¤È¤·¤Æ´ÉÍý¤µ¤ì¤ë¤è¤¦¤ËÊѤï¤ê¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢Enemy 1 ¤Î life ¤¬ 15 ¤Ê¤é¡¢Â¾¤Î£³¤Ä¤Î Enemy ¤Î life ¤â 15 ¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¦¡¢¤È¤¤¤¦¤³¤È¤Ç¤¹¡£

¡¡¤³¤ì¤Ï¥×¥í¥°¥é¥àŪ¤ÊÀâÌÀ¤ËÃÖ¤­´¹¤¨¤ë¤È¡¢ÀÅŪÊÑ¿ô¤È¤Ï¡¢¥¯¥é¥¹¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤Ë°Í¸¤·¤Ê¤¤(¸ÄÊ̤ξðÊó¤Ë¤Ê¤é¤Ê¤¤)ÊÑ¿ô¤Ç¤¢¤ê¡¢
¥¯¥é¥¹Á´ÂÎ(º£²ó¤Ê¤é Enemy ¥¯¥é¥¹Á´ÂÎ)¤Ç¶¦Í­¤µ¤ì¤¿£±¤Ä¤Î¾ðÊó¤Ë¤Ê¤ê¡¢¥¤¥ó¥¹¥¿¥ó¥¹¤òºîÀ®¤»¤º¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤ëÊÑ¿ô¤Ç¤¹¡£

¡¡¤è¤Ã¤Æ¡¢¥¯¥é¥¹¼«ÂΤÏÊ£¿ô¤¢¤Ã¤Æ¤â¡¢¤½¤ÎÃæ¤Ë¤¢¤ëÊÑ¿ô¤Ï£±¤Ä¤Î¸ÇÍ­¾ðÊó¤È¤Ê¤ê¤Þ¤¹¤Î¤Ç¡¢
¡Ö¤É¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë¥¯¥é¥¹¡×¤È¤¤¤¦É÷¤ËÆÃÄꤷ¤Ê¤¯¤Æ¤â»È¤¦¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
¡¡¡Ö¥¯¥é¥¹Ì¾.ÀÅŪÊÑ¿ô̾¡×¤È½ñ¤±¤Ð¡¢GetComponent ¤ä SerializeField ¤Ê¤É¤Ç¥¯¥é¥¹¤òÆÃÄꤷ¤Ê¤¯¤Æ¤â»È¤¨¤Þ¤¹¡£

Enemy.life = 10;

¡¡¤³¤Î¤è¤¦¤Ë¡¢static ¤ÎÊÑ¿ô¤Ï¡¢°·¤ï¤ìÊý(¶¦ÄÌ´ÉÍý¤µ¤ì¤ë)¤È¡¢°·¤¤Êý(Ì¿Îá¤Î½ñ¤­Êý)¤¬¡¢Ä̾ï¤ÎÊÑ¿ô¤È¤Ï°Û¤Ê¤ê¤Þ¤¹¡£



¡¡¤Þ¤¿¡¢ÀÅŪÊÑ¿ô¤Ï public ¤Ç¤¢¤Ã¤Æ¤â¡¢¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤Ë¤Ïɽ¼¨¤µ¤ì¤Ê¤¤¤È¤¤¤¦ÆÃħ¤â»ý¤Á¤Þ¤¹¡£
¥Ç¥Ð¥Ã¥°¤¬¤·¤Ë¤¯¤¤¤¿¤á¡¢Debug.Log ¥á¥½¥Ã¥É¤òÊ»ÍѤ¹¤ë¤³¤È¤Ç¡¢¸½ºß¤ÎÃͤò³Îǧ¤¹¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£



¡¡²¼µ­¤Î¤è¤¦¤Ê¥Æ¥¹¥È¥¯¥é¥¹¤ò£²¤ÄºîÀ®¤·¤Æ¤¤¤¿¤À¤­¡¢Ä̾ï¤ÎÊÑ¿ô¤È¡¢ÀÅŪ¤ÊÊÑ¿ô¤Î°ã¤¤¤ò³Îǧ¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£


Enemy.cs(Ê£¿ô¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤¹¤ë)
public class Enemy : MonoBehaviour {¡¡¡¡//¡¡ÈóÀÅŪ¥¯¥é¥¹
    public static int life = 10;  // ¢«¡¡ÀÅŪÊÑ¿ô

    void Update() {
        if(life <= 0) {
            Destroy(gameObject);
        }
    }
}




StaticValueTest.cs (Enemy °Ê³°¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á(Create Empty¤·¤¿¤â¤Î¤Ç¤âÂç¾æÉפǤ¹))
public class StaticValueTest : MonoBehaviour{

    [SerializeField] private int testValue;

    void Start () {
        Enemy.life = testValue;
        Debug.Log("ÀÅŪÊÑ¿ô¤ÎÃÍ Enemy ¤Î life :" + Enemy.life);
    }
}

¡¡¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤Ç¡¢testValue ¤ÎÃͤòÊѤ¨¤Æ¤ß¤Þ¤·¤ç¤¦¡£
Ê£¿ô¤Î Enemy ¤ÎÃͤ¬¶¦Ä̤ÇÊѲ½¤·¤Þ¤¹¡£

¡¡¤Þ¤¿¡¢testValue ¤ò0 ¤Ë¤·¤Æ¤ß¤ë¤È¡¢¤¹¤Ù¤Æ¤Î Enemy ¤Î¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤¬Ç˲õ¤µ¤ì¤Þ¤¹¤Î¤Ç
ÀÅŪÊÑ¿ô¤¬¶¦Ä̤ǴÉÍý¤µ¤ì¤Æ¤¤¤ë¤³¤È¤¬¥²¡¼¥à²èÌÌÆâ¤Ç¤âʬ¤«¤ê¤Þ¤¹¡£

¡¡¤³¤ì¤Ï¥²¡¼¥àÀ©ºî¤Ë¤ª¤¤¤Æ¤Ï¥Ç¥á¥ê¥Ã¥È¤Ë¤Ê¤ë¥±¡¼¥¹¤¬Â¿¤¤¤¿¤á¡¢¤³¤¦¤¤¤Ã¤¿¡¢Å¨¤´¤È¤ËƱ̾¤ÎÊ̤ÎÃͤò´ÉÍý¤¹¤ëºÝ¤Ë¤ÏŬ¤·¤Æ¤¤¤Þ¤»¤ó¡£
Âå¤ï¤ê¤Ë¡¢¥·¥ó¥°¥ë¥È¥ó¥¯¥é¥¹¤òºî¤ëºÝ¤Ë¤Ï¡¢ÊØÍø¤Êµ¡Ç½¤Ë¤Ê¤ê¤Þ¤¹¡£


¥Æ¥¹¥ÈÊýË¡Îã


¡¡ºîÀ®¤·¤¿¥¹¥¯¥ê¥×¥È¤òÍøÍѤ·¤¿¥Æ¥¹¥ÈÊýË¡¤Î¼ÂÎã¤Ç¤¹¡£

¡¡¤Þ¤º¡¢2D¤Ç¤â3D¤Ç¤â¤è¤¤¤Î¤Ç¡¢Enemy ¥¯¥é¥¹¤ò¥¢¥¿¥Ã¥Á¤¹¤ë¤¿¤á¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òºîÀ®¤·¡¢Enemy ¥¯¥é¥¹¤ò¥¢¥¿¥Ã¥Á¤·¤Þ¤¹¡£
ºï½ü¤µ¤ì¤ë¤³¤È¤ò³Îǧ¤·¤¿¤¤¤Î¤Ç¡¢Create Empty °Ê³°¤ÇºîÀ®¤¹¤ë¤ÈÎɤ¤¤Ç¤·¤ç¤¦¡£

¡¡¼¡¤Ë¡¢¤³¤Î¥ª¥Ö¥¸¥§¥¯¥È¤ò Ctrl + D(Command + D)¤ÇÊ£À½¤·¤Þ¤¹¡£4¡Á5¤³°Ì¤Ë¤·¤Þ¤¹¡£

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




¡¡¤³¤ì¤é¤Ï½Å¤Ê¤Ã¤¿¾õÂÖ¤ÇÊ£À½¤µ¤ì¤ë¤¿¤á¡¢¤½¤ì¤¾¤ì¤¬¸«¤¨¤ë¤è¤¦¤Ë°ÌÃÖ¤ò¤º¤é¤¹É¬Íפ¬¤¢¤ê¤Þ¤¹¡£
£±¤Ä¤º¤Ä°ÜÆ°¤µ¤»¤Æ¤â¤è¤¤¤Ç¤¹¤¬¡¢¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤Î Position ¤Ç¤Ï´Ø¿ô¤¬ÍÑ°Õ¤µ¤ì¤Æ¤ª¤ê¡¢¤½¤ì¤òÍøÍѤ¹¤ë¤³¤È¤Ç°ÌÃÖ¤ò°ÜÆ°¤Ç¤­¤Þ¤¹¡£

¡¡°ÜÆ°¤µ¤»¤¿¤¤¼´¤Ë L(min, max) ¤È½ñ¤­¤Þ¤¹¡£Î㤨¤Ð¡¢¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤¬£µ¤Ä¤¢¤ê¡¢L(0, 4) ¤È½ñ¤¯¤È¡¢1¥á¡¼¥È¥ë´Ö³Ö¤ÇÎ¥¤ì¤ÆÇÛÃÖ¤µ¤ì¤Þ¤¹¡£
¤¿¤À¤·¡¢¾¯¤·¤º¤é¤·¤¿Êý¤¬¸«¤¨¤ä¤¹¤¤¾ì¹ç¤Ë¤Ï¡¢L(0,5) ¤Î¤è¤¦¤ËºÇÂçÃͤòÂ礭¤¯¤¹¤ë¤³¤È¤Ç´Ö³Ö¤ò¶õ¤±¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£

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



¡ã¥Æ¥¹¥ÈÆ°²è­¡¡¡Ê£¿ô¤Î¥ª¥Ö¥¸¥§¥¯¥È¤òÅù´Ö³Ö¤Çʤ٤ë¡ä
Æ°²è¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯


¡¡¿ô»ú¤òÆþ¤ì¤ë¤¿¤Ó¤ËºÆÇÛÃÖ¤µ¤ì¤ë¤Î¤Ç¡¢¤è¤¤°ÌÃ֤ˤʤë¤Þ¤ÇÄ´À°¤¹¤ë¤È¤è¤¤¤Ç¤·¤ç¤¦¡£

¡¡¤Þ¤¿ # ¤È¤À¤±ÆþÎϤ·¤Æ¤âÅù´Ö³Ö¤ËÇÛÃÖ½ÐÍè¤Þ¤¹¡£¤³¤Á¤é¤Ï index number ¤ò¸µ¤Ë¤·¤ÆÇÛÃÖ¤·¤Æ¤¤¤Þ¤¹¡£


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



¡¡¤³¤¦¤¤¤Ã¤¿ÊØÍø¤Êµ¡Ç½¤Ê¤É¤Ï²òÀ⤵¤ì¤Æ¤¤¤ëÆ°²è¤ä¥µ¥¤¥È¤¬¤¢¤ê¤Þ¤¹¤Î¤Ç¡¢³Ð¤¨¤Æ¤ª¤¯¤È¸úΨ²½¤Î¼ê½õ¤±¤Ë¤Ê¤ê¤Þ¤¹¡£


»²¹ÍÆ°²è(YouTube)
Unity Japan
ÇÛÃÖ¤òĶ²Ã®¤¹¤ë11¤Î¥Æ¥¯¥Ë¥Ã¥¯




¡¡Enemy ¤ÎÀÅŪÊÑ¿ô¤ò³Îǧ¤¹¤ë¤¿¤á¤Î StaticValueTest ¥¯¥é¥¹¤ò¡¢¿·¤·¤¯ºî¤Ã¤¿¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤·¤Þ¤¹¡£
¤³¤Á¤é¤Ï Create Empty ¤ÇºîÀ®¤·¤Æ¤âÌäÂꤢ¤ê¤Þ¤»¤ó¡£


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



¡ã¥Æ¥¹¥ÈÆ°²è­¢¡¡ÀÅŪÊÑ¿ô¤¬¶¦ÄÌ´ÉÍý¤µ¤ì¤Æ¤¤¤ë³Îǧ¥Æ¥¹¥È¡ä
Æ°²è¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯


¡¡StaticValue ÊÑ¿ô¤ò 0 ¤ËÀßÄꤹ¤ë¤È¡¢Enemy ¤Î Life ÊÑ¿ô¤¬ 0 ¤Ë¤Ê¤ê¡¢
¤³¤Î¾ðÊó¤¬Á´ Enemy ¤Ç¶¦Ä̤·¤ÆÍøÍѤµ¤ì¤Æ¤¤¤ë¤¿¤á¡¢¤¹¤Ù¤Æ¤Î Enemy ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤¬Ç˲õ¤µ¤ì¤Þ¤¹¡£

¡¡¤³¤ì¤Ë¤è¤ê¡¢ÀÅŪÊÑ¿ô¤Î¾õÂÖ¤ò³Îǧ¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£


Console



¥×¥í¥Ñ¥Æ¥£¤ÎºîÀ®


¡¡static ¤Î¥×¥í¥Ñ¥Æ¥£¤âºî¤ì¤Þ¤¹¡£

class MyClass {

    private static int _staticValue = 10;¡¡//¡¡ÀÅŪÊÑ¿ô¤Ï private ¤Ë

    // ÀÅŪ¥×¥í¥Ñ¥Æ¥£¤ò»È¤Ã¤Æ¡¢private ¤ÎÀÅŪÊÑ¿ô¤ò³°Éô¤ËÄó¶¡
    public static int StaticValue {
        get { return _staticValue; }
        set { _staticValue = value; }
    }
}