Yaminabe

¤é¤¯¤¬¤­¤Ö¤í¤°

Yaminabe¡§6/637
¤Æ¤¹¤È¡§Yaminabe¤Á¤ã¤ó¤ÏÀ¸¤Þ¤ì¤¿¤Ð¤«¤ê¤Î¥Ö¥í¥°¤Ç¤¹¡¡¤ß¤ó¤Ê¤ÇÃç¤è¤¯»È¤Ã¤Æ¤Í

¡ÉUnity¤Î¤¿¤á50¤Î¥Ò¥ó¥È¤È¥Ù¥¹¥È¥×¥é¥¯¥Æ¥£¥¹¡É¤Î2016ǯ²þÄûÈǤΰÕÌõ¤ò¤·¤Æ¤ß¤Þ¤·¤¿¡£
¸íÌõ¤Þ¤¿µ­½Ò¥ß¥¹¡¢¤½¤Î¾¤¬¤¢¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¤¬¡¢¤½¤ì¤é¤Ï¥³¥á¥ó¥ÈÍó¤Î¤Û¤¦¤Ë¤ª´ê¤¤¤·¤Þ¤¹¡£
 

 

¢£ Unity¤Î¤¿¤á50¤Î¥Ò¥ó¥È¤È¥Ù¥¹¥È¥×¥é¥¯¥Æ¥£¥¹¡Ê2016ǯÈÇ¡Ë

Gamasutra¡§¥Ï¡¼¥Þ¥óTulleken¤Î¥Ö¥í¥° - Unity¤Î¤¿¤á50¤Î¥Ò¥ó¥È¤È¥Ù¥¹¥È¥×¥é¥¯¥Æ¥£¥¹¡Ê2016ǯÈÇ¡Ë


Ìó4ǯÁ°¡¢»ä¤Ï¥ª¥ê¥¸¥Ê¥ë¤Ç¤¢¤ë 50 Tips for working with Unity ¤ò¸ø³«¤·¤Þ¤·¤¿

¥ª¥ê¥¸¥Ê¥ë¥Ð¡¼¥¸¥ç¥ó¤È¤Ï¿¤¯¤Î´ØÏ¢¤¬¤¢¤ê¤Þ¤¹¤¬¡¢¤½¤Î¸å¤Ë¿¿ô¤ÎÊѹ¹¤¬¤¢¤ê¤Þ¤¹¡§

  • Unity¤ÏÎɤ¯¤Ê¤ê¤Þ¤·¤¿¡£¤¿¤È¤¨¤Ð¡¢»ä¤Ï¸½ºß¡¢FPS¥«¥¦¥ó¥¿¤ò¿®Íꤷ¤Æ¤¤¤Þ¤¹¡£ PropertyDrawers¤ò»ÈÍѤǤ­¤ë¤¿¤á¡¢¥«¥¹¥¿¥à¡¦¥¨¥Ç¥£¥¿¡¼¤ò½ñ¤¯É¬Íפ¬¾¯¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£ ¥×¥ì¥Ï¥Öºî¶È¤ò¹Ô¤¦ÊýË¡¤Ï¡¢ÌÀ¼¨Åª¤Ë¥Í¥¹¥È¤µ¤ì¤¿¥×¥ì¥Ï¥Ö¤òɬÍפȤ· ScriptableObject¤ÏÁêÀ­¤¬¤¤¤¤¤Ç¤¹¡£
  • Visual Studio¤ÎÅý¹çÀ­¤¬¸þ¾å¤·¤Þ¤·¤¿¡£¥Ç¥Ð¥Ã¥°¤¬Èó¾ï¤Ë´Êñ¤Ë¤Ê¤ê¡¢¥´¥ê¥é¥Ç¥Ð¥Ã¥°¤¬ÉÔÍפˤʤê¤Þ¤·¤¿¡£
  • ¥µ¡¼¥É¥Ñ¡¼¥Æ¥£À½¤Î¥Ä¡¼¥ë¤È¥é¥¤¥Ö¥é¥ê¤¬Îɤ¯¤Ê¤ê¤Þ¤·¤¿¡£Asset Store¤Ë¤Ï¡¢»ë³ÐŪ¤Ê¥Ç¥Ð¥Ã¥°¤ä¤è¤êÎɤ¤¥í¥®¥ó¥°¤Ê¤É¤Î½èÍý¤ò¹Ô¤¦Â¿¤¯¤Î¥¢¥»¥Ã¥È¤¬ÍѰդµ¤ì¤Æ¤¤¤Þ¤¹¡£¡£»ä¤¿¤ÁÆÈ¼«¤Î¡Ê̵ÎÁ¡Ë³ÈÄ¥µ¡Ç½¤Ï¡¢¥×¥é¥°¥¤¥ó¤Ï¡¢¸µ¤Îµ­»ö¤Ëµ­ºÜ¤µ¤ì¤¿¸µ¤Îµ­»ö¤Ëµ­ºÜ¤µ¤ì¤Æ¤¤¤ë¥³¡¼¥É¤Î¿¤¯¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£¡Ê¤½¤ì¤Î¿¤¯¤Ï¡¢¤³¤³¤Ç¤âÀâÌÀ¤·¤Þ¤¹¡Ë¡£
  • ¥Ð¡¼¥¸¥ç¥ó´ÉÍý¤ÏÎɤ¯¤Ê¤ê¤Þ¤·¤¿¡£¡Ê¤¢¤ë¤¤¤Ï¡¢º£¡¢»ä¤Ï¤½¤ì¤ò¸ú²ÌŪ¤Ë»ÈÍѤ¹¤ëÊýË¡¤òÃΤäƤ¤¤Þ¤¹¡Ë¡£Î㤨¤Ð¡¢Ê£¿ô¤Î¥³¥Ô¡¼¤ä¥×¥ì¥Ï¥Ö¤Î¥Ð¥Ã¥¯¥¢¥Ã¥×¥³¥Ô¡¼¤ò»ý¤ÄɬÍפϤ¢¤ê¤Þ¤»¤ó¡£
  • »ä¤Ï¤è¤ê¿¤¯¤Î·Ð¸³¤òÆÀ¤Þ¤·¤¿¡£»ä¤Ï¤³¤Î4ǯ´Ö¤Ç¡¢¿ô¿¤¯¤Î¥²¡¼¥à¤Î¥×¥í¥È¥¿¥¤¥×¡¢Father.IO¤Î¤è¤¦¤Ê¥×¥í¥À¥¯¥·¥ç¥ó¥²¡¼¥à ¤ª¤è¤ÓÅö¼Ò¤Î¼çÎÏUnity¥¢¥»¥Ã¥È¥°¥ê¥Ã¥É¡£¤Ê¤É¤Î¿ô¿¤¯¤ÎUnity¡¦¥×¥í¥¸¥§¥¯¥È¤Ë¼è¤êÁȤߤޤ·¤¿¡£

    ¤³¤Îµ­»ö¤Ï¡¢¾åµ­¤ò¤¹¤Ù¤Æ¹Íθ¤·¤¿¥ª¥ê¥¸¥Ê¥ë¤Î²þÄûÈǤǤ¹¡£




Tips¤Î¥Ç¥£¥¹¥«¥Ã¥·¥ç¥ó¤ò³¤±¤ëÁ°¤Ë¡¢»ä¤¿¤Á¤Ï¤³¤³¤Ë¼¡¤ÎÌÈÀÕ¾ò¹à¤òȯ¹Ô¤·¤Þ¤¹¡Ê½é´ü¥Ð¡¼¥¸¥ç¥ó¤È´ðËÜŪ¤ËƱ¤¸¤Ç¤¹¡Ë¡§

¤³¤ì¤é¤Î¥Ò¥ó¥È¤Ï¡¢¤¹¤Ù¤Æ¤ÎUnity¥×¥í¥¸¥§¥¯¥È¤ËŬÍѤµ¤ì¤ë¤â¤Î¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£

  • ¤³¤ì¤é¤Ï¡¢3?20¿Í¤«¤é¤Î¾®¤µ¤Ê¥Á¡¼¥à¤Î¥×¥í¥¸¥§¥¯¥È¤Ç¤Î»ä¤Î·Ð¸³¤Ë´ð¤Å¤¤¤Æ¤¤¤Þ¤¹¡£
  • ¥Á¡¼¥à¤Î¥µ¥¤¥º¡¢¥×¥í¥¸¥§¥¯¥È¤Îµ¬ÌÏ¡¢¤ª¤è¤Ó¥×¥í¥¸¥§¥¯¥È¤ÎÌÜɸ¤Ë¤è¤ê ¤½¤ÎÂå²Á¤¬»Ùʧ¤ï¤ì¤ë¤Ù¤­¤«¤É¤¦¤«¤ò·èÄꤷ¤Þ¤¹ ¡£¹½Â¤¡¢ºÆÍøÍÑÀ­¡¢Æ©ÌÀÀ­¡¢¤Ê¤É¤Îɾ²ÁÃͤ¬¤¢¤ê¤Þ¤¹ Î㤨¤Ð ¤¢¤Ê¤¿¤Ï¥²¡¼¥à¥¸¥ã¥àÃæ¤Ë¤¹¤Ù¤Æ¤Î¤³¤ì¤é¤ò»ÈÍѤ¹¤ë¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó¡¢¡£
  • ¿¤¯¤Î¥Ò¥ó¥È¤Ï¹¥¤ß¤ÎÌäÂê¤Ç¤¹¡Ê¤³¤³¤Ëµ­ºÜ¤µ¤ì¤Æ¤¤¤ëTips¤ËɤŨ¤¹¤ëµ»½Ñ¤¬¤¢¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡Ë¡£

°Ê²¼¤Îµ­»ö¤Ë¤â¤¤¤¯¤Ä¤«¤ÎUnity¤Î¥Ù¥¹¥È¥×¥é¥¯¥Æ¥£¥¹¡Ê¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤Î´ÑÅÀ¤«¤é¤Î¤â¤Î¤¬¡¢¤Û¤È¤ó¤É¤Ç¤¹¤¬¡Ë¤¬Â¸ºß¤·¤Þ¤¹¡§


¥ï¡¼¥¯¥Õ¥í¡¼¡Ê³«È¯¥×¥í¥»¥¹¡Ë

1.ºÇ½é¤Ë·èÄꤷ¤¿µ¬ÌϤǤ¹¤Ù¤Æ¤Î¥×¥í¥È¥¿¥¤¥×¤ò¹½ÃÛ¤·¤Þ¤¹¡£

¤½¤¦¤·¤Ê¤¤¤È¡Ê¤¿¤È¤¨¤Ð¡¢¤¢¤Ê¤¿¤¬¾ï¤ËÀµ¤·¤¯¥¢¥Ë¥á¡¼¥·¥ç¥ó¤ò¥¹¥±¡¼¥ê¥ó¥°¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡Ë¡¢¤½¤Î¸å¤Î¥¢¥»¥Ã¥È¤ò¤ä¤êľ¤¹É¬Íפ¬¤¢¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£1Unity¡¦¥æ¥Ë¥Ã¥È¤ò»ÈÍѤ·¤Æ3D¥²¡¼¥à¤Î¾ì¹ç¡¢= 1¥á¡¼¥È¥ë¡¢Ä̾ï¤ÏºÇ¹â¤Ç¤¹¡£¾ÈÌÀ¤äʪÍý³Ø¤ò»ÈÍѤ·¤Æ¤¤¤Ê¤¤2D¥²¡¼¥à¤Î¤¿¤á¤Ë¡¢¡Ê¡Ö¥Ç¥¶¥¤¥ó¡×¤Î²òÁüÅ٤ǡË1Unityñ°Ì= 1¥Ô¥¯¥»¥ë¤ÏÄ̾ï¤ÏÎɤ¤¤Ç¤¹¡£UI¡Ê¤ª¤è¤Ó2D¥²¡¼¥à¡Ë¤Ë¤Ä¤¤¤Æ¡¢¤¹¤Ù¤Æ¤Î»ñ»º¤¬¤½¤Î²òÁüÅ٤˥¹¥±¡¼¥ê¥ó¥°¤¹¤ë¤¿¤á¤ËÀ߷ײòÁüÅ١ʻ䤿¤Á¤ÏHD¤Þ¤¿¤Ï2xHD¤ò»ÈÍѡˤȥǥ¶¥¤¥ó¤òÁªÂò¤·¤Þ¤¹¡£

2. ¤¹¤Ù¤Æ¤Î¥·¡¼¥ó¤¬¼Â¹Ô²Äǽ¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£

¤³¤ì¤Ë¤è¤ê¥·¡¼¥ó¤òÀÚ¤êÂØ¤¨¤Æ¥²¡¼¥à¤ò¼Â¹Ô¤¹¤ëɬÍפ¬¤Ê¤¯¤Ê¤ê¡¢¤è¤ê®¤¯¥Æ¥¹¥È¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£¤¹¤Ù¤Æ¤Î¥·¡¼¥ó¤ÇɬÍפʥ·¡¼¥óÆÉ¤ß¹þ¤ß¤Î´Ö¤Ë¥ª¥Ö¥¸¥§¥¯¥È¤¬»Ä¤Ã¤Æ¤¤¤ë¾ì¹ç¡¢¤³¤ì¤ÏÆñ¤·¤¤¤³¤È¤Ç¤¹¡£¤³¤ì¤ò¼Â¹Ô¤¹¤ë1¤Ä¤ÎÊýË¡¤Ï¡¢Èà¤é¤¬¥·¡¼¥ó¤Ë¸ºß¤·¤Ê¤¤¤È¤­¤Ë¼«Ê¬¼«¿È¤ò¥í¡¼¥É¤¹¤ë±Ê³¥ª¥Ö¥¸¥§¥¯¥È¤Î¥·¥ó¥°¥ë¥È¥ó¤òºî¤ë»ÈÍѤ¹¤ë¤³¤È¤Ç¤¹¡£¥·¥ó¥°¥ë¥È¥ó¤ÏÊ̤ÎTips¤Ç¤è¤ê¾ÜºÙ¤Ëµ­ºÜ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£

3. ¥½¡¼¥¹¥³¡¼¥É´ÉÍý¤È¸ú²ÌŪ¤Ë¤½¤ì¤ò»ÈÍѤ¹¤ëÊýË¡¤ò³Ø¤Ó¤Þ¤¹¡£

  • ¥¢¥»¥Ã¥È¤ò¥Æ¥­¥¹¥È¤È¤·¤Æ¥·¥ê¥¢¥ë²½¤·¤Þ¤¹¡£

    ¥·¡¼¥ó¤È¥×¥ì¥Ï¥Ö¤ò¤è¤ê¹çÊ»¤µ¤»¤ë¤³¤È¤Ï¼ÂºÝ¤Ë¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢Êѹ¹¤µ¤ì¤¿¤â¤Î¤ò¤è¤ê¸«¤ä¤¹¤¯¤·¤Þ¤¹¡£

  • ¥·¡¼¥ó¤ä¥×¥ì¥Ï¥Ö¶¦Í­Àïά¤òºÎÍѤ·¤Þ¤¹¡£

    °ìÈÌŪ¤Ë¤Ï¡¢Ê£¿ô¤Î¿Í¤¬¥·¥ó¥°¥ë¥È¥ó¤ÏÊ̤ΥÁ¥Ã¥×¤Ç¤è¤ê¾ÜºÙ¤Ëµ­ºÜ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£Æ±¤¸¥·¡¼¥ó¤ä¥×¥ì¥Ï¥Ö¤Ç¤Ïưºî¤·¤Ê¤¤¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£¾®¤µ¤ÊÀ©ºî¥Á¡¼¥à¤Î¤¿¤á¤Ë¡¢Ã¯¤â¤¬¥·¡¼¥ó¤ä¥×¥ì¥Ï¥Ö¤òºî¤ë¤³¤È¤¬¤Ç¤­¤Ê¤¤¤³¤È¤òÊݾڤ¹¤ë¤¿¤á¤Ëºî¶È¤ò³«»Ï¤¹¤ëľÁ°¤Ë¡£½êÍ­¸¢¤Î¥·¡¼¥ó¤òÂåɽ¤¹¤ë¼è°ú½ê¤ÎʪÍýŪ¤Ê¥Þ¡¼¥¯¤Ï¡¢¡Ê¥Ç¥¹¥¯¥È¥Ã¥×¾å¤Î¥·¡¼¥ó¤¬¤¢¤ë¾ì¹ç¤Ï¡¢¤¢¤Ê¤¿¤À¤±¤Î1¥·¡¼¥ó¤Çºî¶È¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡ËÍ­ÍѤǤ¢¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£

  • ¥Ö¥Ã¥¯¥Þ¡¼¥¯¤Ê¤É¤Î¥¿¥°¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£
  • ʬ´ôÀïά¤ò·è¤á¤Æ¸Ç¼¹¤¹¤ë¡£ ¥·¡¼¥ó¤È¥×¥ì¥Ï¥Ö¤ò¥¹¥à¡¼¥º¤Ë¥Þ¡¼¥¸¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¤Î¤Ç¡¢Ê¬´ô¤Ï¤ä¤äÊ£»¨¤Ç¤¹¡£ ¤¢¤Ê¤¿¤¬¥Ö¥é¥ó¥Á¤ò»È¤¦¤³¤È¤Ë·è¤á¤¿¾ì¹ç¤Ï¡¢¤¢¤Ê¤¿¤Î¥·¡¼¥ó¤È¥×¥ì¥Ñ¥Ö¤Î¶¦Í­Àïά¤Ë¤½¤Ã¤ÆÆ°ºî¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
  • ¥µ¥Ö¥â¥¸¥å¡¼¥ë¤ò»ÈÍѤ¹¤ë¾ì¹ç¤ÏÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£

    ¥µ¥Ö¥â¥¸¥å¡¼¥ë¤Ï¡¢ºÆÍøÍѲÄǽ¤Ê¥³¡¼¥É¤ò°Ý»ý¤¹¤ë¤¿¤á¤ÎÁÇÀ²¤é¤·¤¤ÊýË¡¤Ç¤¹¤¬¡¢¤¤¤¯¤Ä¤«¤ÎÃí°Õ»ö¹à¤¬¤¢¤ê¤Þ¤¹¡£

  • ¥á¥¿¥Õ¥¡¥¤¥ë¤Ï¡¢°ìÈÌŪ¤ËÊ£¿ô¤Î¥×¥í¥¸¥§¥¯¥È¤Ë¤ï¤¿¤Ã¤Æ°ì´Ó¤·¤Æ¤¤¤Þ¤»¤ó¡£ÈóMonobehaviour¤Þ¤¿¤ÏÈóScriptable¥ª¥Ö¥¸¥§¥¯¥È¥³¡¼¥É¤Ç¤Ï°ìÈÌŪ¤ËÌäÂê¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢¥µ¥Ö¥â¥¸¥å¡¼¥ë¤ò»ÈÍѤ¹¤ëMonoBehaviours¤ª¤è¤ÓScriptable¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤Ï¡¢¥³¡¼¥É¤¬¼º¤ï¤ì¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£
  • ¿¤¯¤Î¥×¥í¥¸¥§¥¯¥È¡Ê¥µ¥Ö¥â¥¸¥å¡¼¥ë¤Ç1¤Ä°Ê¾å¤ò´Þ¤à¡Ë¤Çºî¶È¤·¤Æ¤¤¤ë¾ì¹ç¡¢¤¹¤Ù¤Æ¤Î¥×¥í¥¸¥§¥¯¥È¤Ç¥³¡¼¥É¤ò°ÂÄê²½¤µ¤»¤ë¤¿¤á¤Ë¡¢¤µ¤Þ¤¶¤Þ¤Ê¥×¥í¥¸¥§¥¯¥È¤ò¥×¥ë¡¦¥Þ¡¼¥¸¡¦¥³¥ß¥Ã¥È¡¦¥×¥Ã¥·¥å¤¹¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤Ë¤Ï¡¢¥¢¥Ã¥×¥Ç¡¼¥È¡¦¥¢¥Ð¥é¥ó¥·¥§¤òÆÀ¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹ ¤³¤ì¤¬µ¯¤³¤Ã¤Æ¤¤¤ë´Ö¤Ë¾¤Î狼¤¬Êѹ¹¤ò²Ã¤¨¤Æ¤¤¤ë¾ì¹ç¡¢¤½¤ì¤Ï»ý³Ū¤ÊÀãÊø¤ËÊѤï¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡Ë¡£¤³¤Î±Æ¶Á¤òºÇ¾®¸Â¤ËÍÞ¤¨¤ë1¤Ä¤ÎÊýË¡¤Ï¡¢ÀìÍÑ¤Î¥×¥í¥¸¥§¥¯¥È¤«¤é¥µ¥Ö¥â¥¸¥å¡¼¥ë¤ò¾ï¤ËÊѹ¹¤¹¤ë¤³¤È¤Ç¤¹¡£¤³¤Î¤è¤¦¤Ë¡¢¥µ¥Ö¥â¥¸¥å¡¼¥ë¤ò»ÈÍѤ¹¤ë¥×¥í¥¸¥§¥¯¥È¤Ï¡¢¾ï¤Ë¥×¥ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤½¤ì¤é¤Ï¥×¥Ã¥·¥å¥Ð¥Ã¥¯¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£

4.¥Æ¥¹¥È¥·¡¼¥ó¤ä¥³¡¼¥ÉÊÌ¡¹¤ËÊݴɤ·¤Æ¤¯¤À¤µ¤¤¡£

¥ê¥Ý¥¸¥È¥ê¤Ë°ì»þŪ¤Ê¥¢¥»¥Ã¥È¤ä¥¹¥¯¥ê¥×¥È¤ò¥³¥ß¥Ã¥È¤· ÊÔ½¸¤·¤Æ¤¤¤ë¥×¥í¥¸¥§¥¯¥È¤«¤éºï½ü¤·¤Þ¤¹¡£

5.¥Ä¡¼¥ë¡ÊÆÃ¤ËUnity¡Ë¤ò¥¢¥Ã¥×¥°¥ì¡¼¥É¤¹¤ë¾ì¹ç¤ÏƱ»þ¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤¯¤À¤µ¤¤¡£

Unity¤Ï¡¢°ÊÁ°¤È¤Ï°Û¤Ê¤ë¥Ð¡¼¥¸¥ç¥ó¤Î¥×¥í¥¸¥§¥¯¥È¤ò³«¤¤¤¿¤È¤­¤Ë¥ê¥ó¥¯¤òÊÝ»ý¤¹¤ë¤³¤È¤ËÂçÊÑÍ¥¤ì¤Æ¤¤¤Þ¤¹¤¬¡¢³Æ¥á¥ó¥Ð¡¼¤¬°Û¤Ê¤ë¥Ð¡¼¥¸¥ç¥ó¤Çºî¶È¤·¤Æ¤¤¤ë¤È¤­¤Ë¥ê¥ó¥¯¤¬¼º¤ï¤ì¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£

6. ¥µ¡¼¥É¥Ñ¡¼¥Æ¥£À½¤Î¥¢¥»¥Ã¥È¤Ï¥¯¥ê¡¼¥ó¤Ê¥×¥í¥¸¥§¥¯¥È¤Ë¥¤¥ó¥Ý¡¼¥È¤·ÆÈ¼«¤Ë»ÈÍѤ¹¤ë¤¿¤á¤Î¿·¤·¤¤¥ê¥½¡¼¥¹¥Ñ¥Ã¥±¡¼¥¸¤ò¥¨¥¯¥¹¥Ý¡¼¥È¤·¤Þ¤·¤ç¤¦¡£

¥×¥í¥¸¥§¥¯¥È¤ËľÀܥ꥽¡¼¥¹¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ë¤È¡¢¤½¤ì¤é¤Ï»þ¡¹ÌäÂê¤ò°ú¤­µ¯¤³¤¹²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡§

  • ¶¥¹ç¡Ê¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï̾Á°¡Ë¡¢ÆÃ¤Ë¡¢¥×¥é¥°¥¤¥ó¥Õ¥©¥ë¥À¤Î¥ë¡¼¥È¤Ë¥Õ¥¡¥¤¥ë¤¬¤¢¤ë¤«¡¢¥µ¥ó¥×¥ë¤Îɸ½à¥¢¥»¥Ã¥È¤Î¥¢¥»¥Ã¥È¤ò»ÈÍѤ¹¤ë¥¢¥»¥Ã¥È¤¬Â¸ºß¤¹¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£
  • ¤¢¤Ê¤¿¼«¿È¤Î¥×¥í¥¸¥§¥¯¥ÈÁ´ÂΤ˥ե¡¥¤¥ë¤òÃÖ¤¯¤È¤­¤ËÁÈ¿¥²½¤µ¤ì¤Æ¤¤¤Ê¤¤¤«¤â¤·¤ì¤Þ¤»¤ó¡£¡£¤³¤ì¤ÏÆÃ¤Ë¡¢»ÈÍѤ·¤Ê¤¤¤Çºï½ü¤¹¤ë¾ì¹ç¤ËÌäÂê¤Ë¤Ê¤ê¤Þ¤¹¡£

¤è¤ê°ÂÁ´¤Ë¥¢¥»¥Ã¥È¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ë¤Ë¤Ï¡¢°Ê²¼¤Î¼ê½ç¤Ë½¾¤Ã¤Æ¤¯¤À¤µ¤¤:

  1. ¿·¤·¤¤¥×¥í¥¸¥§¥¯¥È¤òºîÀ®¤· ¥¢¥»¥Ã¥È¤ò¥¤¥ó¥Ý¡¼¥È¤·¤Þ¤¹¡£
  2. examples ¤ò¼Â¹Ô¤· ¤½¤ì¤é¤¬Æ°ºî¤¹¤ë¤³¤È¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£
  3. ¥¢¥»¥Ã¥È¤Ï¡¢¤è¤êŬÀڤʥǥ£¥ì¥¯¥È¥ê¹½Â¤¤ËÇÛÃÖ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ ¡Ê»ä¤ÏÄ̾ÆÈ¼«¤Î¥Ç¥£¥ì¥¯¥È¥ê¹½Â¤¤Î¥ê¥½¡¼¥¹¤Î¶¯À©Åª¤Ê¥¢¥é¥¤¥á¥ó¥È¤Ê¤¤¤ó¤À¤±¤É¡¢»ä¤Ï¡¢Ç¤°Õ¤Î¥×¥í¥¸¥§¥¯¥È¤Î¤Ê¤¤¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤Ï¡¢´û¸¤Î¥Õ¥¡¥¤¥ë¤Ï½ÅÍפʰÌÃ֤˸ºß¤¹¤ë¾å½ñ¤­¤µ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¤³¤È¤ò³Îǧ¤·¤Æ¤¤¤Þ¤¹¡£)
  4. examples¤ò¼Â¹Ô¤·¤ÆÆ°ºî³Îǧ¤ò¤·¤Þ¤¹¡£¡Ê¥ê¥½¡¼¥¹¤ò°Üư¤·¤¿¤È¤­¤Ë»þ¡¹ ¥¢¥»¥Ã¥È¤Î»½ý¤ò°ú¤­µ¯¤³¤¹²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¤¬¡¢°ìÈÌŪ¤ËÌäÂê¤Ë¤Ê¤ë¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó¡Ë¡£
  5. ɬÍפΤʤ¤¤â¤Î¤òÁ´¤Æºï½ü¤·¤Þ¤¹¡Ê¤¿¤È¤¨¤Ðexamples¤Î¤è¤¦¤Ê¡Ë¡£
  6. ¥¢¥»¥Ã¥È¤¬¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Æ¤¤¤ë¤« ¤½¤·¤Æ¥×¥ì¥Ï¥Ö¤¬Á´¤Æ¥ê¥ó¥¯¤µ¤ì¤Æ¤¤¤ë¤«³Îǧ¤·¤Þ¤¹¡£¤Ê¤Ë¤«»Ä¤Ã¤Æ¤¤¤ë¤«¤ò¼Â¹Ô¤·¤Æ¥Æ¥¹¥È¤·¤Þ¤¹
  7. ¤¹¤Ù¤Æ¤Î¥¢¥»¥Ã¥È¤òÁªÂò¤·¤Æ¡¢¥Ñ¥Ã¥±¡¼¥¸¤ò¥¨¥¯¥¹¥Ý¡¼¥È¤·¤Þ¤¹¡£
  8. ¥×¥í¥¸¥§¥¯¥È¤Ë¥¤¥ó¥Ý¡¼¥È¤·¤Þ¤¹¡£

7. ¥Ó¥ë¥É¥×¥í¥»¥¹¤Î¼«Æ°²½¡£

¤³¤ì¤Ï¾®µ¬ÌÏ¤Ê¥×¥í¥¸¥§¥¯¥È¤Ç¤âÌò¤ËΩ¤Á¤Þ¤¹¤¬¡¢°Ê²¼¤Î¾ì¹ç¤ËÆÃ¤ËÊØÍø¤Ç¤¹¡§

  • ¿¤¯¤Î°Û¤Ê¤Ã¤¿¥²¡¼¥à¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¥Ó¥ë¥É¤¬É¬Íפʾì¹ç¡£
  • ¥Á¡¼¥àÆâ¤Îµ»½ÑÃμ±¤Îº¹°Û¤¬¤¢¤ë¥á¥ó¥Ð¡¼¤Ç¥Ó¥ë¥É¤ÎɬÍפ¬¤¢¤ë¾ì¹ç¡£
  • ¥×¥í¥¸¥§¥¯¥È¤Î¥Ó¥ë¥ÉÁ°¤ËÈùÄ´À°¤ò¤¹¤ëɬÍפ¬¤¢¤ë¾ì¹ç¡£

¢¨ Unity Builds Scripting: Basic and advanced possibilities ¾Ü¤·¤¯¤Ï¥ê¥ó¥¯Àè¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£


8. ¥É¥­¥å¥á¥ó¥È¥»¥Ã¥È¥¢¥Ã¥×¡£

¤Û¤È¤ó¤É¤Î¥É¥­¥å¥á¥ó¥È¤Ï¥³¡¼¥ÉÆâ¤Ë¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¤¬¡¢ÆÃÄê¤Î¤³¤È¤Ï¡¢¥³¡¼¥É¤Î³°¤Ë¥É¥­¥å¥á¥ó¥È²½¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£Àß·×¼Ô¤¬¥»¥Ã¥È¥¢¥Ã¥×ÍѤΥ³¡¼¥É¤ò¼è¼ÎÁªÂò¤¹¤ë¤³¤È¤Ï»þ´Ö¤ÎϲÈñ¤Ç¤¹¡£¡Ê¥É¥­¥å¥á¥ó¥È¤¬ºÇ¿·¤Î¤â¤Î¤Ç¤¢¤ë¾ì¹ç¡Ë¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤¿¥»¥Ã¥È¥¢¥Ã¥×¤Î¸úΨ¤ò²þÁ±¤·¤Þ¤·¤¿¡£

°Ê²¼¤Î¤è¤¦¤Ê¤³¤È¤ò¥É¥­¥å¥á¥ó¥È²½¤·¤Æ¤¯¤À¤µ¤¤¡§

  • »ÈÍѤ·¤Æ¤¤¤ë¥¿¥°¡£
  • ¥ì¥¤¥ä¡¼ÍÑÅÓ¡Ê¥³¥ê¥¸¥ç¥ó¡¢¥«¥ê¥ó¥°¤ª¤è¤Ó¥ì¥¤¥­¥ã¥¹¥È ËܼÁŪ¤Ë¤Ï¡¢³Æ¥ì¥¤¥ä¤ËÂбþ¤¹¤ë»ÈÍÑ¡Ë
  • ¥ì¥¤¥ä¡¼¤Î¤¿¤á¤ÎGUI¤Î¿¼¤µ¡Ê³Æ¥ì¥¤¥ä¡¼¤ËÂбþ¤¹¤ëɽ¼¨¡Ë
  • ¥·¡¼¥ó¤Î¥»¥Ã¥È¥¢¥Ã¥×ÀßÄê¡£
  • Ê£»¨¤Ê¥×¥ì¥Ï¥Ö¤Î¥×¥ì¥Ï¥Ö¹½Â¤¡£
  • ¶¦Ä̸À¸ìÀßÄê¡£
  • ¥Ó¥ë¥É¤Î¥»¥Ã¥È¥¢¥Ã¥×ÀßÄê¡£

°ìÈÌŪ¤Ê¥³¡¼¥Ç¥£¥ó¥°

9.¤¹¤Ù¤Æ¤Î¥³¡¼¥É¤ò̾Á°¶õ´Ö(¥Í¡¼¥à¥¹¥Ú¡¼¥¹)Æâ¤Ë³ÊǼ¤¹¤ë¡£

¤³¤ì¤Ë¤è¤ê¡¢ÆÈ¼«¤Î¥é¥¤¥Ö¥é¥ê¤È¥µ¡¼¥É¥Ñ¡¼¥Æ¥£¤Î¥³¡¼¥É´Ö¤Î¥³¡¼¥É¤Î¾×ÆÍ¤ò²óÈò¤Ç¤­¤Þ¤¹¡£¤·¤«¤·½ÅÍפʥ¯¥é¥¹¤È¤Î¾×ÆÍ¤òÈò¤±¤ë¤¿¤á¤Ë¡¢Ì¾Á°¶õ´Ö¤Ë°Í¸¤·¤Æ¤¤¤Þ¤»¤ó Ê̤Î̾Á°¶õ´Ö¤ò»ÈÍѤ¹¤ë¤È¤·¤Æ¤â¥¯¥é¥¹Ì¾¤È¤·¤Æ¡¢"Object"¡¢ "Action" ¡¢ "Event" ¤Ï»ÈÍѤ·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£

10. ¥¢¥µ¡¼¥·¥ç¥ó¤Î»ÈÍÑ

¥¢¥µ¡¼¥·¥ç¥ó¤Ï¡¢¥³¡¼¥ÉÆâ¤ÎÉÔÊÑÎ̤ò¥Æ¥¹¥È¤·ÏÀÍý¥Ð¥°¤ò¥Õ¥é¥Ã¥·¥å¤¹¤ë¤Î¤ËÌòΩ¤Á¤Þ¤¹¡£¥¢¥µ¡¼¥·¥ç¥ó¤ÇÍøÍѲÄǽ¤Ê¤Î¤ÏUnity.Assertions.Assert¤Î¥¯¥é¥¹¤Ç¤¹¡£¤³¤ì¤é¤Ç¤¹¤Ù¤Æ¤Î¾ò·ï¤ò¥Æ¥¹¥È¤· ¾ò·ï¤¬Ëþ¤¿¤µ¤ì¤Ê¤¤¾ì¹ç¡¢¥³¥ó¥½¡¼¥ë¤Ë¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤ò½ñ¤­¹þ¤ß¤Þ¤¹¡£¥¢¥µ¡¼¥·¥ç¥ó¤ò¤É¤Î¤è¤¦¤Ë³èÍѤǤ­¤ë¤«¤ò½ÏÃΤ·¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¥ê¥ó¥¯Àè¤ò»²¾È¥¢¥µ¡¼¥·¥ç¥ó¤ò»ÈÍѤ·¤¿¥×¥í¥°¥é¥ß¥ó¥°¤ÎÍøÅÀ¤ò¡ÊÊÌ̾ʸ¤ò¥¢¥µ¡¼¥È¡Ë¡£

11. ɽ¼¨¤µ¤ì¤ë¥Æ¥­¥¹¥È°Ê³°¤Îʸ»úÎó¤Ï»ÈÍѤ·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£

ÆÃ¤Ë¡¢¥ª¥Ö¥¸¥§¥¯¥È¤ä¥×¥ì¥Ï¥Ö¤ò¼±Ê̤¹¤ë¤¿¤á¤Ëʸ»úÎó¤ò»ÈÍѤ·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£Îã³°¤¬¤¢¤ê¤Þ¤¹¡ÊUnity¤Ç̾Á°¤Ç¤·¤«¥¢¥¯¥»¥¹¤Ç¤­¤Ê¤¤¤â¤Î¤¬¤¤¤¯¤Ä¤«¤¢¤ê¤Þ¤¹¡Ë¡£¤³¤Î¤è¤¦¤Ê¾ì¹ç¤Ë¤Ï¡¢¤½¤Î¤è¤¦¤ÊAnimationNames¤äAudioModuleNames¤Ê¤É¤Î¥Õ¥¡¥¤¥ë¤ÎÄê¿ô¤È¤·¤Æ¤³¤ì¤é¤Îʸ»úÎó¤òÄêµÁ¤·¤Þ¤¹¡£¤³¤ì¤é¤Î¥¯¥é¥¹¤Ï´ÉÍýÉÔǽ¤Ë¤Ê¤Ã¤¿¾ì¹ç¤Ï¤¢¤Ê¤¿¤Î¤è¤¦¤Ê²¿¤«¤ò¸À¤¦¤³¤È¤¬¤Ç¤­¤ë¤è¤¦¤Ë¡¢Æþ¤ì»Ò¤Ë¤Ê¤Ã¤¿¥¯¥é¥¹¤ò»ÈÍѤ·¤Þ¤¹AnimationNames.Player.Run¡£

12. Invoke ¤ÈSendMessage¤ò»ÈÍѤ·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£

¤³¤ì¤é¤ÎMonoBehaviour¤Î¥á¥½¥Ã¥É¤Ï̾Á°¤Ç¾¤Î¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡£¥³¡¼¥ÉÆâ¤Ç̾Á°¤Ç¸Æ¤Ó½Ð¤¹ÊýË¡¤Ï¡¢ÄÉÀפ¹¤ë¤Î¤¬º¤Æñ¤Ç¤¹(¤¢¤Ê¤¿¤ÏÍÑÅÓ¤ò¸«¤Ä¤±¤ë¤³¤È¤¬½ÐÍè¤Þ¤»¤ó¡£¤½¤·¤ÆSendMessage¤Î¥¹¥³¡¼¥×¤ÏÈϰϤ¬¹­¤¤¤¿¤áÄÉÀפ¹¤ë¤³¤È¤Ï¤è¤êº¤Æñ¤Ç¤¹¡Ë

¥³¥ë¡¼¥Á¥ó¤ÈC¡ô¥¢¥¯¥·¥ç¥ó¤ò»ÈÍѤ·¤ÆÆÈ¼«¤ÎInvoke¤ò´Êñ¤Ë¥í¡¼¥ë¥¢¥¦¥È¡Ê±¿Íѡˤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡§

public static Coroutine Invoke(this MonoBehaviour monoBehaviour, Action action, float time) 
{ 
return monoBehaviour.StartCoroutine(InvokeImpl(action, time)); 
} 

private static IEnumerator InvokeImpl(Action action, float time) 
{ 
yield return new WaitForSeconds(time); 

action(); 
}

¼¡¤Ë¡¢¤¢¤Ê¤¿¤ÎmonoBehaviour¤Ç¤³¤Î¤è¤¦¤Ë¤³¤ì¤ò»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡§

this.Invoke(ShootEnemy); //ShootEnemy ¤Ï°ú¿ô¤ò¼è¤é¤Ê¤¤void¥á¥½¥Ã¥É¤Ç¤¹.

ÆÈ¼«¤Î¥Ù¡¼¥¹MonoBehaviour¤ò¼ÂÁõ¤¹¤ë¾ì¹ç¤Ï¡¢ÆÈ¼«¤ÎInvoke¤òÄɲ乤뤳¤È¤¬¤Ç¤­¤Þ¤¹¡£

Ê̤ΰÂÁ´¤ÊSendMessage¤ò¼ÂÁõ¤¹¤ë¤Î¤Ï¤è¤êº¤Æñ¤Ç¤¹¡£¤½¤Î¤«¤ï¤ê¤Ë¡¢»ä¤Ï¤¿¤¤¤Æ¤¤ ¿Æ¥ª¥Ö¥¸¥§¥¯¥È¡¢¥«¥ì¥ó¥È¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ä»Ò¥ª¥Ö¥¸¥§¥¯¥È¤Î¸½ºß¤Î¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ò¼èÆÀ¤· ³Æ¼ï¤ÎGetComponent ÊÑ¿ô¤ò»ÈÍѤ·¤ÆÄ¾ÀܸƤӽФ·¤ò¼Â¹Ô¤·¤Þ¤¹¡£

¡ÊÊÔ½¸¡§Ã¯¤«¤¬Unity¤ÎEvent System¤Î°ìÉô¤Ç¤¢¤ëExecuteEvent¤òÂå¤ï¤ê¤ËÄ󰯤·¤Þ¤·¤¿¡¢¤³¤ì¤Þ¤Ç¤Ï¤Þ¤Àʬ¤«¤ê¤Þ¤»¤ó¤Ç¤·¤¿¤¬¡¢¤½¤ì°Ê¾åÄ´¤Ù¤ë²ÁÃͤϤ¢¤ê¤Þ¤¹¡Ë

13. ¥²¡¼¥à¤¬¼Â¹ÔÃæ¤Ë³¬Áؤòº®Í𤵤»¤ë¥ª¥Ö¥¸¥§¥¯¥È¤ÎÀ¸À®¤ò¤·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£

¥·¡¼¥ó¥ª¥Ö¥¸¥§¥¯¥È¤Ë¿Æ¤òÀßÄꤹ¤ë¤È¡¢¥²¡¼¥à¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¤È¤­¤Ë´Êñ¤Ë¸«¤Ä¤±¤é¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ ¶õ¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¡¢¤Þ¤¿¤Ï¥·¥ó¥°¥ë¥È¥ó¡Ê¤³¤Îµ­»ö¤Î¸åȾ»²¾È¡Ë¤ò»ÈÍѤ·¤Æ¡¢¥³¡¼¥É¤«¤é´Êñ¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤ë¤è¤¦¤Ë¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ ¤³¤Î¥ª¥Ö¥¸¥§¥¯¥È¤òDynamicObjects¤È¸Æ¤Ó¤Þ¤¹¡£

14. Àµµ¬¤ÊÃͤȤ·¤Ænull¤ò»ÈÍѤ¹¤ë¤³¤È¤Ë¤Ä¤¤¤Æ¤Ï¶ñÂÎŪ¤Ëµ­½Ò¤· ²Äǽ¤Ê¸Â¤êÈò¤±¤Æ¤¯¤À¤µ¤¤¡£

null¤ÏÉÔÀµ¤Ê¥³¡¼¥É¤ò¸¡½Ð¤¹¤ë¤Î¤ËÌòΩ¤Á¤Þ¤¹¡£ ¤·¤«¤·null¤ò°ÅÌÛŪ¤ËÅϤ¹½¬´·¤¬¤¢¤ì¤Ð¡¢´Ö°ã¤Ã¤¿¥³¡¼¥É¤¬¤¦¤Þ¤¯¼Â¹Ô¤µ¤ì¤Æ¤·¤Þ¤¤¤º¤Ã¤È¸å¤Þ¤Ç¤½¤Î¥Ð¥°¤Ëµ¤ÉÕ¤«¤Ê¤¤¤Ç¤·¤ç¤¦¡£ ¤µ¤é¤Ë³ÆÁؤ¬nullÊÑ¿ô¤Î¾å¤òÄ̲᤹¤ë¤È¤­¤Ë¥³¡¼¥É¤Î¿¼Éô¤Ë¸½¤ì¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£ »ä¤Ï¹çˡŪ¤ÊÃͤȤ·¤Ænull¤ò»È¤¦¤Î¤ò¤ä¤á¤è¤¦¤È¤·¤Þ¤¹¡£

»ä¤Î¹¥¤ß¤Î¥¤¥Ç¥£¥ª¥à¤Ï¡¢null¥Á¥§¥Ã¥¯¤ò¹Ô¤ï¤º¥³¡¼¥É¤¬ÌäÂê¤Î¤¢¤ë¾ì½ê¤Ç¼ºÇÔ¤¹¤ë¤è¤¦¤Ë¤¹¤ë¤³¤È¤Ç¤¹¡£ ¤è¤ê¿¼¤¤¥ì¥Ù¥ë¤Ø¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤È¤·¤Æµ¡Ç½¤¹¤ë¥á¥½¥Ã¥É¤Ç¤Ï¡¢null¤ÎÊÑ¿ô¤ò¥Á¥§¥Ã¥¯¤·¼ºÇÔ¤¹¤ë²ÄǽÀ­¤Î¤¢¤ë¾¤Î¥á¥½¥Ã¥É¤ËÅϤ¹Âå¤ï¤ê¤ËÎã³°¤ò¥¹¥í¡¼¤·¤Þ¤¹¡£

¾ì¹ç¤Ë¤è¤Ã¤Æ¤Ï¡¢Ãͤ¬ÀµÅö¤Ënull¤Ë¤Ê¤ë²ÄǽÀ­¤¬¤¢¤ê¡¢Ê̤ÎÊýË¡¤Ç½èÍý¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¤è¤¦¤Ê¾ì¹ç¡¢²¿¤¬¤¤¤Ä ¤½¤·¤Æ¤Ê¤¼null¤Ë¤Ê¤ë¤Î¤«¤òÀâÌÀ¤¹¤ë¥³¥á¥ó¥È¤òÄɲ䷤Ƥ¯¤À¤µ¤¤¡£

°ìÈÌŪ¤Ë¥¤¥ó¥¹¥Ú¥¯¥¿¤ÇÀßÄꤵ¤ì¤¿Ãͤˤ褯»ÈÍѤµ¤ì¤Þ¤¹¡£¥æ¡¼¥¶¡¼¤ÏÃͤò»ØÄê¤Ç¤­¤Þ¤¹¤¬¡¢Ãͤ¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¥Ç¥Õ¥©¥ë¥ÈÃͤ¬»ÈÍѤµ¤ì¤Þ¤¹¡£¤³¤ì¤ò¹Ô¤¦¤è¤êÎɤ¤ÊýË¡¤Ï¡¢T¤ÎÃͤò¥é¥Ã¥×¤¹¤ë¡¢¥¯¥é¥¹Optional ¤Ç¤¹¡Ê¤³¤ì¤ÏNullable ¤Î¤è¤¦¤Ê¤â¤Î¤Ç¤¹¡Ë¡£ÆÃÊ̤ʥץí¥Ñ¥Æ¥£¥ì¥ó¥À¥é¡¼¤ò»ÈÍѤ·¤Æ¥Á¥§¥Ã¥¯¥Ü¥Ã¥¯¥¹¤ò¥ì¥ó¥À¥ê¥ó¥°¤· ¥Á¥§¥Ã¥¯¥Ü¥Ã¥¯¥¹¤¬¥ª¥ó¤Î¾ì¹ç¤Ë¤Î¤ßÃͥܥ寥¹¤òɽ¼¨¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£

¡Ê»Äǰ¤Ê¤³¤È¤Ë¡¢¥¸¥§¥Í¥ê¥Ã¥¯¥¯¥é¥¹¤òľÀÜ»ÈÍѤ¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó.T¤ÎÆÃÄê¤ÎÃͤΥ¯¥é¥¹¤ò³ÈÄ¥¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¡Ë

[Serializable]
public class Optional
{
public bool useCustomValue;
public T value;
}
[Serializable]
public class Optional
{
public bool useCustomValue;
public T value;
}

¥³¡¼¥É¤Ç¤Ï¡¢¤³¤Î¤è¤¦¤Ëµ­½Ò¤Ç¤­¤Þ¤¹¡§

health = healthMax.useCustomValue ? healthMax.Value : DefaultHealthMax;

ÊÔ½¸¡§Â¿¤¯¤Î¿Í¤«¤é¹½Â¤ÂΤò»ÈÍѤ¹¤ëÊý¤¬Îɤ¤¤È»ØÅ¦¤µ¤ì¤Þ¤·¤¿¡Ê¥¬¥Ù¡¼¥¸¤òÀ¸À®¤»¤º¡¢null¤Ë¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡Ë¡£ ¤¿¤À¤· È󥸥§¥Í¥ê¥Ã¥¯¥¯¥é¥¹¤Î¥Ù¡¼¥¹¥¯¥é¥¹¤È¤·¤Æ¤Ï»ÈÍѤǤ­¤Ê¤¤¤¿¤á¡¢¥¤¥ó¥¹¥Ú¥¯¥¿¤Ç¼ÂºÝ¤Ë»ÈÍѤǤ­¤ë¥Õ¥£¡¼¥ë¥É¤Ë¤Ï»ÈÍѤǤ­¤Þ¤»¤ó¡£


15. ¥³¥ë¡¼¥Á¥ó¤Î¸ú²ÌŪ¤Ê»ÈÍÑÊýË¡¤ò³Ø¤Ó¤Þ¤·¤ç¤¦

¥³¥ë¡¼¥Á¥ó¤Ï¡¢Â¿¤¯¤ÎÌäÂê¤ò²ò·è¤¹¤ë¶¯ÎϤÊÊýË¡¤Ç¤¹¡£ ¤·¤«¤·¥Ç¥Ð¥Ã¥°¤¬Æñ¤·¤¯Ã¯¤âÍý²ò¤Ç¤­¤Ê¤¤¡¢¤¢¤Ê¤¿¼«¿®¤Ç¤µ¤¨Íý²ò¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤»¤ó¡£

ÃΤäƤª¤¯¤Ù¤­¤³¤È¡§

  • ¥³¥ë¡¼¥Á¥ó¤òʹԤ·¤Æ¼Â¹Ô¤¹¤ëÊýË¡¡£¡£
  • ¥³¥ë¡¼¥Á¥ó¤ò½çÈ֤˼¹Ԥ¹¤ëÊýË¡¡£
  • ´û¸¤Î¤â¤Î¤«¤é¿·¤·¤¯¥³¥ë¡¼¥Á¥ó¤òºîÀ®¤¹¤ëÊýË¡¡£
  • CustomYieldInstruction¤ò»ÈÍѤ¹¤ëcustom coroutines¡Ê¥«¥¹¥¿¥à¥³¥ë¡¼¥Á¥ó¡Ë¤òºîÀ®¤¹¤ëÊýË¡¡£


//¤³¤ì¼«¿È¤¬¥³¥ë¡¼¥Á¥ó¤Ç¤¹ 
IEnumerator RunInSequence() 
{ 
yield return StartCoroutine(Coroutine1()); 
yield return StartCoroutine(Coroutine2()); 
} 

public void RunInParallel() 
{ 
StartCoroutine(Coroutine1()); 
StartCoroutine(Coroutine1()); 
} 

Coroutine WaitASecond() 
{ 
return new WaitForSeconds(1); 
}


16. ¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹¤ò¶¦Í­¤¹¤ë¥³¥ó¥Ý¡¼¥Í¥ó¥È¤òÁàºî¤¹¤ë¤Ë¤Ï¡¢³ÈÄ¥¥á¥½¥Ã¥É¤ò»ÈÍѤ·¤Þ¤¹¡£

¡ÊÊÔ½¸¡§¤É¤¦¤ä¤éGetComponent¤Ê¤É¤Ï¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹ÍѤ˵¡Ç½¤·¡¢¤³¤Î¥Á¥Ã¥×¤ò¾éŤˤ·¤Æ¤¤¤Þ¤¹¡Ë¡£ ÆÃÄê¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò¼ÂÁõ¤¹¤ë¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ò¼èÆÀ¤·¤¿¤ê¡¢¤½¤Î¤è¤¦¤Ê¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ò»ý¤Ä¥ª¥Ö¥¸¥§¥¯¥È¤ò¸«¤Ä¤±¤ë¤ÈÊØÍø¤Ê¤³¤È¤¬¤¢¤ê¤Þ¤¹.

¼¡¤ÎÎã¤Ç¤Ï¡¢Âå¤ï¤ê¤Ë¤³¤ì¤é¤Î´Ø¿ô¤Îtypeof¤Î¥¸¥§¥Í¥ê¥Ã¥¯ÈǤò»ÈÍѤ·¤Æ¤¤¤Þ¤¹¡£¥¸¥§¥Í¥ê¥Ã¥¯ÈǤϥ¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹¤Çưºî¤·¤Þ¤¹¤¬¡¢typeof¤ò¤·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£°Ê²¼¤ÎÊýË¡¤Ï¡¢°ìÈÌŪ¤ÊÊýË¡¤Ç¤­¤Á¤ó¤È¤³¤ì¤ò¥é¥Ã¥×¤·¤Þ¤¹¡£

public static TInterface GetInterfaceComponent(this Component thisComponent) 
where TInterface : class 
{ 
return thisComponent.GetComponent(typeof(TInterface)) as TInterface; 
}

 

17. ³ÈÄ¥¥á¥½¥Ã¥É¤Î¹½Ê¸¤ò¤è¤êÊØÍø¤Ë¤¹¤ë¡£

Î㤨¤Ð¡§

public static class TransformExtensions  
{ 
public static void SetX(this Transform transform, float x) 
{ 
Vector3 newPosition =  
new Vector3(x, transform.position.y, transform.position.z); 

transform.position = newPosition; 
} 
... 
}

 

18. ¼éÈ÷·¿¤ÎGetComponentÂåÂØ¤ò»ÈÍѤ¹¤ë

¾ì¹ç¤Ë¤è¤Ã¤ÆÂ¾¤Î¥¯¥é¥¹¤ÎGetComponent¤ò¸Æ¤Ó½Ð¤¹¤È¤­¤Ë¡¢RequiredComponent¤ò²ð¤·¤Æ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î°Í¸´Ø·¸¤ò¶¯À©¤¹¤ë¤³¤È¤¬¾ï¤Ë²Äǽ¤Ç¤¢¤ë¤È¤Ï¸Â¤ê¤Þ¤»¤ó¡£ ¤½¤·¤Æ¡¢¤¿¤È¤¨¤¢¤Ê¤¿¤¬RequiredComponent¤ò»ÈÍѤ·¤Æ¤¤¤ë¤È¤·¤Æ¤â¡¢¤½¤ì¤¬¤É¤³¤Ë¤¢¤ë¤«¤ò´üÂÔ¤¹¤ë¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ò¤É¤³¤Ç¼èÆÀ¤· ¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ë¤Ï¥»¥Ã¥È¥¢¥Ã¥×¥¨¥é¡¼¤ò¥³¡¼¥ÉÆâ¤Ë¼¨¤¹¤³¤È¤ÏÍ­ÍѤǤ¹¡£ ¤³¤ì¤ò¹Ô¤¦¤Ë¤Ï¡¢¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ¹¤ë³ÈÄ¥¥á¥½¥Ã¥É¤ò»ÈÍѤ¹¤ë¤«¡¢¸«¤Ä¤«¤é¤Ê¤¤¤È¤­¤Ë¡¢°Ê²¼¤Î¤è¤¦¤Ê¤è¤êÍ­ÍѤÊÎã³°¤ò¥¹¥í¡¼¤·¤Þ¤¹¡§

 

public static T GetRequiredComponent(this GameObject obj) where T : MonoBehaviour 
{ 
T component = obj.GetComponent(); 

if(component == null) 
{ 
Debug.LogError("Expected to find component of type " 
+ typeof(T) + " but found none", obj); 
} 

return component; 
}

 

19. Ʊ¤¸¤³¤È¤ò¤¹¤ë¤¿¤á¤Ë°Û¤Ê¤ë´·ÍÑ¥¤¥Ç¥£¥ª¥à¤ò»ÈÍѤ·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£

¿¤¯¤Î¾ì¹ç¡¢Êª»ö¤ò¹Ô¤¦¤¿¤á¤ËÊ£¿ô¤Î´·½¬Åª¤ÊÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£ ¤½¤Î¤è¤¦¤Ê¾ì¹ç¤Ï¡¢¥×¥í¥¸¥§¥¯¥ÈÁ´ÂΤǻÈÍѤ¹¤ë¤â¤Î¤ò1¤ÄÁªÂò¤·¤Þ¤¹¡£

Íýͳ¤Ï¼¡¤Î¤è¤¦¤Ë¡§

1¡Ë¤¤¤¯¤Ä¤«¤Î¥¤¥Ç¥£¥ª¥à¤Ï¤¦¤Þ¤¯µ¡Ç½¤·¤Þ¤»¤ó¡£ 1¤Ä¤Î¥¤¥Ç¥£¥ª¥à¤ò»ÈÍѤ¹¤ë¤ÈÊ̤Υ¤¥Ç¥£¥ª¥à¤Ë¤ÏŬ¤µ¤Ê¤¤°ìÊý¸þ¤Î¥Ç¥¶¥¤¥ó¤Ë¤Ê¤ê¤Þ¤¹¡£

2¡ËƱ¤¸¥¤¥Ç¥£¥ª¥à¤ò»ÈÍѤ¹¤ë¤È¡¢¥Á¡¼¥à¥á¥ó¥Ð¡¼¤Ï²¿¤¬µ¯¤³¤Ã¤Æ¤¤¤ë¤Î¤«¤ò´Êñ¤ËÍý²ò¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¹½Â¤¤È¥³¡¼¥É¤òÍý²ò¤·¤ä¤¹¤¯¤· ´Ö°ã¤¤¤Ë¤¯¤¯¤Ê¤ê¤Þ¤¹¡£

¥¤¥Ç¥£¥ª¥à´ð¤ÎÎã¡§

  • ¥¹¥Æ¡¼¥È¥Þ¥·¥óvs¥³¥ë¡¼¥Á¥ó¡£
  • ¥Í¥¹¥È¤µ¤ì¤¿¥×¥ì¥Ï¥Övs¥ê¥ó¥¯¥×¥ì¥Ï¥Övsgod¥×¥ì¥Ï¥Ö¡£
  • ¥Ç¡¼¥¿Ê¬Î¥Àïά¡£
  • 2D¤Î¥²¡¼¥à¤Ç¾õÂÖ¥¹¥Æ¡¼¥È¤Î¥¹¥×¥é¥¤¥È¤ò»ÈÍѤ¹¤ëÊýË¡¡£
  • ¥×¥ì¥Ï¥Ö¹½Â¤¡£
  • ¥¹¥Ý¡¼¥óÀïά¡£
  • ¥¿¥¤¥×¤Ë¤è¤Ã¤Æ»²¾È¡Ê¡Ö¥ê¥ó¥¯¡×¡ËÇÛÎóvs¥ì¥¤¥ä¡¼vs¥¿¥°vs¥Í¡¼¥àvs¡§¥ª¥Ö¥¸¥§¥¯¥È¤ò¸¡º÷¤¹¤ëÊýË¡¡£
  • ¥ª¥Ö¥¸¥§¥¯¥È¤ò¥°¥ë¡¼¥×²½¤¹¤ëÊýË¡¡§¥ì¥¤¥ä¡¼»²¾ÈvsÇÛÎó¡Ê¡Ö¥ê¥ó¥¯¡×¡Ëvs¥¿¥°vs¥Í¡¼¥àvs¥¿¥¤¥×¤Ë¤è¤Ã¤Æ¡£
  • ¾¤Î¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤¹¤¿¤á¤ÎÊýË¡¡£
  • ¼«¸ÊÅÐÏ¿vs¥ª¥Ö¥¸¥§¥¯¥È¤Î¥°¥ë¡¼¥×¤Î¸¡º÷¡£
  • ¼Â¹Ô½ç½ø¤ÎÀ©¸æ¡ÊUnity¤Îexecution orderÀßÄêvsyield logic vsAwake / Start and Update / Late Update ¹¹¿·¤Î¿®Íêvs¼êư¤Ë¤è¤ëÊýË¡¤ÈǤ°Õ½ç½ø¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Î»ÈÍÑ¡Ë
  • ¥²¡¼¥àÃæ¤Î¥Þ¥¦¥¹¤Ç¥ª¥Ö¥¸¥§¥¯¥È/¥Ý¥¸¥·¥ç¥ó/¥¿¡¼¥²¥Ã¥È¤òÁªÂò¤¹¤ë¡§ÁªÂò¥Þ¥Í¡¼¥¸¥ã¤È¥í¡¼¥«¥ë¼«¸Ê´ÉÍý¡£
  • ¥·¡¼¥ó¤ÎÊѲ½¤È¤Î´Ö¤Ç¥Ç¡¼¥¿¤òÊÝ»ý¡§¤òÄ̤¸¤Æ  PlayerPrefs¿·¤·¤¤¥·¡¼¥ó¤¬¥í¡¼¥É¤µ¤ì¤ë¤È¤­¤ËÇ˲õ¤µ¤ì¤Ê¤¤¡¢¤Þ¤¿¤Ï¥ª¥Ö¥¸¥§¥¯¥È¡£
  • ¡Ê¥¢¥Ç¥£¥ó¥°¤ª¤è¤Ó¥ì¥¤¥ä¥ê¥ó¥°¡¢¥Ö¥ì¥ó¥Ç¥£¥ó¥°¡Ë¥¢¥Ë¥á¡¼¥·¥ç¥ó¤ÎÁȤ߹ç¤ï¤»¤ÎÊýË¡¡£
  • ÆþÎϽèÍý¡Ê¥í¡¼¥«¥ëvs½¸Ãæ´ÉÍý¡Ë

20. ´Êñ¤Ë°ì»þÄä»ß¤¹¤ë¤¿¤á¤Ë¡¢¤¢¤Ê¤¿¼«¿È¤Î»þ´Ö¤Î¥¯¥é¥¹¤ò°Ý»ý¤·¤Æ¤¯¤À¤µ¤¤¡£Time.DeltaTime¤ÈTime.TimeSinceLevelLoad¤ò¥é¥Ã¥×¤¹¤ë¤È¡¢°ì»þÄä»ß¤È»þ´Ö¥¹¥±¡¼¥ë¤¬¹Í褵¤ì¤Þ¤¹¡£ ¤½¤ì¤ò»ÈÍѤ¹¤ë¤Ë¤ÏÄ´À°¤¬É¬ÍפǤ¹¤¬°Û¤Ê¤ë¥¯¥í¥Ã¥¯¡Ê¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¡¦¥¢¥Ë¥á¡¼¥·¥ç¥ó¤ä¥²¡¼¥à¡¦¥¢¥Ë¥á¡¼¥·¥ç¥ó¤Ê¤É¡Ë¤ò¼Â¹Ô¤¹¤ë¾ì¹ç¤Ï¡¢ºî¶È¤¬Èó¾ï¤Ë´Êñ¤Ë¤Ê¤ê¤Þ¤¹¡£

ÊÔ½¸¡§Unity¤ÏunscaledTime¤ÈunscaledDeltaTime¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢Â¿¤¯¤Î¾õ¶·¤ÇÆÈ¼«¤ÎTime¥¯¥é¥¹¤¬¾éĹ²½¤µ¤ì¤Þ¤¹¡£ ¥°¥í¡¼¥Ð¥ë»þ´Ö¤ò¥¹¥±¡¼¥ê¥ó¥°¤¹¤ë¤È¡¢¤¢¤Ê¤¿¤¬Ë¾¤Þ¤·¤¯¤Ê¤¤ÊýË¡¤Ç½ñ¤­¹þ¤Þ¤Ê¤«¤Ã¤¿¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Ë±Æ¶Á¤òÍ¿¤¨¤ë¾ì¹ç¤Ë¤Ï¡¢¤³¤ì¤Ï°ÍÁ³¤È¤·¤ÆÍ­¸ú¤Ç¤¹¡£

21. ¹¹¿·¤¬É¬Íפʥ«¥¹¥¿¥à¥¯¥é¥¹¤Ï¡¢¥°¥í¡¼¥Ð¥ëÀÅŪ»þ´Ö¤Ë¥¢¥¯¥»¥¹¤¹¤Ù¤­¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ Âå¤ï¤ê¤Ë¡¢Update¥á¥½¥Ã¥É¤Î¥Ñ¥é¥á¡¼¥¿¤È¤·¤Æ¥Ç¥ë¥¿»þ´Ö¤ò¼è¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢¾å¤ÇÀâÌÀ¤·¤¿¤è¤¦¤Ë°ì»þÄä»ß¥·¥¹¥Æ¥à¤ò¼ÂÁõ¤¹¤ë¤È¤­¤ä¡¢¥«¥¹¥¿¥à¥¯¥é¥¹¤Îưºî¤ò¹â®²½¤Þ¤¿¤ÏÄ㮲½¤·¤¿¤¤¤È¤­¤Ë¡¢¤³¤ì¤é¤Î¥¯¥é¥¹¤ò»ÈÍѤǤ­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£

 

22. WWW¤ò¸Æ¤Ó½Ð¤¹°ìÈÌŪ¤Ê¹½Â¤¤òÍѤ¤¤Þ¤¹¡£

¥µ¡¼¥Ð¡¼ÄÌ¿®¤¹¤ë¿¤¯¤Î¥²¡¼¥à¤Ç¤Ï¡¢°ìÈÌŪ¤Ë¿ô½½¤ÎWWW¥³¡¼¥ë¤ò´Þ¤ß¤Þ¤¹¡£¤¢¤Ê¤¿¤ÏUnity¤Îɸ½à¤ÎWWW¥¯¥é¥¹¤Þ¤¿¤Ï¥×¥é¥°¥¤¥ó¤ò»ÈÍѤ·¤ÆÄ귿ʸ¤È¤·¤Æ¾å¤ËÇö¤¤Áؤò½ñ¤¯¤³¤È¤Ç²¸·Ã¤òÆÀ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£

»ä¤ÏÄ̾¤¹¤Ê¤ï¤ÁCallImpl¤Î¥³¥ë¡¼¥Á¥ó¤ÈMakeHandler¡ÊGET¤ÈPOST¤Î¤¿¤á¤Ë¡¢¤½¤ì¤¾¤ì¡Ë¥á¥½¥Ã¥É¤Î¸Æ¤Ó½Ð¤·¤òÄêµÁ¤·¤Þ¤¹¡£´ðËÜŪ¤Ë¡¢¥¹¡¼¥Ñ¡¼¥Ï¥ó¥É¥é¤ò¹½ÃÛ¤¹¤ë¤¿¤á¤Ë¡¢¥×¥í¥»¥Ã¥µ¤Î¥Ñ¡¼¥µ¡¢À®¸ù¤È¼ºÇÔ¤«¤éMakeHandler¥á¥½¥Ã¥É¤ò»ÈÍѤ·¤Æ¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡£¤Þ¤¿¡¢¤½¤ì¤Ï¡¢¥¹¡¼¥Ñ¡¼¥Ï¥ó¥É¥é¤ò¸Æ¤Ó½Ð¤· ´°Î»¤¹¤ë¤Þ¤ÇÂԤäơ¢URL¤òºîÀ®¤· CallImpl¤Î¥³¥ë¡¼¥Á¥ó¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡£

¤³¤ì¤Ï ¤ª¤ª¤è¤½¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£:

public void Call(string call, Func parser, Action onSuccess, Action onFailure)
{
var handler = MakeHandler(parser, onSuccess, onFailure);
StartCoroutine(CallImpl(call, handler));
}
public IEnumerator CallImpl(string call, Func handler)
{
var www = new WWW(call);
yield return www; handler(www);
}
public Func MakeHandler(Func parser, Action onSuccess, Action onFailure)
{
if (NoError(www))
{
var parsedResult = parser(www.text);
onSuccess(parsedResult);
}
else { onFailure("error text");
}
}

 

¤³¤ì¤Ë¤Ï¡¢¤¤¤¯¤Ä¤«¤ÎÍøÅÀ¤¬¤¢¤ê¤Þ¤¹¡£

  • Äê·¿¥³¡¼¥É¤ò¤¿¤¯¤µ¤ó½ñ¤¯É¬Íפ¬¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£
  • ÆÃÄê¤Î½èÍý¡ÊUI¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î¥í¡¼¥É¤Îɽ¼¨¤äÆÃÄê¤Î°ìÈÌŪ¤Ê¥¨¥é¡¼¤Î½èÍý¤Ê¤É¡Ë¤òÃæ¿õÉôʬ¤Ç½èÍý¤Ç¤­¤Þ¤¹¡£

 

23. ¤¢¤Ê¤¿¤¬ÂçÎ̤Υƥ­¥¹¥È¤ò»ý¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢Æ±¤¸¥Õ¥¡¥¤¥ëÆâ¤ËÇÛÃÖ¤·¤Þ¤¹¡£

¥¤¥ó¥¹¥Ú¥¯¥¿¤ÇÊÔ½¸¤Î¤¿¤á¤Ë¥Õ¥£¡¼¥ë¥É¤ËÆþÎϤ·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£ Unity¤Î¥¨¥Ç¥£¥¿¤ò³«¤¯¤³¤È¤Ê¤¯Êѹ¹¤¹¤ë¤³¤È¤¬ÍưפˤʤꡢÆÃ¤Ë¥·¡¼¥ó¤òÊݸ¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£

 

24. ¥í¡¼¥«¥é¥¤¥º¤¹¤ëͽÄ꤬¤¢¤ë¾ì¹ç¤Ï¡¢¤¹¤Ù¤Æ¤Îʸ»úÎó¤ò1¤Ä¤Î¾ì½ê¤Ëʬ¤±¤Æ¤¯¤À¤µ¤¤¡£

¤³¤ì¤ò¹Ô¤¦¤Ë¤Ï¿¤¯¤ÎÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£ 1¤Ä¤ÎÊýË¡¤Ï¡¢Ê¸»úÎ󤴤Ȥ˥ѥ֥ê¥Ã¥¯¤Îʸ»úÎó¥Õ¥£¡¼¥ë¥É¤ò»ý¤ÄText¥¯¥é¥¹¤òÄêµÁ¤¹¤ë¤³¤È¤Ç¤¹¡Ê¥Ç¥Õ¥©¥ë¥È¤Ï±Ñ¸ì¤ËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡Ë¡£ ¾¤Î¸À¸ì¤Ç¤Ï¤³¤ì¤ò¥µ¥Ö¥¯¥é¥¹²½¤·¤Æ¡¢Âбþ¤¹¤ë¸À¸ì¤Ç¥Õ¥£¡¼¥ë¥É¤òºÆ½é´ü²½¤·¤Þ¤¹¡£

¤è¤êÀöÎý¤µ¤ì¤¿¥Æ¥¯¥Ë¥Ã¥¯¡Ê¥Æ¥­¥¹¥È¤ÎËÜʸ¤¬Â礭¤¯¡¢¸À¸ì¤Î¿ô¤¬Â¿¤¤¾ì¹ç¤ËŬ¤·¤Æ¤¤¤Þ¤¹¡Ë¤Ï¡¢¥¹¥×¥ì¥Ã¥É¥·¡¼¥È¤ÇÆÉ¤ß¹þ¤Þ¤ì¡¢ÁªÂò¤µ¤ì¤¿¸À¸ì¤Ë´ð¤Å¤¤¤ÆÀµ¤·¤¤Ê¸»úÎó¤òÁªÂò¤¹¤ë¥í¥¸¥Ã¥¯¤òÄ󶡤·¤Þ¤¹¡£

 


 

¥¯¥é¥¹Àß·×

25.inspectable ¥Õ¥£¡¼¥ë¥É¤Î¼ÂÁõÊýË¡¤ò·èÄꤷ ¤½¤ì¤òɸ½à¤Ë¤·¤Þ¤¹

¥Õ¥£¡¼¥ë¥É¤ò¥Ñ¥Ö¥ê¥Ã¥¯¤Ë¤¹¤ë¤«¡¢¥×¥é¥¤¥Ù¡¼¥È¤Ë¤·¤Æ[SerializeField]¤È¤·¤Æ¥Þ¡¼¥¯¤·¤Þ¤¹¡£ ¸å¼Ô¤Ï¡Ö¤è¤êÀµ³Î¡×¤Ç¤¹¤¬¡¢¤¢¤Þ¤êÊØÍø¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡Ê¤â¤Á¤í¤ó¡¢Unity¼«¿È¤¬ÉáµÚ¤·¤Æ¤¤¤ëÊýË¡¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡Ë¡£ ¤É¤ÎÊýË¡¤òÁª¤ó¤Ç¤â¡¢¥Á¡¼¥à¤Î³«È¯¼Ô¤¬¸ø³«¥Õ¥£¡¼¥ë¥É¤ò¤É¤Î¤è¤¦¤Ë²ò¼á¤¹¤ë¤«¤òÃΤ뤳¤È¤¬¤Ç¤­¤ë¤è¤¦¤Ëɸ½à¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£

  • inspectable ¤Ê¥Õ¥£¡¼¥ë¥É¤Ï¸ø³«¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡£¤³¤Î¥·¥Ê¥ê¥ª¤Ç¤Ï¡¢public¤È¤Ï¡¢¡Ö¼Â¹Ô»þ¤ËÊÑ¿ô¤¬À߷׼Ԥˤè¤Ã¤ÆÊѹ¹¤µ¤ì¤ë¤Î¤Ï°ÂÁ´¤Ç¤¹¡£¥³¡¼¥ÉÆâ¤ËÃͤòÀßÄꤷ¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡×¤È¤¤¤¦°ÕÌ£¤Ç¤¹¡£
  • inspectable ¤Ê¥Õ¥£¡¼¥ë¥É¤Ï¥×¥é¥¤¥Ù¡¼¥È¤Ç¥Þ¡¼¥¯¤µ¤ì¤¿¥·¥ê¥¢¥é¥¤¥º²Äǽ¤Ê¥Õ¥£¡¼¥ë¥É¤Î¾ì¹ç¡£ ¤³¤Î¥·¥Ê¥ê¥ª¤Ç¤Ï¡¢public¤Ï¡Ö¥³¡¼¥ÉÆâ¤Ç¤³¤ÎÊÑ¿ô¤òÊѹ¹¤¹¤ë¤³¤È¤Ï°ÂÁ´¤Ç¤¹¡×¡Ê¤·¤¿¤¬¤Ã¤Æ¡¢¤¢¤Þ¤ê¿¤¯¤Ï¸«¤é¤ì¤º¡¢MonoBehaviours¤ª¤è¤ÓScriptableObjects¤Ë¤Ï¥Ñ¥Ö¥ê¥Ã¥¯¥Õ¥£¡¼¥ë¥É¤Ï¸ºß¤·¤Ê¤¤¤Ï¤º¤Ç¤¹¡Ë¡£

26.¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î¾ì¹ç¡¢¥¤¥ó¥¹¥Ú¥¯¥¿¤ÇÄ´À°¤·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£  

¤½¤ì°Ê³°¤Î¾ì¹ç¤Ï¡¢¥Ç¥¶¥¤¥Ê¡¼¤¬ÈùÄ´À°¤·¤Þ¤¹¡£ ¤¤¤¯¤Ä¤«¤Î¤Þ¤ì¤Ê¥±¡¼¥¹¤Ç¤ÏÈò¤±¤é¤ì¤Ê¤¤¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡Ê¤¿¤È¤¨¤Ð¡¢¥¨¥Ç¥£¥¿¥¹¥¯¥ê¥×¥È¤Ë¤è¤Ã¤Æ¤Ï¤½¤ì¤òÊÝ»ý¤¹¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤Ê¤É¡Ë¡£ ¤½¤Î¾ì¹ç¡¢HideInInspector°À­¤ò»ÈÍѤ·¤Æ¥¤¥ó¥¹¥Ú¥¯¥¿¤ÇÈóɽ¼¨¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ 

27.PropertyDrawers¤ò»ÈÍѤ·¤Æ¡¢¥Õ¥£¡¼¥ë¥É¤ò¤è¤ê¥æ¡¼¥¶¡¼¥Õ¥ì¥ó¥É¥ê¡¼¤Ë¤¹¤ë

PropertyDrawers¤Ï¡¢¥¤¥ó¥¹¥Ú¥¯¥¿¡¼Æâ¤Î¥³¥ó¥È¥í¡¼¥ë¤ò¥«¥¹¥¿¥Þ¥¤¥º¤¹¤ë¤¿¤á¤Ë»ÈÍѤǤ­¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢¥Ç¡¼¥¿¤ÎÀ­¼Á¤ËŬ¤·¤¿¥³¥ó¥È¥í¡¼¥ë¤òºîÀ®¤· ÆÃÄê¤Î¥»¡¼¥Õ¥¬¡¼¥É¤òŬ½ê¤ËÃÖ¤¯¤³¤È¤¬¤Ç¤­¤Þ¤¹¡ÊÊÑ¿ô¤ÎÈϰϤÎÀ©¸Â¤Ê¤É¡Ë¡£ ¥Ø¥Ã¥À¡¼Â°À­¤ò»ÈÍѤ·¤Æ¥Õ¥£¡¼¥ë¥É¤òÀ°Íý¤· ¥Ä¡¼¥ë¥Á¥Ã¥×°À­¤ò»ÈÍѤ·¤Æ¥Ç¥¶¥¤¥Ê¡¼¤Ë;ʬ¤Ê¥É¥­¥å¥á¥ó¥È¤òÄ󶡤·¤Þ¤¹¡£

28. ¥«¥¹¥¿¥à¥¨¥Ç¥£¥¿¤ËÈæ¤Ù¤ÆPropertyDrawers¤Î»ÈÍѤ¬¹¥¤Þ¤·¤¤¡£

PropertyDrawers¤Ï¡¢¥Õ¥£¡¼¥ë¥É¡¦¥¿¥¤¥×¤´¤È¤Ë¼ÂÁõ¤µ¤ì¤ë¤¿¤á¡¢¼ÂÁõ¤¹¤ëºî¶È¤¬¤Ï¤ë¤«¤Ë¾¯¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£ ¤½¤ì¤é¤Ï¤Þ¤¿ ¤è¤êºÆÍøÍѲÄǽ¤Ç¤¹ - °ìÅÙ·¿¤Î¤¿¤á¤Ë¼ÂÁõ¤µ¤ì¡¢¤½¤ì¤é¤Ï¤É¤Î¥¯¥é¥¹¤Ç¤â¤½¤Î·¿¤Î¤¿¤á¤Ë»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¥«¥¹¥¿¥à¥¨¥Ç¥£¥¿¤ÏMonoBehaviour¤´¤È¤Ë¼ÂÁõ¤µ¤ì¤Æ¤¤¤ë¤¿¤á¡¢ºÆÍøÍÑÀ­¤Èºî¶ÈÀ­¤¬Äã²¼¤·¤Þ¤¹¡£

29. ´ûÄê¤Ç¤ÏMonoBehaviours¤Ï¥·¡¼¥ë¤µ¤ì¤Æ¤¤¤Þ¤¹¡£

°ìÈ̤ˡ¢Unity¤ÎMonoBehaviours¤Ï¤¢¤Þ¤ê·Ñ¾µ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡§

  • Unity¤¬Start¤äUpdate¤Î¤è¤¦¤Ê¥á¥Ã¥»¡¼¥¸¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤¹ÊýË¡¤Ï¡¢¥µ¥Ö¥¯¥é¥¹¤Ç¤³¤ì¤é¤Î¥á¥½¥Ã¥É¤ò°·¤¦¤Î¤¬Æñ¤·¤¤¤Ç¤¹¡£µ¤¤ò¤Ä¤±¤Ê¤±¤ì¤Ð¡¢´Ö°ã¤Ã¤¿²Õ½ê¤¬¸Æ¤Ó½Ð¤µ¤ì¤ë¤«¡¢´ðËܥ᥽¥Ã¥É¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤ò˺¤ì¤Æ¤·¤Þ¤¤¤Þ¤¹¡£
  • ¥«¥¹¥¿¥à¥¨¥Ç¥£¥¿¤ò»ÈÍѤ¹¤ë¾ì¹ç¤Ï¡¢Ä̾¥¨¥Ç¥£¥¿¤Î·Ñ¾µ³¬ÁؤòÊ£À½¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤¢¤Ê¤¿¤Î¥¯¥é¥¹¤ò³ÈÄ¥¤·¤¿¤¤¿Í¤Ï¡¢¼«Ê¬¤Î¥¨¥Ç¥£¥¿¤òÍѰդ¹¤ë¤«¡¢¤Þ¤¿¤Ï¤¢¤Ê¤¿¤¬Ä󶡤·¤¿¤â¤Î¤Ç²¿¤Ç¤â¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó

·Ñ¾µ¤¬É¬Íפʾì¹ç¤Ï¡¢¤½¤ì¤òÈò¤±¤ë¤³¤È¤¬¤Ç¤­¤ì¤Ð¡¢Unity¥á¥Ã¥»¡¼¥¸¥á¥½¥Ã¥É¤òÄ󶡤·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£ ¤½¤¦¤·¤¿¾ì¹ç¡¢¤½¤ì¤é¤ò²¾ÁÛ²½¤·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£ ɬÍפ˱þ¤¸¤Æ¡¢¥á¥Ã¥»¡¼¥¸¥á¥½¥Ã¥É¥á¥½¥Ã¥É¤«¤é¸Æ¤Ó½Ð¤µ¤ì¤ë¶õ¤Î²¾ÁÛ´Ø¿ô¤òÄêµÁ¤·¤Æ¡¢»Ò¥¯¥é¥¹¤¬¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤ÆÄɲäκî¶È¤ò¼Â¹Ô¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£

public class MyBaseClass
{
public sealed void Update()
{
CustomUpdate();
... //¤³¤Î¥¯¥é¥¹¤Î¹¹¿· 
   } 
 //¤³¤Î¥¯¥é¥¹¤ÏÆÈ¼«¤Î¥¢¥Ã¥×¥Ç¡¼¥È¤ò¹Ô¤¦Á°¤Ë¸Æ¤Ó½Ð¤µ¤ì¤Þ¤¹
//ÆÈ¼«¤Î¹¹¿·¥³¡¼¥É¤Ë¥Õ¥Ã¥¯¤¹¤ë¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£
   virtual public void CustomUpdate(){};
} 

public class Child : MyBaseClass
{
override public void CustomUpdate()
{
//¥«¥¹¥¿¥àÁàºî¤ò¼Â¹Ô
   }
}

¤³¤ì¤Ï¡¢¸í¤Ã¤¿¥³¡¼¥É¤Î¾å½ñ¤­¤«¤é¥¯¥é¥¹¤òËɤ®¡¢¤½¤ì¤Ç¤â¤½¤ì¤òUnity¤Î¥á¥Ã¥»¡¼¥¸¤Ë¥Õ¥Ã¥¯¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£»ä¤¬¤³¤Î¥Ñ¥¿¡¼¥ó¤¬¹¥¤­¤Ç¤Ï¤Ê¤¤°ì¤Ä¤ÎÍýͳ¤Ï¡¢Êª»ö¤Î½ç½ø¤¬ÌäÂê¤Ë¤Ê¤ë¤³¤È¤Ç¤¹¡£¾å¤ÎÎã¤Ç¤Ï¡¢¥¯¥é¥¹¤¬ÆÈ¼«¤Î¹¹¿·¤ò¹Ô¤Ã¤¿Ä¾¸å¤Ë»Ò¥×¥í¥»¥¹¤¬Ä¾ÀÜÁàºî¤ò¹Ô¤¤¤¿¤¤¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£

30.¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹¤ò¥²¡¼¥à¥í¥¸¥Ã¥¯¤«¤éʬΥ¤¹¤ë¡£

¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Ï¡¢°ìÈ̤ˤ½¤ì¤é¤¬»ÈÍѤµ¤ì¤Æ¤¤¤ë¥²¡¼¥à¤Ë¤Ä¤¤¤Æ²¿¤âÃΤé¤Ê¤¤¤Ï¤º¤Ç¤¹¡£¥Ó¥¸¥å¥¢¥ë²½¤¹¤ë¤¿¤á¤ËɬÍפʥǡ¼¥¿¤òÄ󶡤· ¥¤¥Ù¥ó¥È¤ËÅÐÏ¿¤·¤Æ¡¢¥æ¡¼¥¶¡¼¤¬¤½¤ì¤é¤È¤ä¤ê¼è¤ê¤¹¤ë¤È¤­¤ò¸«¤Ä¤±¤Þ¤¹¡£¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Ï¥²¡¼¥à¥í¥¸¥Ã¥¯¤ò¤ª¤³¤Ê¤¦É¬Íפ¬¤¢¤ê¤Þ¤»¤ó ¡£¤½¤ì¤¬Í­¸ú¤Ç¤¢¤ë¤³¤È¤ò³Îǧ¤¹¤ë¤¿¤á¤ËÆþÎϤò¥Õ¥£¥ë¥¿¥ê¥ó¥°¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¤¬¡¢¥á¥¤¥ó¥ë¡¼¥ë¤Î½èÍý¤Ï¾¤Î¾ì½ê¤Ç¹Ô¤ï¤ì¤ë¤Ù¤­¤Ç¤¹¡£Â¿¤¯¤Î¥Ñ¥º¥ë¥²¡¼¥à¤Ç¤Ï¡¢ºîÉʤϥ¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹¤Î³ÈÄ¥¤Ç¤¢¤ê¡¢¥ë¡¼¥ë¤ò´Þ¤à¤Ù¤­¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£¡ÊÎ㤨¤Ð¡¢¥Á¥§¥¹¤Î¶ð¤Ï¤½¤ì¼«ÂΤΥ롼¥ë¾å¤Îư¤­¤ò·×»»¤¹¤Ù¤­¤Ç¤Ï¤Ê¤¤¤Ç¤¹¡Ë

ƱÍͤˡ¢ÆþÎϤϤ½¤ÎÆþÎϤ˺îÍѤ¹¤ë¥í¥¸¥Ã¥¯¤«¤éʬΥ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¤¢¤Ê¤¿¤Î¥¢¥¯¥¿¡¼¤Ëư¤¯°Õ¿Þ¤òÃΤ餻¤ëÆþÎÏ¥³¥ó¥È¥í¡¼¥é¡¼¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£ ¥¢¥¯¥¿¡¼¤Ï¼ÂºÝ¤Ë°Üư¤¹¤ë¤«¤É¤¦¤«¤ò½èÍý¤·¤Þ¤¹¡£

¤³¤³¤Ç¤Ï¡¢¥æ¡¼¥¶¡¼¤¬ÁªÂò»è¤Î¥ê¥¹¥È¤«¤éÉð´ï¤òÁªÂò¤Ç¤­¤ë¤è¤¦¤Ë¤¹¤ë¡¢UI¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ÎÈ´¿è¤µ¤ì¤¿Îã¤ò¼¨¤·¤Þ¤¹¡£¤³¤ì¤é¤Î¥¯¥é¥¹¤¬¥²¡¼¥à¤Ë¤Ä¤¤¤ÆÃΤäƤ¤¤ëÍ£°ì¤Î¤â¤Î¤Ï¡¢Éð´ï¥¯¥é¥¹¤Ç¤¹¡ÊÉð´ï¤Ï¡¢¤³¤Î¥³¥ó¥Æ¥Ê¤¬É½¼¨¤¹¤ëɬÍפ¬¤¢¤ë¥Ç¡¼¥¿¤ÎÍ­ÍѤʥ½¡¼¥¹¤Ç¤¢¤ë¤¿¤á¤Ç¤¹¡Ë¥²¡¼¥à¤Ï¥³¥ó¥Æ¥Ê¤Ë¤Ä¤¤¤Æ¤â²¿¤âÃΤê¤Þ¤»¤ó¡£¤½¤ì¤¬´Ø·¸¤·¤Æ¤¤¤ë¤¹¤Ù¤Æ¤ÏOnWeaponSelect¥¤¥Ù¥ó¥È¤ËÅÐÏ¿¤¹¤ë¤À¤±¤Ç¤¹¡£

 

public WeaponSelector : MonoBehaviour
{
public event Action OnWeaponSelect {add; remove; }
   // GameManager¤Ï¡¢¤³¤Î¥¤¥Ù¥ó¥È¤Î¤¿¤á¤ËÅÐÏ¿¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹

public void OnInit(List  weapons)
{
foreach(var weapon in weapons)
{ 

var button = ... //Instantiates a child button and add it to the hierarchy           

buttonOnInit(weapon, () => OnSelect(weapon));
//»Ò¥Ü¥¿¥ó¤Ï¡¢¥ª¥×¥·¥ç¥ó¤¬É½¼¨¤µ¤ì¡¢ 
//¤³¤Î¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Ø¤Î¥¯¥ê¥Ã¥¯¥Ð¥Ã¥¯¤òÁ÷¿®
      }
}
public void OnSelect(Weapon weapon)
{
if(OnWepaonSelect != null) OnWeponSelect(weapon);
}
} 

public class WeaponButton : MonoBehaviour
{
private Action<> onClick; 

public void OnInit(Weapon weapon, Action onClick)
{
... //Éð´ï¤«¤é¥¹¥×¥é¥¤¥È¤È¥Æ¥­¥¹¥È¤òÀßÄê


this.onClick = onClick;
} 

public void OnClick() //¥ê¥ó¥¯UI Button¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î¥¯¥ê¥Ã¥¯»þ¤Ê¤É¤Ç¤³¤ÎÊýË¡
    {
Assert.IsTrue(onClick != null);  //¤Ïµ¯¤³¤ë¤Ù¤­¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó

onClick();
}
}


31. ¸ÄÊ̤Υ³¥ó¥Õ¥£¥°¥ì¡¼¥·¥ç¥ó¡¢¾õÂÖ¥¹¥Æ¡¼¥È¡¢¥Ö¥Ã¥¯¥­¡¼¥Ô¥ó¥°¤òʬΥ¤¹¤ë¡£

  • ÀßÄêÊÑ¿ô¡Ê¥³¥ó¥Õ¥£¥®¥å¥ì¡¼¥·¥ç¥ó¡Ë¤Ï¡¢¥×¥í¥Ñ¥Æ¥£¤ò»È¤Ã¤Æ¥ª¥Ö¥¸¥§¥¯¥È¤òÄêµÁ¤¹¤ë¤¿¤á¤Ë¥¤¥ó¥¹¥Ú¥¯¥¿¤ÇÄ´À°¤µ¤ì¤ëÊÑ¿ô¤Ç¤¹¡£ ¤¿¤È¤¨¤Ð¡¢maxHealth¤Ç¤¹¡£
  • ¾õÂÖÊÑ¿ô¡Ê¥¹¥Æ¡¼¥È¡Ë¤Ï¡¢¥ª¥Ö¥¸¥§¥¯¥È¤Î¸½ºß¤Î¾õÂÖ¤ò´°Á´¤Ë·èÄꤹ¤ëÊÑ¿ô¤Ç¤¢¤ê¡¢¥²¡¼¥à¤¬Êݸ¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¾ì¹ç¤ÏÊݸ¤¹¤ëɬÍפ¬¤¢¤ëÊÑ¿ô¤Ç¤¹¡£ ¤¿¤È¤¨¤Ð¡¢currentHealth¤Ç¤¹¡£
  • Êíµ­ÊÑ¿ô¡Ê¥Ö¥Ã¥¯¥­¡¼¥Ô¥ó¥°¡Ë¤Ï¡¢Â®ÅÙ¡¢ÍøÊØÀ­¡¢²áÅÏŪ¤Ê¾õÂ֤˻ÈÍѤµ¤ì¤Þ¤¹¡£ ¤½¤ì¤é¤Ï¾ï¤Ë¾õÂÖÊÑ¿ô¤«¤é´°Á´¤Ë·èÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢previousHealth¤Ç¤¹¡£

¤³¤ì¤é¤Î¥¿¥¤¥×¤ÎÊÑ¿ô¤òʬΥ¤¹¤ë¤³¤È¤Ç¡¢Êѹ¹²Äǽ¤Ê¤â¤Î¡¢Êݸ¤¹¤ëɬÍפΤ¢¤ë¤â¤Î¡¢¥Í¥Ã¥È¥ï¡¼¥¯¤ò²ð¤·¤ÆÁ÷¿®/¼èÆÀ¤¹¤ëɬÍפ¬¤¢¤ë¤â¤Î¡¢¤½¤·¤Æ¤³¤ì¤ò¤¢¤ëÄøÅÙ¶¯²½¤¹¤ë¤³¤È¤¬Íưפˤʤê¤Þ¤¹¡£

 

¤³¤³¤Ç¤Ï¡¢¤³¤ÎÀßÄê¤Î´Êñ¤ÊÎã¤ò¼¨¤·¤Þ¤¹¡§

public class Player
{
   [Serializable]
   public class PlayerConfigurationData
   {
      public float maxHealth;
   }

   [Serializable]
   public class PlayerStateData
   {
      public float health;
   }

   public PlayerConfigurationData configuration;
   private PlayerState stateData;

   //book keeping
   private float previousHealth;

   public float Health
   {
      public get { return stateData.health; }
      private set { stateData.health = value; }
   }
}

 

32. ¥Ñ¥Ö¥ê¥Ã¥¯¥¤¥ó¥Ç¥Ã¥¯¥¹·ë¹çÇÛÎó¤Î»ÈÍѤòÈò¤±¤Æ¤¯¤À¤µ¤¤

Î㤨¤Ð¡¢Éð´ï¤ÎÇÛÎó¡¢ÃƴݤÎÇÛÎ󡢤ª¤è¤Ó¥Ñ¡¼¥Æ¥£¥¯¥ë¤ÎÇÛÎó¤òÄêµÁ¤·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£¥³¡¼¥É¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡§

public void SelectWeapon(int index) 
{  
currentWeaponIndex = index; 
Player.SwitchWeapon(weapons[currentWeapon]); 
} 

public void Shoot() 
{ 
Fire(bullets[currentWeapon]); 
FireParticles(particles[currentWeapon]); 
}

¤³¤ì¤Ï¥³¡¼¥ÉÆâ¤Ç¤Ï¤¢¤Þ¤êÌäÂê¤Ë¤Ê¤ê¤Þ¤»¤ó¤¬¡¢¤­¤Á¤ó¤È¥¤¥ó¥¹¥Ú¥¯¥¿¤ÇÀßÄꤷ¤Æ¤¯¤À¤µ¤¤¡£ ¤¤¤Ã¤½¤Î¤³¤È3¤Ä¤ÎÊÑ¿ô¤ò¥«¥×¥»¥ë²½¤¹¤ë¥¯¥é¥¹¤òÄêµÁ¤· ¤½¤ÎÇÛÎó¤òºîÀ®¤·¤Æ¤¯¤À¤µ¤¤

[Serializable] 
public class Weapon 
{ 
public GameObject prefab; 
public ParticleSystem particles; 
public Bullet bullet; 
}

¥³¡¼¥É¤Ï¤­¤ì¤¤¤Ë¸«¤¨¤Þ¤¹¤¬¡¢ºÇ¤â½ÅÍפʤ³¤È¤Ï¥¤¥ó¥¹¥Ú¥¯¥¿¤Ç¥Ç¡¼¥¿¤òÀßÄꤹ¤ë¤Î¤Ï´Ö°ã¤¤¤È¤¤¤¦¤³¤È¤Ç¤¹¡£

 

33. ÇÛÎó°Ê³°¤Î¹½Â¤ÂΤˤÏÇÛÎó¤ò»ÈÍѤ·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£

Î㤨¤Ð¡¢¥×¥ì¥¤¥ä¡¼¤Ï3¼ïÎà¤Î¹¶·â¤ò¼õ¤±¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ ¤½¤ì¤¾¤ì¤Ï¸½ºß¤ÎÉð´ï¤ò»ÈÍѤ·¤Þ¤¹¤¬¡¢°Û¤Ê¤ëÃÆ¤È°Û¤Ê¤ëưºî¤òÀ¸À®¤·¤Þ¤¹¡£

3¤Ä¤ÎÃÆ´Ý¤òÇÛÎó¤Ë¥À¥ó¥×¤·¤Æ¡¢¤³¤Î¼ï¤Î¥í¥¸¥Ã¥¯¤ò»ÈÍѤ·¤¿¤¯¤Ê¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡§

public void FireAttack() 
{ 
/// behaviour 
Fire(bullets[0]); 
} 

public void IceAttack() 
{ 
/// behaviour 
Fire(bullets[1]); 
} 

public void WindAttack() 
{ 
/// behaviour 
Fire(bullets[2]); 
} 
Enums Îóµó·¿¤Ï¥³¡¼¥ÉÆâ¤Ç¸«±É¤¨¤òÎɤ¯¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹... 
public void WindAttack() 
{ 
/// behaviour 
Fire(bullets[WeaponType.Wind]); 
}

ÊÌ¡¹¤ÎÊÑ¿ô¤ò»ÈÍѤ·¤Æ¡¢¤É¤Î̾Á°¤òÆþ¤ì¤ë¤Ù¤­¤«¤ò¼¨¤¹Ì¾Á°¤òÉÕ¤±¤ëÊý¤¬Îɤ¤¤Ç¤·¤ç¤¦¡£¥¯¥é¥¹¤ò»È¤Ã¤Æ¤­¤ì¤¤¤Ë¤·¤Þ¤¹

[Serializable] 
public class Bullets 
{ 
public Bullet fireBullet; 
public Bullet iceBullet; 
public Bullet windBullet; 
}

¤³¤ì¤Ï¡¢Â¾¤Ë²ÐºÒ¡¢É¹¡¢É÷¤Î¥Ç¡¼¥¿¤¬¤Ê¤¤¤³¤È¤òÁ°Äó¤È¤·¤Æ¤¤¤Þ¤¹¡£

 

34. ¥¤¥ó¥¹¥Ú¥¯¥¿¤ÇºÙ¤«¤¯¤¹¤ë¤¿¤á¤Î¥·¥ê¥¢¥é¥¤¥º²Äǽ¤Ê¥¯¥é¥¹¤Î¥Ç¡¼¥¿¤ò¥°¥ë¡¼¥×²½¤¹¤ë¡£

¤¤¤¯¤Ä¤«¤Î¥¨¥ó¥Æ¥£¥Æ¥£¤Ë¤Ï¿ô½½¤ÎÄ´À°µ¡Ç½¤¬¤¢¤ë¤Î¤Ç ¥¤¥ó¥¹¥Ú¥¯¥¿¤ÇÀµ¤·¤¤ÊÑ¿ô¤ò¸«¤Ä¤±¤ë¤³¤È¤Ï°­Ì´¤Ë¤Ê¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£

ºî¶È¤ò´Êñ¤Ë¤¹¤ë¤Ë¤Ï¡¢°Ê²¼¤Î¼ê½ç¤Ë½¾¤Ã¤Æ¤¯¤À¤µ¤¤¡§

  • ÊÑ¿ô¤Î¥°¥ë¡¼¥×¤ËÂФ·¤ÆÊÌ¡¹¤Î¥¯¥é¥¹¤òÄêµÁ¤·¤Þ¤¹¡£ ¤½¤ì¤é¤ò¥Ñ¥Ö¥ê¥Ã¥¯¤«¤Ä¥·¥ê¥¢¥é¥¤¥º²Äǽ¤Ë¤·¤Þ¤¹¡£
  • ¼çÍ×¥¯¥é¥¹¤Ç¤Ï¡¢¾åµ­¤Î¤è¤¦¤ËÄêµÁ¤µ¤ì¤¿³Æ·¿¤Î¥Ñ¥Ö¥ê¥Ã¥¯ÊÑ¿ô¤òÄêµÁ¤·¤Þ¤¹¡£
  • Awake¤Þ¤¿¤ÏStart¤Ç¤³¤ì¤é¤ÎÊÑ¿ô¤ò½é´ü²½¤·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£ ¥·¥ê¥¢¥é¥¤¥º²Äǽ¤Ê¤Î¤Ç¡¢Unity¤Ï¤½¤ì¤ò½èÍý¤·¤Þ¤¹¡£
  • ÄêµÁ¤ËÃͤò³ä¤êÅö¤Æ¤ë¤³¤È¤Ç¡¢°ÊÁ°¤ÈƱ¤¸¤è¤¦¤Ë¥Ç¥Õ¥©¥ë¥È¤ò»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£

¤³¤ì¤Ë¤è¤ê¡¢¥¤¥ó¥¹¥Ú¥¯¥¿Æâ¤ÎÀޤꤿ¤¿¤ß²Äǽ¤Êñ°Ì¤ÇÊÑ¿ô¤¬¥°¥ë¡¼¥×²½¤µ¤ì¡¢´ÉÍý¤¬Íưפˤʤê¤Þ¤¹¡£


[Serializable] 
public class MovementProperties //Not a MonoBehaviour! 
{ 
public float movementSpeed; 
public float turnSpeed = 1; //default provided 
} 

public class HealthProperties //Not a MonoBehaviour! 
{ 
public float maxHealth; 
public float regenerationRate; 
} 

public class Player : MonoBehaviour 
{ 
public MovementProperties movementProeprties; 
public HealthPorperties healthProeprties; 
}


                    

 

35. ¸ø³«¥Õ¥£¡¼¥ë¥É¤Ë»ÈÍѤµ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ç¤â¡¢MonoBehaviours Serializable¤Ç¤Ï¤Ê¤¤¥¯¥é¥¹¤ò¥·¥ê¥¢¥é¥¤¥º²Äǽ¤Ë¤¹¤ë¡£

¤³¤ì¤Ë¤è¤ê¡¢Inspector¤¬¥Ç¥Ð¥Ã¥°¥â¡¼¥É¤Î¤È¤­¤Ë¥¤¥ó¥¹¥Ú¥¯¥¿¤Î¥¯¥é¥¹¥Õ¥£¡¼¥ë¥É¤òɽ¼¨¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤³¤ì¤Ï¥Í¥¹¥È¤µ¤ì¤¿¥¯¥é¥¹¡Ê¥×¥é¥¤¥Ù¡¼¥È¤Þ¤¿¤Ï¥Ñ¥Ö¥ê¥Ã¥¯¡Ë¤ËÂФ·¤Æ¤â¤Ç¤¹¡£

36. ¥¤¥ó¥¹¥Ú¥¯¥¿¤ÎÊѹ¹¤ò¥³¡¼¥É¤Ç½¤Àµ¤¹¤ë¤³¤È¤ÏÈò¤±¤Æ¤¯¤À¤µ¤¤¡£

¥¤¥ó¥¹¥Ú¥¯¥¿¤ÇÄ´À°²Äǽ¤ÊÊÑ¿ô¤Ï¹½À®ÊÑ¿ô¤Ç¤¢¤ê¡¢¥é¥ó¥¿¥¤¥àÄê¿ô¤È¤·¤Æ°·¤ï¤ì¡¢¾õÂÖÊÑ¿ô¤Î2ÇܤǤϤ¢¤ê¤Þ¤»¤ó¡£ ¤³¤Î¥×¥é¥¯¥Æ¥£¥¹¤Ë½¾¤¦¤³¤È¤Ç¡¢¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î¾õÂÖ¤ò½é´ü¾õÂ֤˥ꥻ¥Ã¥È¤¹¤ë¥á¥½¥Ã¥É¤ò´Êñ¤Ëµ­½Ò¤Ç¤­¡¢ÊÑ¿ô¤Îưºî¤ò¤è¤êÌÀ³Î¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£

public class Actor : MonoBehaviour 
{ 
public float initialHealth = 100; 

private float currentHealth; 

public void Start() 
{ 
ResetState(); 
}    

private void Respawn() 
{ 
ResetState(); 
}  

private void ResetState() 
{ 
currentHealth = initialHealth; 
} 
}

   

 

¥Ñ¥¿¡¼¥ó

 

¥Ñ¥¿¡¼¥ó¤Ï¡¢ÉÑÈˤËȯÀ¸¤¹¤ëÌäÂê¤òɸ½àŪ¤ÊÊýË¡¤Ç²ò·è¤¹¤ëÊýË¡¤Ç¤¹¡£ Bob Nystrom¤Î¡ÖGame Programming Patterns¡Ê̵ÎÁ¤Î¥ª¥ó¥é¥¤¥ó¤ÇÆÉ¤à¤³¤È¤¬¤Ç¤­¤Þ¤¹¡Ëhttp://gameprogrammingpatterns.com/¡×¤Ï¡¢¥²¡¼¥à¥×¥í¥°¥é¥ß¥ó¥°¤ÇȯÀ¸¤¹¤ëÌäÂê¤Ë¤É¤Î¤è¤¦¤Ë¥Ñ¥¿¡¼¥ó¤¬Åö¤Æ¤Ï¤Þ¤ë¤«¤ò¸«¤ë¤Î¤ËÌòΩ¤Ä¥ê¥½¡¼¥¹¤Ç¤¹¡£ Unity¼«¿È¤Ï¡¢¤³¤ì¤é¤Î¥Ñ¥¿¡¼¥ó¤ò¿¤¯»ÈÍѤ·¤Æ¤¤¤Þ¤¹¡£Instantiate¤Ï¥×¥í¥È¥¿¥¤¥×¥Ñ¥¿¡¼¥ó¤ÎÎã¤Ç¤¹¡£ MonoBehaviours¤Ï¥Æ¥ó¥×¥ì¡¼¥È¥Ñ¥¿¡¼¥ó¤Î¥Ð¡¼¥¸¥ç¥ó¤Ë½¾¤¤¡¢UI¤È¥¢¥Ë¥á¡¼¥·¥ç¥ó¤Ï¥ª¥Ö¥¶¡¼¥Ð¡¼¥Ñ¥¿¡¼¥ó¤ò»ÈÍѤ· ¿·¤·¤¤¥¢¥Ë¥á¡¼¥·¥ç¥ó¥¨¥ó¥¸¥ó¤Ï¥¹¥Æ¡¼¥È¥Þ¥·¥ó¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤¹¡£

¤³¤ì¤é¤Î¥Ò¥ó¥È¤Ï¡¢¶ñÂÎŪ¤Ë¤ÏUnity¤È¥Ñ¥¿¡¼¥ó¤Î»ÈÍѤ˴ØÏ¢¤·¤Þ¤¹¡£

37. ÍøÊØÀ­¤Î¤¿¤á¤Ë¥·¥ó¥°¥ë¥È¥ó(Singleton)¥Ñ¥¿¡¼¥ó¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£

¼¡¤Î¥¯¥é¥¹¤Ï¡¢¤½¤ì¤ò·Ñ¾µ¤¹¤ë¥¯¥é¥¹¤ò¼«Æ°Åª¤Ë¥·¥ó¥°¥ë¥È¥ó¤Ë¤·¤Þ¤¹¡§

public class Singleton : MonoBehaviour where T : MonoBehaviour 
{ 
protected static T instance; 

//Returns the instance of this singleton. 
public static T Instance 
{ 
get 
{ 
if(instance == null) 
{ 
instance = (T) FindObjectOfType(typeof(T)); 

if (instance == null) 
{ 
Debug.LogError("An instance of " + typeof(T) +  
" is needed in the scene, but there is none."); 
} 
} 

return instance; 
} 
} 
}

¥·¥ó¥°¥ë¥È¥ó¤Ï ParticleManager ¡¢AudioManager ¤Þ¤¿¤Ï GUIManager¡£¤Ê¤É¤Î´ÉÍý¤ËÍ­ÍѤǤ¹¡£ 

¡Ê¿¤¯¤Î¥×¥í¥°¥é¥Þ¡¼¤Ï¡¢XManager¤È¤¤¤¦Ì¾Á°¤Î¥¯¥é¥¹¤ËÂФ·¤Æ·Ù¹ð¤ò½Ð¤·¤Þ¤¹¡£¤Ê¤¼¤Ê¤é¥¯¥é¥¹¤Î̾Á°¤¬ÉÔ½½Ê¬¤Ç¤¢¤ë¤«¡¢Ìµ´Ø·¸¤Ê¥¿¥¹¥¯¤¬Â¿¤¹¤®¤ë¤è¤¦¤ËÀ߷פµ¤ì¤Æ¤¤¤ë¤«¤é¤Ç¤¹¡£ ³µ¤Í»ä¤Ï¤³¤ì¤ËƱ°Õ¤·¤Þ¤¹¡£ ¤·¤«¤· ¤¹¤Ù¤Æ¤Î¥²¡¼¥à¤Ë¤Ï¾¯¿ô¤Î¥Þ¥Í¡¼¥¸¥ã¡¼¤¬Â¸ºß¤·¤Þ¤¹¤· ¤¹¤Ù¤Æ¤Î¥²¡¼¥à¤ÇƱ¤¸¤³¤È¤ò¤¹¤ë¤Î¤Ç¡¢¼ÂºÝ¤Ë¤Ï¤³¤ì¤é¤Î¥¯¥é¥¹¤Ï´·ÍÑɽ¸½¤Ç¤¹¡£¡Ë

  • ¡Ê¥×¥ì¡¼¥ä¡¼¤Ê¤É¡Ë¥Þ¥Í¡¼¥¸¥ã¡¼¤Ç¤Ï¤Ê¤¤¸ÇÍ­¤Î¥×¥ì¥Ï¥Ö¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤Î¤¿¤á¤Ë¥·¥ó¥°¥ë¥È¥ó¤ò»ÈÍѤ·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£¤³¤Î¸¶Â§¤ò½å¼é¤·¤Ê¤¤¤È¡¢·Ñ¾µ³¬Áؤ¬Ê£»¨¤Ë¤Ê¤ê¡¢ÆÃÄê¤Î¼ïÎà¤ÎÊѹ¹¤¬º¤Æñ¤Ë¤Ê¤ê¤Þ¤¹¡£GameManager¡Ê¤Þ¤¿¤Ï¾¤ÎŬÀÚ¤ÊGod¥¯¥é¥¹¡Ë¤Ç¤³¤ì¤é¤Î»²¾È¤ò°Ý»ý¤·¤Æ¤¯¤À¤µ¤¤¡£
  • ¥¯¥é¥¹³°¤«¤éÉÑÈˤ˻ÈÍѤµ¤ì¤ë¥Ñ¥Ö¥ê¥Ã¥¯ÊÑ¿ô¤ä¥á¥½¥Ã¥É¤ÎÀÅŪ¥×¥í¥Ñ¥Æ¥£¤È¥á¥½¥Ã¥É¤òÄêµÁ¤·¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢GameManager.Instance.player¤ÎÂå¤ï¤ê¤ËGameManager.Player¤òµ­½Ò¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£

¾¤Î¥Ò¥ó¥È¤ÇÀâÌÀ¤·¤¿¤è¤¦¤Ë¡¢¥·¥ó¥°¥ë¥È¥ó¤Ï¡¢¥°¥í¡¼¥Ð¥ë¥Ç¡¼¥¿¤òÄÉÀפ¹¤ë¥·¡¼¥ó¥í¡¼¥É´Ö¤Ç»ý³¤¹¤ë¥Ç¥Õ¥©¥ë¥È¤Î¥¹¥Ý¡¼¥ó¥Ý¥¤¥ó¥È¤È¥ª¥Ö¥¸¥§¥¯¥È¤òºîÀ®¤¹¤ë¾ì¹ç¤Ë¤âÍ­ÍѤǤ¹¡£

 

38. ¥¹¥Æ¡¼¥È¥Þ¥·¥ó¤ò»ÈÍѤ·¤Æ¡¢°Û¤Ê¤ë¥¹¥Æ¡¼¥È¤Ç°Û¤Ê¤ëưºî¤ò¼èÆÀ¤·¤¿¤ê¡¢¥¹¥Æ¡¼¥ÈÁ«°Ü¤Ç¥³¡¼¥É¤ò¼Â¹Ô¤·¤¿¤ê¤·¤Þ¤¹

·ÚÎ̤Υ¹¥Æ¡¼¥È¥Þ¥·¥ó¤Ï¡¢Ê£¿ô¤Î¾õÂÖ¤òÍ­¤·³Æ¾õÂ֤ϡ¢»ØÄê¤Þ¤¿¤Ï¾õÂ֤μ¹ÔÁàºî¤Î̵ͭ¤òÆþÎϤ·¤Æ¡¢¥¢¥¯¥·¥ç¥ó¤ò¹¹¿·¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤ì¤Ï¡¢¥³¡¼¥É¤ò¤è¤ê¥¯¥ê¡¼¥ó¤Ë¤·¤Æ¥¨¥é¡¼¤¬µ¯¤³¤ê¤Ë¤¯¤¯¤·¤Þ¤¹¡£Update¥á¥½¥Ã¥É¤Ë¡¢¤½¤ì¤¬²¿¤ò¤¹¤ë¤«¤òÊѹ¹¤¹¤ëif¥¹¥Æ¡¼¥È¥á¥ó¥È¤äswitch¥¹¥Æ¡¼¥È¥á¥ó¥È¡¢¤Þ¤¿¤ÏhasShownGameOverMessage¤Ê¤É¤ÎÊÑ¿ô¤Î̵ͭ¤òµ­½Ò¤¹¤ë¤³¤È¤Ç¾õÂÖ¥Þ¥·¥ó¤«¤é¤ÎÉ乿¤òÆÀ¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£


public void Update() 
{ 
if(health <= 0) 
{ 
if(!hasShownGameOverMessage)  
{ 
ShowGameOverMessage(); 
hasShownGameOverMessage = true; //Respawning resets this to false 
} 
} 
else 
{ 
HandleInput(); 
}    
}

¤è¤ê¿¤¯¤Î¾õÂÖ¥¹¥Æ¡¼¥È¤¬¤¢¤ë¾ì¹ç ¤³¤Î¥¿¥¤¥×¤Î¥³¡¼¥É¤ÏÈó¾ï¤ËÍ𻨤ˤʤë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ ¥¹¥Æ¡¼¥È¥Þ¥·¥ó¤Ï¤½¤ì¤òÈó¾ï¤Ë¥¯¥ê¡¼¥ó¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£

39. UnityEvent·¿¤Î¥Õ¥£¡¼¥ë¥É¤ò»ÈÍѤ·¤Æ¡¢¥¤¥ó¥¹¥Ú¥¯¥¿¤ÇObserver ¥Ñ¥¿¡¼¥ó¤òÀßÄꤹ¤ë

¢¨Observer ¥Ñ¥¿¡¼¥ó¡Ê¥ª¥Ö¥¶¡¼¥Ð¡¦¥Ñ¥¿¡¼¥ó¡Ë¤È¤Ï¡¢¥×¥í¥°¥é¥àÆâ¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Î¾õÂÖ¤ò´Ñ»¡¡Êobserve¡Ë¤¹¤ë¤è¤¦¤Ê¥×¥í¥°¥é¥à¤Ç»È¤ï¤ì¤ë¥Ç¥¶¥¤¥ó¥Ñ¥¿¡¼¥ó¤Ç¤¹¡£

UnityEvent¤Î¥¯¥é¥¹¤Ç¤Ï¡¢¥Ü¥¿¥ó¾å¤Î¥¤¥Ù¥ó¥È¤ÈƱ¤¸UI¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹¤ò»ÈÍѤ·¤Æ¡¢¥¤¥ó¥¹¥Ú¥¯¥¿¤Î4¤Ä¤Î¥Ñ¥é¥á¡¼¥¿¤ò¼è¤ëÊýË¡¤Ë¥ê¥ó¥¯¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤ì¤ÏÆþÎϤËÂн褹¤ë¤¿¤á¤ËÆÃ¤ËÍ­ÍѤǤ¹¡£

 

40.¥Õ¥£¡¼¥ë¥ÉÃͤÎÊѲ½¤ò¸¡½Ð¤¹¤ë¤¿¤á¤Ë¥ª¥Ö¥¶¡¼¥Ð¡¼¥Ñ¥¿¡¼¥ó¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£

ÊÑ¿ô¤¬Êѹ¹¤µ¤ì¤¿¾ì¹ç¤Ë¤Î¤ß¥³¡¼¥É¤ò¼Â¹Ô¤¹¤ëÌäÂê¤Ï¡¢¥²¡¼¥à¤ÇÉÑÈˤËȯÀ¸¤·¤Þ¤¹¡£ »ä¤¿¤Á¤ÏÈÆÍÑ¥¯¥é¥¹¤Ç¤³¤ì¤òÊñ³çŪ¤Ë²ò·è¤·¤Þ¤·¤¿¡£¤³¤ì¤Ë¤è¤ê¡¢Ãͤ¬ÊѤï¤ë¤¿¤Ó¤Ë¥¤¥Ù¥ó¥È¤ËÅÐÏ¿¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤³¤³¤Ç¤Ï¡¢health¤ÎÎã¤Ç¤Î¹½ÃÛ¤ÎÊýË¡¤Ç¤¹¡§

/*Ãͤδƻë*/health = new ObservedValue(100);
health.OnValueChanged += () => { if(health.Value <= 0) Die(); };

¤³¤ì¤ò³Îǧ¤¹¤ë¾ì½ê¤ò³Îǧ¤¹¤ë¤³¤È¤Ê¤¯¡¢¤É¤³¤Ç¤âÊѹ¹¤Ç¤­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¼¡¤Î¤è¤¦¤Ë¡£

if(hit) health.Value -= 10;

·ò¹¯ÃÍhealth¤¬0¤ò²¼²ó¤ë¤È¡¢Die¥á¥½¥Ã¥É¤¬¸Æ¤Ó½Ð¤µ¤ì¤Þ¤¹¡£ ¤µ¤é¤Ê¤ëµÄÏÀ¤È¼ÂÁõ¤Ë¤Ä¤¤¤Æ¤Ï¡¢¤³¤Îµ­»ö¥Ý¥¹¥È¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£

41.¥×¥ì¥Ï¥Ö¤Ë¥¢¥¯¥¿¡¼¥Ñ¥¿¡¼¥ó¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£¡Ê¤³¤ì¤Ï¡¢¡Öɸ½à¡×¥Ñ¥¿¡¼¥ó¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£´ðËÜŪ¤Ê¹Í¤¨Êý¤Ï¡¢Kieran Lord¤Î¤³¤Î¥×¥ì¥¼¥ó¥Æ¡¼¥·¥ç¥ó¤ò»²¹Í¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡Ë

¥×¥ì¥Ï¥Ö¤Î¼ç¤Ê¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Ï¥¢¥¯¥¿¡¼¤Ç¤¹¡£ Ä̾ï¤Ï¥×¥ì¥Ï¥Ö¤Î¡ÖƱ°ìÀ­¡×¤òÄ󶡤¹¤ë¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Ç¤¢¤ê¡¢¾å°Ì¤Î1¤Ä¤Î¥³¡¼¥É¤Ï¿¤¯¤Î¾ì¹çÁê¸ßºîÍѤ·¤Þ¤¹¡£ ¥¢¥¯¥¿¡¼¤Ï¡¢Â¾¤Î¥³¥ó¥Ý¡¼¥Í¥ó¥È¡Ê¥Ø¥ë¥Ñ¡¼¡Ë¤òƱ¤¸¥ª¥Ö¥¸¥§¥¯¥È¡Ê¤ª¤è¤Ó¾ì¹ç¤Ë¤è¤Ã¤Æ¤Ï»Ò¶¡¡Ë¾å¤Ç»ÈÍѤ·¤Æºî¶È¤ò¹Ô¤¤¤Þ¤¹¡£

¥á¥Ë¥å¡¼¤«¤é¥Ü¥¿¥ó¥ª¥Ö¥¸¥§¥¯¥È¤ò1¤Ä¤Ë¤Þ¤È¤á¤ë¤È¡¢Sprite¤ª¤è¤ÓButton¥³¥ó¥Ý¡¼¥Í¥ó¥È¡Ê¤ª¤è¤ÓText¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ò»ý¤Ä»Ò¡Ë¤ò»ý¤Ä¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£ ¤³¤Î¾ì¹ç¡¢Button¤Ï¥¢¥¯¥¿¡¼¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Ç¤¹¡£ ƱÍͤˡ¢¥á¥¤¥ó¥«¥á¥é¤Ï¡¢Ä̾ÉÕ°¤Î¥«¥á¥é¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Ë²Ã¤¨¤Æ¡¢¤¤¤¯¤Ä¤«¤Î¥³¥ó¥Ý¡¼¥Í¥ó¥È¡ÊGUI¥ì¥¤¥ä¡¢¥Õ¥ì¥¢¥ì¥¤¥ä¡¢¥ª¡¼¥Ç¥£¥ª¥ê¥¹¥Ê¡Ë¤òÈ÷¤¨¤Æ¤¤¤Þ¤¹¡£ ¥«¥á¥é¤Ï¥¢¥¯¥¿¡¼¤Ç¤¹¡£

¥¢¥¯¥¿¤Ï¡¢Â¾¤Î¥³¥ó¥Ý¡¼¥Í¥ó¥È¤¬Àµ¤·¤¯Æ°ºî¤¹¤ë¤è¤¦¤ËÍ׵᤹¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£ ¥¢¥¯¥¿¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Ç¼¡¤Î°À­¤ò»ÈÍѤ¹¤ë¤È¡¢¥×¥ì¥Ï¥Ö¤ò¤è¤ê¶¯¸Ç¤ÇÊØÍø¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£

  • ¤¢¤Ê¤¿¤Î¥¢¥¯¥¿¡¼¤¬Æ±¤¸¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ËɬÍפȤ¹¤ë¤¹¤Ù¤Æ¤Î¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ò¼¨¤¹¤Ë¤Ï¡¢RequiredComponent¤ò»ÈÍѤ·¤Þ¤¹¡£ ¡Ê¤¢¤Ê¤¿¤Î¥¢¥¯¥¿¡¼¤Ï¡¢ÊÖ¤µ¤ì¤¿Ãͤ¬null¤«¤É¤¦¤«¤ò¥Á¥§¥Ã¥¯¤¹¤ëɬÍפϤʤ¯¡¢¾ï¤ËGetComponent¤ò°ÂÁ´¤Ë¸Æ¤Ó½Ð¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡Ë¡£

  • DisallowMultipleComponent¤ò»ÈÍѤ·¤Æ¡¢Æ±¤¸¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ÎÊ£¿ô¥¤¥ó¥¹¥¿¥ó¥¹¤ò¥¢¥¿¥Ã¥Á¤¹¤ë¤³¤È¤òËɤ®¤Þ¤¹¡£ ¤·¤¿¤¬¤Ã¤Æ¡¢¥¢¥¯¥¿¡¼¤Ï¡¢Ê£¿ô¤Î¥³¥ó¥Ý¡¼¥Í¥ó¥È¤¬Àܳ¤µ¤ì¤Æ¤¤¤ë¤È¤­¤Î¥Ó¥Ø¥¤¥Ó¥¢¡¼¤ò¿´ÇÛ¤¹¤ë¤³¤È¤Ê¤¯¡¢¾ï¤ËGetComponent¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£

  • ¥¢¥¯¥¿¥ª¥Ö¥¸¥§¥¯¥È¤Ë»Ò¤¬¤¢¤ë¾ì¹ç¤ÏSelectionBase¤ò»ÈÍѤ·¤Þ¤¹¡£ ¤³¤ì¤Ë¤è¤ê¡¢¥·¡¼¥ó¥Ó¥å¡¼¤Ç¤ÎÁªÂò¤¬Íưפˤʤê¤Þ¤¹¡£

 

[RequiredComponent(typeof(HelperComponent))]

[DisallowMultipleComponent]

[SelectionBase]

public class Actor : MonoBehaviour {

...//

}

 

42. ¥¸¥§¥Í¥ì¡¼¥¿¤òÍѤ¤¤¿¥é¥ó¥À¥à¥Ñ¥¿¡¼¥ó¤Î¥Ç¡¼¥¿¥¹¥È¥ê¡¼¥à¡£¡Ê¤³¤ì¤Ïɸ½à¥â¡¼¥É¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢¤½¤ì¤¬Èó¾ï¤ËÍ­ÍѤǤ¢¤ë¤³¤È¤¬È½ÌÀ¤·¤Þ¤·¤¿¡Ë

¥¸¥§¥Í¥ì¡¼¥¿¤ÏÍð¿ô¥¸¥§¥Í¥ì¡¼¥¿¤È»÷¤Æ¤¤¤Þ¤¹¡£ÆÃÄê¤Î¥¿¥¤¥×¤Î¿·¤·¤¤¥¢¥¤¥Æ¥à¤ò¼èÆÀ¤¹¤ë¤¿¤á¤Ë¸Æ¤Ó½Ð¤¹¤³¤È¤¬¤Ç¤­¤ëNext¥á¥½¥Ã¥É¤ò»ý¤Ä¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤¹¡£ ¥¸¥§¥Í¥ì¡¼¥¿¤Ï¡¢¤µ¤Þ¤¶¤Þ¤Ê¥Ñ¥¿¡¼¥ó¤ä¤µ¤Þ¤¶¤Þ¤Ê¼ïÎà¤ÎÍð¿ô¤òÀ¸À®¤¹¤ë¤¿¤á¤Ë¡¢¤½¤Î¹½ÃÛÃæ¤ËÁàºî¤¹¤ë¤³¤È¤¬¤Ç¤­¤½¤ì¤é¤ÏÊØÍø¤Ç¤¹¡£¤Ê¤¼¤Ê¤é¿·¤·¤¤¹àÌܤòÀ¸À®¤¹¤ë¥í¥¸¥Ã¥¯¤ò¥¢¥¤¥Æ¥à¤ÎɬÍפʾì½ê¤È¤ÏÊ̤ˤ·¤Æ¡¢¥³¡¼¥É¤¬¤Ï¤ë¤«¤Ë¥¯¥ê¡¼¥ó¤Ë¤Ê¤ë¤è¤¦¤Ë¤¹¤ë¤«¤é¤Ç¤¹¡£

¤³¤³¤Ç¤Ï¤¤¤¯¤Ä¤«¤ÎÎã¤ò¼¨¤·¤Þ¤¹¡§

var generator = Generator
   .RamdomUniformInt(500)
   .Select(x => 2*x); //Generates random even numbers between 0 and 998

var generator = Generator
   .RandomUniformInt(1000)
   .Where(n => n % 2 == 0); //Same as above

var generator = Generator
    .Iterate(0, 0, (m, n) => m + n); //Fibonacci numbers

var generator = Generator
   .RandomUniformInt(2)
   .Select(n => 2*n - 1)
   .Aggregate((m, n) => m + n); //Random walk using steps of 1 or -1 one randomly

var generator = Generator
   .Iterate(0, Generator.RandomUniformInt(4), (m, n) => m + n - 1)
   .Where(n >= 0); //A random sequence that increases on average

»ä¤¿¤Á¤Ï¡¢¾ã³²Êª¤ÎÀ¸À®¡¢ÇØ·Ê¿§¤ÎÊѹ¹¡¢¥×¥í¥·¡¼¥¸¥ã¥ë¤Ê²»³Ú¤ÎºîÀ®¡¢Ã±¸ì¥²¡¼¥à¤Çñ¸ì¤òºî¤ë¤È¤­¤Ë²ÄǽÀ­¤Î¹â¤¤Ê¸»úÎó¤ÎÀ¸À®¤Ê¤É¤Ë»ÈÍѤ·¤Æ¤¤¤Þ¤¹¡£¥¸¥§¥Í¥ì¡¼¥¿¤Ï¤Þ¤¿¡¢¥³¥ó¥¹¥È¥é¥¯¥È¤ò»È¤Ã¤Æ°ìÄê¤Ç¤Ê¤¤´Ö³Ö¤Ç·«¤êÊÖ¤·¥³¥ë¡¼¥Á¥ó¤òÀ©¸æ¤¹¤ë¤¿¤á¤Ë¤¦¤Þ¤¯µ¡Ç½¤·¤Þ¤¹¡§

 

while (true) 
{ 
//Do stuff 

yield return new WaitForSeconds(timeIntervalGenerator.Next()); 
}

¥¸¥§¥Í¥ì¡¼¥¿¤ÎµÄÏÀ¤Ë¤Ä¤¤¤Æ¤Î¾ÜºÙ¤Ï¡¢¤³¤ÎÅê¹Æ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤

 

¥×¥ì¥Ï¥Ö¤ÈScriptableObject»²¾È

43.¤¹¤Ù¤Æ¤Ë¥×¥ì¥Ï¥Ö¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£

¥×¥ì¥Ï¥Ö¡Ê¤Þ¤¿¤Ï¥×¥ì¥Ï¥Ö¤Î°ìÉô¡Ë¤Ç¤Ï¤Ê¤¤¥·¡¼¥óÆâ¤ÎÍ£°ì¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ï¡¢¥Õ¥©¥ë¥À¡¼¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ °ìÅÙ¤À¤±»ÈÍѤµ¤ì¤ë¥æ¥Ë¡¼¥¯¤Ê¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤¢¤Ã¤Æ¤â¡¢¥×¥ì¥Ï¥Ö¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ ¤³¤ì¤Ë¤è¤ê¡¢¥·¡¼¥ó¤òÊѹ¹¤¹¤ëɬÍפΤʤ¤Êѹ¹¤ò´Êñ¤Ë¹Ô¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£

44.¥×¥ì¥Ï¥Ö¤ò¥×¥ì¥Ï¥Ö¤Ë¥ê¥ó¥¯¤¹¤ë¡£ ¥¤¥ó¥¹¥¿¥ó¥¹¤ò¥¤¥ó¥¹¥¿¥ó¥¹¤Ë¥ê¥ó¥¯¤·¤Ê¤¤

¥×¥ì¥Ï¥Ö¤Ø¤Î¥ê¥ó¥¯¤Ï¡¢¥×¥ì¥Ï¥Ö¤ò¥·¡¼¥ó¤Ë¥É¥í¥Ã¥×¤¹¤ë¤È¤­¤Ë°Ý»ý¤µ¤ì¤Þ¤¹¡£ ¥¤¥ó¥¹¥¿¥ó¥¹¤Ø¤Î¥ê¥ó¥¯¤Ï¤¢¤ê¤Þ¤»¤ó¡£ ²Äǽ¤Ê¸Â¤ê¥×¥ì¥Ï¥Ö¤Ë¥ê¥ó¥¯¤¹¤ë¤È¥·¡¼¥óÀßÄ꤬¸º¾¯¤· ¥·¡¼¥ó¤òÊѹ¹¤¹¤ëɬÍ×À­¤¬¸º¤ê¤Þ¤¹¡£

²Äǽ¤Ê¸Â¤ê¡¢¥¤¥ó¥¹¥¿¥ó¥¹´Ö¤Î¥ê¥ó¥¯¤ò¼«Æ°Åª¤Ë³ÎΩ¤·¤Þ¤¹¡£ ¥¤¥ó¥¹¥¿¥ó¥¹¤ò¥ê¥ó¥¯¤¹¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤Ï¡¢¥×¥í¥°¥é¥à¤Ç¥ê¥ó¥¯¤ò³ÎΩ¤·¤Þ¤¹¡£ Î㤨¤Ð¥×¥ì¥¤¥ä¡¼¥×¥ì¥Ï¥Ö¤Ï¥²¡¼¥à¥Þ¥Í¡¼¥¸¥ã¡¼¤¬µ¯Æ°»þ¤Ë¤½¤ì¤òGameManager¤ËÅÐÏ¿¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤Þ¤¿¤Ï¡¢GameManager¤Ï¡¢¥×¥ì¥¤¥ä¡¼¥×¥ì¥Ï¥Ö¥¤¥ó¥¹¥¿¥ó¥¹¤¬³«»Ï»þ¤Ë¤½¤ì¤ò¸«¤Ä¤±¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£

45.¤¢¤Ê¤¿¤¬Â¾¤Î¥¹¥¯¥ê¥×¥È¤òÄɲä·¤¿¤¤¾ì¹ç¡£¥×¥ì¥Ï¥Ö¤Î¥ë¡¼¥È¤Ë¥á¥Ã¥·¥å¤òÆþ¤ì¤Ê¤¤¤Ç¤¯¤À¤µ¤¤ 

¥á¥Ã¥·¥å¤«¤é¥×¥ì¥Ï¥Ö¤òºî¤ë¤È¤­¤Ï¡¢ºÇ½é¤Ë¥á¥Ã¥·¥å¤ò¶õ¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¿Æ¤È¤· ¤½¤ì¤ò¥ë¡¼¥È¤Ë¤·¤Þ¤¹¡£ ¥á¥Ã¥·¥å¥Î¡¼¥É¤Ç¤Ï¤Ê¤¯¡¢¥ë¡¼¥È¾å¤Ë¥¹¥¯¥ê¥×¥È¤òÃÖ¤¯¡£ ¤½¤¦¤¹¤ì¤Ð¡¢¥¤¥ó¥¹¥Ú¥¯¥¿¤ÇÀßÄꤷ¤¿Ãͤò¼º¤¦¤³¤È¤Ê¤¯¡¢¥á¥Ã¥·¥å¤òÊ̤Υá¥Ã¥·¥å¤ËÃÖ¤­´¹¤¨¤ë¤Û¤¦¤¬¤º¤Ã¤ÈÍÆ°×¤Ç¤¹¡£

46.¥×¥ì¥Ï¥Ö¤ÎÂå¤ï¤ê¤Ë¡¢¶¦Í­¥³¥ó¥Õ¥£¥®¥å¥ì¡¼¥·¥ç¥ó¥Ç¡¼¥¿¤ËScriptableObject¤ò»ÈÍѤ·¤Þ¤¹¡£

¤¢¤Ê¤¿¤¬¤³¤ì¤ò¹Ô¤¦¾ì¹ç¡§

  • ¥·¡¼¥ó¤Ï¤è¤ê¾®¤µ¤¯¤Ê¤ê¤Þ¤¹
  • ¸í¤Ã¤Æ1¤Ä¤Î¥·¡¼¥ó¡Ê¥×¥ì¥Ï¥Ö¥¤¥ó¥¹¥¿¥ó¥¹¾å¡Ë¤ËÊѹ¹¤ò²Ã¤¨¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£

47. ¥ì¥Ù¥ë¤Î¥Ç¡¼¥¿¤ËScriptableObject¤ò»ÈÍѤ¹¤ë¡£

¥ì¥Ù¥ë¥Ç¡¼¥¿¤Ï¡¢Â¿¤¯¤Î¾ì¹ç¡¢XML¤Þ¤¿¤ÏJSON¤ËÊݸ¤µ¤ì¤Æ¤¤¤ë¤¬¡¢Âå¤ï¤ê¤ËScriptableObject¤ò»ÈÍѤ¹¤ë¤³¤È¤Ç¡¢¤¤¤¯¤Ä¤«ÍøÅÀ¤¬¤¢¤ê¤Þ¤¹¡£

  • ScriptableObject¤Ï¥¨¥Ç¥£¥¿¤ÇÊÔ½¸¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£´Êñ¤Ë¥Ç¡¼¥¿¤Î¸¡¾Ú¤¬²Äǽ¤Ë¤Ê¤ë¤³¤È¤Çµ»½ÑÌ̤˰Ť¤¥Ç¥¶¥¤¥Ê¡¼¤Ë¤â¿Æ¤·¤ß¤ä¤¹¤¯¤Ê¤ê¤Þ¤¹¡£¤Þ¤¿ÊÔ½¸¤ò¤µ¤é¤ËÍÆ°×¤Ë¤¹¤ë¤¿¤á¤Ë¥«¥¹¥¿¥à¥¨¥Ç¥£¥¿¤ò»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
  • ¥Ç¡¼¥¿¤ÎÆÉ¤ß½Ð¤·/½ñ¤­¹þ¤ß¤È²òÀϤò¿´ÇÛ¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£
  • ·ë²Ì¤Î¥¢¥»¥Ã¥È¤òʬ³ä¤·¤Æ¥Í¥¹¥È¤·¤Æ´ÉÍý¤¹¤ëÊý¤¬ÍưפǤ¢¤ê Â絬ÌϤʹ½À®¤Ç¤Ï¤Ê¤¯¡¢¥Ó¥ë¥Ç¥£¥ó¥°¥Ö¥í¥Ã¥¯¤«¤é¥ì¥Ù¥ë¤òºîÀ®¤¹¤ëÊý¤¬´Êñ¤Ë¤Ê¤ê¤Þ¤¹¡£

48.ScriptableObject¤ò»ÈÍѤ·¤Æ¡¢¥¤¥ó¥¹¥Ú¥¯¥¿¤Çưºî¤òÀßÄꤹ¤ë¡£ScriptableObject¤ÏÄ̾¥Ç¡¼¥¿¤ÎÀßÄê¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤Þ¤¹¤¬¡¢¥Ç¡¼¥¿¤È¤·¤Æ¡Ö¥á¥½¥Ã¥É¡×¤ò»ÈÍѤ¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹

Ũ¤Î¥¿¥¤¥×¤¬¤¢¤ê¡¢³ÆÅ¨¤Ë¥¹¡¼¥Ñ¡¼¥Ñ¥ï¡¼¤Î«¤¬¤¢¤ë¥·¥Ê¥ê¥ª¤ò¹Í¤¨¤Æ¤ß¤Þ¤·¤ç¤¦¡£ ¤¢¤Ê¤¿¤Ï¤³¤ì¤é¤ÎÄ̾ï¤Î¥¯¥é¥¹¤òºî¤Ã¤ÆEnemy¥¯¥é¥¹¤Î¥ê¥¹¥È¤ò»ý¤Ä¤³¤È¤¬¤Ç¤­¤Þ¤¹¤¬¡¢¥«¥¹¥¿¥à¥¨¥Ç¥£¥¿¤ò»È¤ï¤Ê¤±¤ì¤Ð¥¤¥ó¥¹¥Ú¥¯¥¿Æâ¤ËÊ̤ÎSuperPower¤Î¥ê¥¹¥È¡Ê¤½¤ì¤¾¤ì¤¬ÆÈ¼«¤Î¥×¥í¥Ñ¥Æ¥£¤ò»ý¤Ä¡Ë¤òÀßÄꤹ¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£ ¤·¤«¤· ¤³¤ì¤é¤ÎSuperPower¥¢¥»¥Ã¥È¤ò¡ÊScriptableObject¤È¤·¤Æ¼ÂÁõ¤¹¤ë¡Ë¤³¤È¤¬¤Ç¤­¤ì¤Ð¤è¤¤¤Î¤Ç¤¹¡£

¤³¤Î¤è¤¦¤ËÀßÄê¡§

public class Enemy : MonoBehaviour 
{ 
public SuperPower superPowers; 

public UseRandomPower() 
{ 
superPowers.RandomItem().UsePower(this); 
} 
} 

public class BasePower : ScriptableObject 
{ 
virtual void UsePower(Enemy self) 
{ 
} 
} 

[CreateAssetMenu("BlowFire", "Blow Fire") 
public class BlowFire : SuperPower 
{ 
public strength; 
override public void UsePower(Enemy self) 
{ 
///program blowing fire here 
} 
}

¤³¤Î¥Ñ¥¿¡¼¥ó¤Ë½¾¤¦¤È¤­¡¢¼¡¤ÎÅÀ¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡§

  • ScriptableObject¤ò³Î¼Â¤ËÃê¾Ý²½¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£ Âå¤ï¤ê¤Ë¶ñ¾Ý´ðÄ쥯¥é¥¹¤ò»ÈÍѤ· Ãê¾Ý·¿¤Ç¤¢¤ë¥á¥½¥Ã¥É¤ËNotImplementedExceptions¤ò¥¹¥í¡¼¤·¤Þ¤¹¡£ Ãê¾Ý°À­¤òÄêµÁ¤·¤Æ¡¢Ãê¾Ý¥¯¥é¥¹¤Ç¤¢¤ëɬÍפ¬¤¢¤ë¥¯¥é¥¹¤È¥á¥½¥Ã¥É¤ò¥Þ¡¼¥¯¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£¡£
  • ¥¸¥§¥Í¥ê¥Ã¥¯¤Ç¤¢¤ëScriptableObject¤Ï¥·¥ê¥¢¥é¥¤¥º¤Ç¤­¤Þ¤»¤ó¡£ ¤¿¤À¤· ¥¸¥§¥Í¥ê¥Ã¥¯¥Ù¡¼¥¹¥¯¥é¥¹¤ò»ÈÍѤ·¤Æ¡¢¤¹¤Ù¤Æ¤Î¥¸¥§¥Í¥ê¥Ã¥¯¤ò»ØÄꤹ¤ë¥µ¥Ö¥¯¥é¥¹¤ò¥·¥ê¥¢¥é¥¤¥º¤¹¤ë¤À¤±¤ÇºÑ¤ß¤Þ¤¹¡£

49.ScriptableObject¤ò»ÈÍѤ·¤Æ¥×¥ì¥Ï¥Ö¤òÆÃ¼ì²½¤·¤Þ¤¹¡£

2¤Ä¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Î¹½À®¤¬°ìÉô¤Î¥×¥í¥Ñ¥Æ¥£¤Ç¤Î¤ß°Û¤Ê¤ë¾ì¹ç¤Ï¡¢2¤Ä¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤ò¥·¡¼¥ó¤ËÇÛÃÖ¤· ¥¤¥ó¥¹¥¿¥ó¥¹¤Î¥×¥í¥Ñ¥Æ¥£¤òÄ´À°¤¹¤ë¤Î¤¬°ìÈÌŪ¤Ç¤¹¡£ Ä̾ï¤Ï¡¢2¤Ä¤Î¥¿¥¤¥×¤Î´Ö¤Ç°Û¤Ê¤ë¥×¥í¥Ñ¥Æ¥£¤ÎÊ̤Υ¯¥é¥¹¤òÊÌ¡¹¤ÎScriptableObject¥¯¥é¥¹¤Ë¤¹¤ëÊý¤¬Í¥¤ì¤Æ¤¤¤Þ¤¹¡£

¤³¤ì¤Ë¤è¤ê¡¢½ÀÆðÀ­¤¬¸þ¾å¤·¤Þ¤¹¡§

  • ÆÃ¼ì²½¥¯¥é¥¹¤Î·Ñ¾µ¤ò»ÈÍѤ·¤Æ¡¢°Û¤Ê¤ë¥¿¥¤¥×¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤µ¤é¤Ë¸ÇÍ­¤Î¥×¥í¥Ñ¥Æ¥£¤òÍ¿¤¨¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
  • ¥·¡¼¥ó¤ÎÀßÄê¤Ï¤Ï¤ë¤«¤Ë°ÂÁ´¤Ç¤¹¡Êñ¤ËÌÜŪ¤Î¥¿¥¤¥×¤Î¥ª¥Ö¥¸¥§¥¯¥È¤òºî¤ë¤¿¤á¤Ë¤¹¤Ù¤Æ¤Î¥×¥í¥Ñ¥Æ¥£¤òÄ´À°¤¹¤ëÂå¤ï¤ê¤Ë¡¢ScriptableObject¤òÁªÂò¤¹¤ë¤À¤±¤Ç¤¹¡Ë
  • ¥³¡¼¥É¤Î¼Â¹Ô»þ¤Ë¤³¤ì¤é¤Î¥ª¥Ö¥¸¥§¥¯¥È¤òÁàºî¤¹¤ëÊý¤¬´Êñ¤Ç¤¹¡£
  • ¤¢¤Ê¤¿¤Ï2¥¿¥¤¥×¤ÎÊ£¿ô¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤¬¤¢¤ë¾ì¹ç¤Ï¡¢Êѹ¹¤ò¹Ô¤¦¤È¤­¤Ï¤½¤Î¥×¥í¥Ñ¥Æ¥£¤Ï¾ï¤Ë°ì´ÓÀ­¤¬¤¢¤ë¤³¤È¤òÃΤäƤ¤¤Þ¤¹¡£
  • ¥³¥ó¥Õ¥£¥®¥å¥ì¡¼¥·¥ç¥óÊÑ¿ô¤Î¥»¥Ã¥È¤òº®ºß¤ª¤è¤Ó°ìÃפµ¤»¤ë¤³¤È¤¬¤Ç¤­¤ë¥»¥Ã¥È¤Ëʬ³ä¤Ç¤­¤Þ¤¹¡£

°Ê²¼¤Ï¥»¥Ã¥È¥¢¥Ã¥×¤Î´Êñ¤ÊÎã¤Ç¤¹¡§

[CreateAssetMenu("HealthProperties.asset", "Health Properties")]
public class HealthProperties : ScriptableObject
{
public float maxHealth;
public float resotrationRate;
} 

public class Actor : MonoBehaviour
{
public HealthProperties healthProperties;
}

ÆÃ¼ì²½¤Î¿ô¤¬Â¿¤¤¾ì¹ç¤Ï¡¢ÆÃ¼ì²½¤òÄ̾ï¤Î¥¯¥é¥¹¤È¤·¤ÆÄêµÁ¤· ¤½¤ì¤òÊÝ»ý¤Ç¤­¤ëŬÀڤʾì½ê¡ÊGameManager¤Ê¤É¡Ë¤Ë¥ê¥ó¥¯¤µ¤ì¤¿ScriptableObject¤Ç¤³¤ì¤é¤Î¥ê¥¹¥È¤ò»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤½¤ì¤ò°ÂÁ´¤Ë¡¢¤è¤ê®¤¯ÊØÍø¤Ë¤¹¤ë¤¿¤á¤ËɬÍפÊÍ»¹çÊýË¡¤¬¤â¤¦¾¯¤·¤¢¤ê¤Þ¤¹¡£

ºÇ¾®¸Â¤ÎÎã¤ò°Ê²¼¤Ë¼¨¤·¤Þ¤¹¡§

public enum ActorType 
{ 
Vampire, Wherewolf 
} 

[Serializable] 
public class HealthProperties 
{ 
public ActorType type; 
public float maxHealth; 
public float resotrationRate; 
} 

[CreateAssetMenu("ActorSpecialization.asset", "Actor Specialization")] 
public class ActorSpecialization : ScriptableObject 
{ 
public List healthProperties; 

public this[ActorType] 
{ 
get { return healthProperties.First(p => p.type == type); } //Unsafe version! 
} 
} 

public class GameManager : Singleton   
{ 
public ActorSpecialization actorSpecialization; 

... 
} 

public class Actor : MonoBehaviour 
{ 
public ActorType type; 
public float health; 

//Example usage 
public Regenerate() 
{ 
health  
+= GameManager.Instance.actorSpecialization[type].resotrationRate; 
} 
}

 

50. CreateAssetMenu¤ò»ÈÍѤ¹¤ë¤³¤È¤Ç°À­¥¢¥È¥ê¥Ó¥å¡¼¥È¤Ï¼«Æ°Åª¤ËScriptableObject¤¬ºîÀ®¤·¤¿¥á¥Ë¥å¡¼¤¬ºîÀ®/¥¢¥»¥Ã¥È¤ËÄɲ䵤ì¤Þ¤¹¡£


 

¥Ç¥Ð¥Ã¥®¥ó¥°

51. ¸ú²ÌŪ¤ÊUnity¤Î¥Ç¥Ð¥Ã¥°µ¡Ç½¤ò»ÈÍѤ¹¤ëÊýË¡¤ò³Ø¤Ó¤Þ¤¹¡£

  • Debug.Log¥¹¥Æ¡¼¥È¥á¥ó¥È¤Ë¥³¥ó¥Æ¥­¥¹¥È¥ª¥Ö¥¸¥§¥¯¥È¤òÄɲ䷤ơ¢¤½¤ì¤é¤ÎÀ¸À®¾ì½ê¤ò³Îǧ¤·¤Þ¤¹¡£
  • Debug.Break¤ò»ÈÍѤ·¤Æ¥¨¥Ç¥£¥¿¤Ç¥²¡¼¥à¤ò°ì»þÄä»ß¤·¤Þ¤¹¡Ê¤¿¤È¤¨¤Ð¡¢¥¨¥é¡¼¾õÂÖ¤¬È¯À¸¤· ¤½¤Î¥Õ¥ì¡¼¥à¤Î¥³¥ó¥Ý¡¼¥Í¥ó¥È¥×¥í¥Ñ¥Æ¥£¤òÄ´¤Ù¤¿¤¤¾ì¹ç¤Ê¤É¡Ë¡£
  • ¥Ó¥¸¥å¥¢¥ë¥Ç¥Ð¥Ã¥°¤Î¤¿¤á¤ËDebug.DrawRay´Ø¿ô¤ÈDebug.DrawLine´Ø¿ô¤ò»ÈÍѤ·¤Þ¤¹¡Ê¤¿¤È¤¨¤Ð¡¢¥ì¥¤¥­¥ã¥¹¥È¤¬¥Ò¥Ã¥È¤·¤Ê¤«¤Ã¤¿Íýͳ¤ò¥Ç¥Ð¥Ã¥°¤¹¤ë¾ì¹ç¡¢DrawRay¤ÏÈó¾ï¤ËÊØÍø¤Ç¤¹¡Ë¡£
  • ¥Ó¥¸¥å¥¢¥ë¥Ç¥Ð¥Ã¥°¤Ë¤Ï¡¢Gizmos¤ò»ÈÍѤ·¤Þ¤¹¡£ ¤Þ¤¿¡¢DrawGizmo°À­¤ò»ÈÍѤ·¤Æ¥â¥Îưºî°Ê³°¤Î¥®¥º¥â¥ì¥ó¥À¥ê¥ó¥°¤òÄ󶡤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£
  • ¥Ç¥Ð¥Ã¥°¥¤¥ó¥¹¥Ú¥¯¥¿¥Ó¥å¡¼¤ò»ÈÍѤ·¤Æ¡Ê¥¤¥ó¥¹¥Ú¥¯¥¿¤ò»ÈÍѤ·¤ÆUnity¤Ç¼Â¹Ô»þ¤Ë¥×¥é¥¤¥Ù¡¼¥È¥Õ¥£¡¼¥ë¥É¤ÎÃͤò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡Ë¡£

52. ¸ú²ÌŪ¤ËIDE¤Î¥Ç¥Ð¥Ã¥¬¤ò»ÈÍѤ¹¤ëÊýË¡¤ò³Ø¤Ó¤Þ¤¹¡£

Visual Studio¤Ç¤ÎUnity¥²¡¼¥à¤Î¥Ç¥Ð¥Ã¥°¡£¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£

53. »þ´Ö¤Î·Ð²á¤È¤È¤â¤ËÃͤò¥°¥é¥Õ¤ËÉÁ²è¤¹¤ë¥Ó¥¸¥å¥¢¥ë¥Ç¥Ð¥Ã¥¬¤ò»ÈÍѤ¹¤ë

¤³¤ì¤ÏʪÍý³Ø¡¢¥¢¥Ë¥á¡¼¥·¥ç¥ó¡¢¤½¤Î¾¤ÎưŪ¥×¥í¥»¥¹¡¢ÆÃ¤Ë»¶È¯Åª¤Ê¾ã³²¤ò¥Ç¥Ð¥Ã¥°¤¹¤ë¤Î¤ËÈó¾ï¤ËÌòΩ¤Á¤Þ¤¹¡£ ¥°¥é¥Õ¤Î¤æ¤é¤®¤ò¸«¤ë¤³¤È¤¬¤Ç¤­¡¢Æ±»þ¤Ë¤É¤Î¾¤ÎÊÑ¿ô¤¬ÊѲ½¤¹¤ë¤«¤ò¸«¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ Ìܻ븡ºº¤Ç¤Ï¡¢¤¢¤Þ¤ê¤Ë¤âÉÑÈˤËÊѲ½¤¹¤ëÃͤäÌÀÇò¤Ê¸¶°ø¤Ê¤·¤Ë¥É¥ê¥Õ¥È¤¹¤ë¤è¤¦¤ÊÆÃÄê¤Î¼ïÎà¤Î´ñ̯¤Ê¹Ôư¤âÌÀ³Î¤Ë¤Ê¤ê¤Þ¤¹¡£ »ä¤¿¤Á¤Ï¥â¥Ë¥¿¡¼¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ò»ÈÍѤ·¤Þ¤¹¤¬¡¢¤½¤ì¤Ë¤Ï¤¤¤¯¤Ä¤«¤ÎÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£

54. ²þÎɤµ¤ì¤¿¥³¥ó¥½¡¼¥ë¥í¥°¤ò»ÈÍѤ·¤Þ¤¹¡£

¥«¥Æ¥´¥ê¤Ë±þ¤¸¤¿½ÐÎϤο§Ê¬¤±¤ò²Äǽ¤Ë¤¹¤ë¥¨¥Ç¥£¥¿³ÈÄ¥¤ò»ÈÍѤ· ¤½¤ì¤é¤Î¥«¥Æ¥´¥ê¤Ë½¾¤Ã¤Æ½ÐÎϤò¥Õ¥£¥ë¥¿¥ê¥ó¥°¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£»ä¤¿¤Á¤Ï Editor Console Pro¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤¹¤¬¡¢¤¤¤¯¤Ä¤«¤¬ÍøÍѲÄǽ¤Ç¤¹

55. Unity¤Î¥Æ¥¹¥È¥Ä¡¼¥ë¤ò»ÈÍѤ·¤Æ¡¢ÆÃ¤Ë¥¢¥ë¥´¥ê¥º¥à¤È¿ô³ØÅª¥³¡¼¥É¤ò¥Æ¥¹¥È¤¹¤ë¡£

¥Á¥å¡¼¥È¥ê¥¢¥ë¤ò»²¾È¤¹¤ë¤« ¤Þ¤¿¤ÏUnit testing at the speed of light with Unity Test Tools.¤ÎÅê¹Æ¡¢¤Þ¤¿Unity Test Tools ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£

56. Unity¤Î¥Æ¥¹¥È¥Ä¡¼¥ë¤ò»ÈÍѤ·¤Æ¡¢¡Ö¥¹¥¯¥é¥Ã¥Á¥Ñ¥Ã¥É¡×¤Î¥Æ¥¹¥È¤ò¼Â¹Ô¤·¤Þ¤¹¡£

Unity¤Î¥Æ¥¹¥È¥Ä¡¼¥ë¤Ï¡¢Àµ¼°¤Ê¥Æ¥¹¥È¤Ë¤ÏŬ¤·¤Æ¤¤¤Þ¤»¤ó¡£ ¥·¡¼¥ó¤ò¼Â¹Ô¤¹¤ë¤³¤È¤Ê¤¯¥¨¥Ç¥£¥¿¤Ç¼Â¹Ô¤Ç¤­¤ëÊØÍø¤Ê¥¹¥¯¥é¥Ã¥Á¥Ñ¥Ã¥É¥Æ¥¹¥È¤Ë¤âÍøÍѤǤ­¤Þ¤¹¡£

57.¥¹¥¯¥ê¡¼¥ó¥·¥ç¥Ã¥È¤ò»£±Æ¤¹¤ë¤¿¤á¤Î¥·¥ç¡¼¥È¥«¥Ã¥È¤ò¼ÂÁõ¤·¤Þ¤¹¡£

¿¤¯¤Î¥Ð¥°¤Ï»ë³ÐŪ¤Ç¤¢¤ê¡¢¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¤ò»£¤ë¤³¤È¤¬¤Ç¤­¤ë¤È¤­¤ËÊó¹ð¤¹¤ëÊý¤¬¤º¤Ã¤È´Êñ¤Ç¤¹¡£ ÍýÁÛŪ¤Ê¥·¥¹¥Æ¥à¤Ç¤Ï¡¢Ï¢Â³¤¹¤ë¥¹¥¯¥ê¡¼¥ó¥·¥ç¥Ã¥È¤¬¾å½ñ¤­¤µ¤ì¤Ê¤¤¤è¤¦¤Ë¡¢PlayerPrefs¤Ë¥«¥¦¥ó¥¿¤òÊÝ»ý¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¥¹¥¯¥ê¡¼¥ó¥·¥ç¥Ã¥È¤Ï¡¢¥×¥í¥¸¥§¥¯¥È¥Õ¥©¥ë¥À³°¤ËÊݸ¤·¤Æ¡¢¸í¤Ã¤Æ¥ê¥Ý¥¸¥È¥ê¤Ë¥³¥ß¥Ã¥È¤¹¤ë¤³¤È¤òÈò¤±¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£

58. ½ÅÍפÊÊÑ¿ô¤Î¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¤ò°õºþ¤¹¤ë¤¿¤á¤Î¥·¥ç¡¼¥È¥«¥Ã¥È¤ò¼ÂÁõ¤·¤Þ¤¹¡£ 

¤³¤ì¤Ë¤è¤ê¡¢¥²¡¼¥àÃæ¤Ë²¿¤«Í½´ü¤»¤Ì»öÂÖ¤¬È¯À¸¤·¤¿¤È¤­¤Ë¡¢¾ðÊó¤ò´Êñ¤Ëµ­Ï¿¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤â¤Á¤í¤ó¡¢¤É¤ÎÊÑ¿ô¤¬¥²¡¼¥à¤Ë°Í¸¤·¤Æ¤¤¤ë¤«¡£ ¤¢¤Ê¤¿¤Ï¥²¡¼¥à¤ÇȯÀ¸¤¹¤ëŵ·¿Åª¤Ê¥Ð¥°¤ËƳ¤«¤ì¤Þ¤¹¡£ Îã¤Ï¡¢¥×¥ì¥¤¥ä¡¼¤ÈŨ¤Î°ÌÃÖ¡¢¤Þ¤¿¤ÏAI¥¢¥¯¥¿¡¼¡Ê¡Ö¤½¤ì¤òÄɤ¤¤«¤±¤è¤¦¤È¤·¤Æ¤¤¤ë¥Ñ¥¹¡×¤Ê¤É¤Î¡Ö»×¹Í¾õÂ֡סˤǤ¹¡£

59.´Êñ¤Ë¥Æ¥¹¥È¤µ¤»¤ë¤¿¤á¤Î¥Ç¥Ð¥Ã¥°¥ª¥×¥·¥ç¥ó¤ò¼ÂÁõ¤·¤Þ¤¹¡£ 

¤¤¤¯¤Ä¤«¤ÎÎã¡§

  • ¤¹¤Ù¤Æ¤Î¹àÌܤΥí¥Ã¥¯¤ò²ò½ü¤·¤Þ¤¹¡£
  • Ũ¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£
  • GUI¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£
  • ¥×¥ì¥¤¥ä¡¼¤ò̵Ũ¤Ë¤·¤Þ¤¹¡£
  • ¤¹¤Ù¤Æ¤Î¥²¡¼¥à¥×¥ì¥¤¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£

¸í¤Ã¤Æ¥Ç¥Ð¥Ã¥°¥ª¥×¥·¥ç¥ó¤ò¥³¥ß¥Ã¥È¤·¤Ê¤¤¤è¤¦¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£¥Ç¥Ð¥Ã¥°¥ª¥×¥·¥ç¥ó¤òÊѹ¹¤¹¤ë¤³¤È¤Ç¥Á¡¼¥àÆâ¤Î¾¤Î³«È¯¼Ô¤òº®Í𤵤»¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£

60. ¥Ç¥Ð¥Ã¥°¤Î¥·¥ç¡¼¥È¥«¥Ã¥È¥­¡¼¤ÎÄê¿ô¤òÄêµÁ¤· °ì¤«½ê¤ËÊݸ¤·¤Þ¤¹¡£

¥Ç¥Ð¥Ã¥°¡¦¥­¡¼¤Ï¡¢¥²¡¼¥àÆþÎϤλĤê¤ÎÉôʬ¤ÈƱ¤¸¤è¤¦¤Ëñ°ì¤Î¾ì½ê¤ÇÄ̾ï¡Ê¤Þ¤¿¤ÏÅÔ¹ç¤è¤¯¡Ë½èÍý¤µ¤ì¤Þ¤»¤ó¡£ ¥·¥ç¡¼¥È¥«¥Ã¥È¥­¡¼¤Î¾×ÆÍ¤ò²óÈò¤¹¤ë¤Ë¤Ï¡¢Ãæ¿õ¤Î¾ì½ê¤ËÄê¿ô¤òÄêµÁ¤·¤Þ¤¹¡£ Âå¤ï¤ê¤Ë¡¢¥Ç¥Ð¥Ã¥°µ¡Ç½¤Ç¤¢¤ë¤«¤É¤¦¤«¤Ë¤«¤«¤ï¤é¤º¡¢¤¹¤Ù¤Æ¤Î¥­¡¼¤ò1¤«½ê¤Ç½èÍý¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ ¡Ê·çÅÀ¤Ï¡¢¤³¤Î¥¯¥é¥¹¤¬¤³¤ì¤Î¤¿¤á¤À¤±¤Ë¥ª¥Ö¥¸¥§¥¯¥È¤Ø¤Î;ʬ¤Ê»²¾È¤òɬÍפȤ¹¤ë¤«¤â¤·¤ì¤Ê¤¤¤È¤¤¤¦¤³¤È¤Ç¤¹¡Ë¡£

61.¥×¥í¥·¡¼¥¸¥ã¥ë¤Ê¥á¥Ã¥·¥åÀ¸À®¤ò¹Ô¤¦ºÝ¤ËĺÅÀ¤Ë¾®¤µ¤Êµå¤òÉÁ²è¤¹¤ë¤«À¸À®¤·¤Þ¤¹¡£

¥á¥Ã¥·¥å¤òɽ¼¨¤¹¤ë¤¿¤á¤Ë»°³Ñ·Á¤äUV¤ò»È¤¤»Ï¤á¤ëÁ°¤Ë¡¢ÄºÅÀ¤¬Àµ¤·¤¤°ÌÃ֤ˤ¢¤ë¤³¤È¤ò³Îǧ¤· ¥á¥Ã¥·¥å¤¬Àµ¤·¤¤¥µ¥¤¥º¤Ç¤¢¤ë¤³¤È¤ò³Îǧ¤¹¤ë¤Î¤ËÌòΩ¤Á¤Þ¤¹¡£

 


 

¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹

62. ¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¾å¤ÎÍýͳ¤Ë¤ª¤±¤ë¥Ç¥¶¥¤¥ó¤ÈÀ߷פ˴ؤ¹¤ë°ìÈÌŪ¤Ê¥¢¥É¥Ð¥¤¥¹¤Ë¤ÏºÙ¿´¤ÎÃí°Õ¤òʧ¤Ã¤Æ¤¯¤À¤µ¤¤¡£

  • ¤³¤Î¤è¤¦¤Ê¥¢¥É¥Ð¥¤¥¹¤Ï¤·¤Ð¤·¤Ðºî¤êÏä˴ð¤Å¤¤¤Æ¤ª¤ê¡¢¥Æ¥¹¥È¤Ë¤è¤Ã¤ÆÎ¢ÂǤÁ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
  • »þ¤Ë¤Ï¥¢¥É¥Ð¥¤¥¹¤Ï¡¢¥Æ¥¹¥È¤Ë΢ÂǤÁ¤µ¤ì¤Æ¤¤¤ë¤¬¡¢¥Æ¥¹¥È¼«ÂΤ¬ÇËþ¤·¤Æ¤¤¤Þ¤¹¡£
  • »þ¤Ë¤Ï¥¢¥É¥Ð¥¤¥¹¤ÏÀµ¤·¤¤¥Æ¥¹¥È¤Ë΢ÂǤÁ¤µ¤ì¤Æ¤¤¤ë¤¬¡¢¤½¤ì¤é¤ÏÈ󸽼ÂŪ¤Þ¤¿¤Ï°Û¤Ê¤ë¾õ¶·¤Ë¤¢¤ê¤Þ¤¹¡£¡ÊÎ㤨¤Ð¡¢¤½¤ì¤ò»ÈÍѤ·¤ÆÇÛÎó¤Ï¥¸¥§¥Í¥ê¥Ã¥¯¥ê¥¹¥È¤è¤ê¤â¹â®¤Ç¤¢¤ë¤«¤ò¼¨¤¹¤Î¤Ï´Êñ¤Ç¤¹¡£¤·¤«¤· ¼ÂºÝ¤Î¥²¡¼¥à¤Îʸ̮¤Ç¤³¤Îº¹¤Ï¤Û¤È¤ó¤É¾ï¤Ë̵»ë¤Ç¤­¤ëÄøÅ٤Ǥ¹¡£Æ±Íͤˡ¢¥Æ¥¹¥È¤Ï¤¢¤Ê¤¿¤Î¥¿¡¼¥²¥Ã¥È¥Ç¥Ð¥¤¥¹¤È¤Ï°Û¤Ê¤ë¥Ï¡¼¥É¥¦¥§¥¢¤ËŬÍѤµ¤ì¤Æ¤¤¤¿¾ì¹ç¡¢¤½¤Î·ë²Ì¤Ï¤¢¤Ê¤¿¤Ë¤È¤Ã¤Æ¤Ï°ÕÌ£¤¬¤¢¤ê¤Þ¤»¤ó¡£¡Ë
  • »þ¤Ë¤Ï¥¢¥É¥Ð¥¤¥¹¤Ï·üÌ¿¤Ç¤¹¤¬¡¢¸Å¤¯¤Ê¤Ã¤Æ¤¤¤ë»ö¤¬¤¢¤ê¤Þ¤¹¡£
  • »þ¤Ë¤Ï¡¢¥¢¥É¥Ð¥¤¥¹¤¬Å¬ÍѤµ¤ì¤Þ¤¹¤¬¡¢¥È¥ì¡¼¥É¥ª¥Õ¤¬Â¸ºß¤·¤Þ¤¹¡£¥¹¥í¡¼¥²¡¼¥à¤½¤ÎÁ¥¤Ï»þ¡¹¤Ê¤¤¹â®¤Î¤â¤Î¤è¤ê¤âÍ¥¤ì¤Æ¤¤¤Þ¤¹¡£¤½¤·¤Æ¡¢ÉÑÈˤ˺ÇŬ²½¤µ¤ì¤¿¥²¡¼¥à¤Ï¥·¥Ã¥Ô¥ó¥°(ȯÁ÷)¤òÃ٤餻¤ëÌñ²ð¤Ê¤Ê¥³¡¼¥É¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë²ÄǽÀ­¤¬¹â¤¯¤Ê¤ê¤Þ¤¹¡£

¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤Î¥¢¥É¥Ð¥¤¥¹¤Ï¡¢°Ê²¼¤Ç³µÀ⤹¤ë¥×¥í¥»¥¹¤ò»ÈÍѤ·¤Æ¡¢¼ÂºÝ¤ÎÌäÂê¤Î¸¶°ø¤ò¿×®¤ËÄÉÀפ¹¤ë¤Î¤ËÌòΩ¤Ä¤³¤È¤ò³Ð¤¨¤Æ¤ª¤¯¤ÈÊØÍø¤Ç¤¹¡£

63. ½é´ü¤ÎÃʳ¬¤«¤é¥¿¡¼¥²¥Ã¥È¥Ç¥Ð¥¤¥¹¾å¤ÇÄê´üŪ¤Ë¥Æ¥¹¥È¤ò¤·¤Þ¤¹¡£

¥Ç¥Ð¥¤¥¹¤Ï¡¢Èó¾ï¤Ë°Û¤Ê¤ë¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹ÆÃÀ­¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¤¬ ¤½¤ì¤ò¶Ã¤«¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£Áá´ü¤«¤éÌäÂê¤Ë¤Ä¤¤¤ÆÃΤäƤ¤¤ë¤³¤È¤Ç¤è¤ê¸ú²ÌŪ¤ËÂн褹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£

64.¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤ÎÌäÂê¤Î¸¶°ø¤òÄÉÀפ¹¤ë¤¿¤á¤Ë¸ú²ÌŪ¤Ë¥×¥í¥Õ¥¡¥¤¥é¤ò»ÈÍѤ¹¤ëÊýË¡¤ò³Ø¤Ó¤Þ¤¹¡£

65. ɬÍפ˱þ¤¸¤Æ¤è¤êÀµ³Î¤Ê¥×¥í¥Õ¥¡¥¤¥ê¥ó¥°¤ò¹Ô¤¦¤Ë¤Ï¡¢¥«¥¹¥¿¥à¥×¥í¥Õ¥¡¥¤¥é¤ò»ÈÍѤ·¤Þ¤¹¡£

Unity¤Î¥×¥í¥Õ¥¡¥¤¥é¤Ç¤Ï¡¢²¿¤¬µ¯¤­¤Æ¤¤¤ë¤Î¤«¤òÌÀ³Î¤ËÇİ®¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£¥×¥í¥Õ¥¡¥¤¥ë¥Õ¥ì¡¼¥à¤¬ÉÔ­¤·¤¿¤ê¡¢¥×¥í¥Õ¥¡¥¤¥ê¥ó¥°¤¬¿¼¤¹¤®¤ë¤È¥Æ¥¹¥È¤¬°ÕÌ£¤ò¤Ê¤µ¤Ê¤¤¤Û¤É¥²¡¼¥à¤¬ÃÙ¤¯¤Ê¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£ »ä¤¿¤Á¤Ï¤³¤ì¤ËÆÈ¼«¤Î¥«¥¹¥¿¥à¥×¥í¥Õ¥¡¥¤¥é¡¼¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤¹¤¬¡¢¥¢¥»¥Ã¥È¥¹¥È¥¢¤ÇÂåÂØ°Æ¤ò¸«¤Ä¤±¤ë¤³¤È¤¬¤Ç¤­¤ë¤Ï¤º¤Ç¤¹¡£

66. ¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¸þ¾å¤Î±Æ¶Á¤ò¬Äꤹ¤ë

¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤ò¸þ¾å¤µ¤»¤ë¤¿¤á¤ËÊѹ¹¤ò²Ã¤¨¤ë¤È¤­¤Ï¡¢¤½¤ÎÊѹ¹¤¬¼ÂºÝ¤Ë²þÁ±¤µ¤ì¤Æ¤¤¤ë¤³¤È¤ò³Îǧ¤¹¤ë¤¿¤á¤Ë¬Äꤷ¤Þ¤¹¡£ Êѹ¹¤¬Â¬Äê²Äǽ¤Þ¤¿¤Ï²á¼º¤Ç¤Ê¤¤¾ì¹ç¤Ï¡¢¸µ¤ËÌᤷ¤Þ¤¹¡£

67. ¤è¤êÎɤ¤¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤Î¤¿¤á¤ËÆÉ¤ß¤Ë¤¯¤¤¥³¡¼¥É¤ò½ñ¤«¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£

¼¡¤Î¤¤¤º¤ì¤«¤Î¾õ¶·¤¬¤Ê¤¤¸Â¤ê¡§

  • ¥×¥í¥Õ¥¡¥¤¥é¤ò»ÈÍѤ·¤ÆÌäÂê¤òÊú¤¨¤Æ¤¤¤ë¥½¡¼¥¹¤òÆÃÄꤷÊѹ¹¸å¤Î¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤ò¬Äꤷ¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤Î¸þ¾å¤¬ÊݼéÀ­¤Î»¼º¤ËÈæ¤Ù¤Æ½½Ê¬¤Ë¹â¤¤¾ì¹ç¡£

OR

  • ¤¢¤Ê¤¿¤¬¼«Ê¬¤Ï²¿¤ò¤·¤Æ¤¤¤ë¤«²ò¤Ã¤Æ¤¤¤ë¾ì¹ç¡£

 


 

´ðËܥ͡¼¥ß¥ó¥°¤ª¤è¤Ó¥Ç¥£¥ì¥¯¥È¥ê¹½Â¤

68. ¥Í¡¼¥ß¥ó¥°¤Ï¡¢´·Îã¤ä¥Õ¥©¥ë¥À¹½Â¤¤Ë½¾¤¤¤Þ¤¹

°ì´Ó¤·¤¿Ì¿Ì¾¤ª¤è¤Ó¥Õ¥©¥ë¥À¹½Â¤¤Ï¡¢Âоݤò¸«¤Ä¤±¤ä¤¹¤¯¡¢Âоݤ¬²¿¤Ç¤¢¤ë¤«¤òÇİ®¤·¤ä¤¹¤¯¤Ê¤ê¤Þ¤¹¡£

¤ª¤½¤é¤¯¡¢ÆÈ¼«¤Î̿̾µ¬Â§¤È¥Õ¥©¥ë¥À¹½Â¤¤òºîÀ®¤·¤¿¤¤¤È»×¤¦¤Ç¤·¤ç¤¦¡£ ¤³¤³¤Ç¤Ï°ìÎã¤ò¼¨¤·¤Þ¤¹¡£

̿̾¤Î°ìÈ̸¶Â§

  1. ¤½¤ì¤¬²¿¤Ç¤¢¤ë¤«¤ò¼¨¤¹¤è¤¦¤Ê¸Æ¤ÓÊý¤ò¤·¤Þ¤¹¡£Ä»¤ÏÄ»¤È¸Æ¤Ð¤ì¤ë¤Ù¤­¤Ç¤¹¡£
  2. ȯ²»¤·¤¿¤êµ­²±¤·¤¿¤ê¤Ç¤­¤ë̾Á°¤òÁªÂò¤·¤Þ¤¹¡£ ¤¢¤Ê¤¿¤¬¥Þ¥ä¤Î¥²¡¼¥à¤òÀ½ºî¤·¤¿¤È¤·¤Æ ¥ì¥Ù¥ë¤òQuetzalcoatisReturn(¥±¥Ä¥¢¥ë¥³¥¢¥È¥ë¤ÎÉü³è)¤È̾ÉÕ¤±¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡£
  3. °ì´Ó¤·¤Æ¡£¤¢¤Ê¤¿¤¬Ì¾Á°¤òÁªÂò¤¹¤ë¤È¡¢¤½¤ì¤Ë¸Ç¼¹¡£ÊÌ¤ÎÆâ¤Î1¤Ä¤Î¾ì½ê¤ÈbuttonContainer¤Ç²¿¤«buttonHolder¤ò¸Æ¤Ó½Ð¤µ¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£
  4. ComplicatedVerySpecificObject¡§¤³¤Î¤è¤¦¤Ë¡¢¥Ñ¥¹¥«¥ë¥±¡¼¥¹¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£¥¹¥Ú¡¼¥¹¡¢¥¢¥ó¥À¡¼¥¹¥³¥¢¡¢¤Þ¤¿¤Ï¥Ï¥¤¥Õ¥ó¤ò»ÈÍѤ·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤ ¡ÊÎ㳰Ū¤ËƱ¤¸¤â¤Î¤Î°Û¤Ê¤ëÀ­¼Á¤ò̿̾¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡Ë¡£
  5. ¿ÊĽ¾õ¶·¡ÊWIP¡¢ final¡Ë¤ò¼¨¤¹¤¿¤á¤Ë¡¢¥Ð¡¼¥¸¥ç¥óÈֹ桢¤Þ¤¿¤Ïñ¸ì¤ò»ÈÍѤ·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£
  6. ά¸ì¤Ï»ÈÍѤ·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡§DVamp@ W¤ÏDarkVampire@Walk¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
  7. À߷ץɥ­¥å¥á¥ó¥ÈÆâ¤ÎÍѸì¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤:¥É¥­¥å¥á¥ó¥È¤¬die¤Î¥¢¥Ë¥á¡¼¥·¥ç¥ó¤ò¸Æ¤Ó½Ð¤·¤¿¾ì¹ç¡¢DarkVampire@Death¤Ç¤Ï¤Ê¤¯DarkVampire@Die¤È¤·¤Þ¤¹¡£
  8. ºÇ¤â¶ñÂÎŪ¤Êµ­½Ò»Ò¤Ï¡¢VampireDark¤Ç¤Ï¤Ê¤¯DarkVampire¤Î¤Þ¤Þ¤Ë¤·¤Æ¤ª¤­¤Þ¤¹¡£ PauseButton¤Ç¤Ï¤Ê¤¯¡¢ButtonPaused¤Ç¤¹¡£ ¤¿¤È¤¨¤Ð¡¢¤¹¤Ù¤Æ¤Î¥Ü¥¿¥ó¤¬¡ÖButton¡×¤È¤¤¤¦Ã±¸ì¤Ç»Ï¤Þ¤é¤Ê¤¤¾ì¹ç¡¢¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤Ç°ì»þÄä»ß¥Ü¥¿¥ó¤ò¸«¤Ä¤±¤ëÊý¤¬´Êñ¤Ç¤¹¡£ [¿¤¯¤Î¿Í¤¬¤½¤ì¤ò¹¥¤à·¹¸þ¤¬¤¢¤ê¤Þ¤¹¡£¤Ê¤¼¤Ê¤é¥°¥ë¡¼¥×ʬ¤±¤ò»ë³ÐŪ¤Ë¤è¤êÌÀÇò¤Ë¤¹¤ë¤«¤é¤Ç¤¹¡£ ̾Á°¤Ï¥°¥ë¡¼¥×²½¤¹¤ë¤¿¤á¤Î¤â¤Î¤Ç¤Ï¤Ê¤¯¡¢¥Õ¥©¥ë¥À¤â¤¢¤ê¤Þ¤¹¡£ ̾Á°¤ÏƱ¤¸¥¿¥¤¥×¤Î¥ª¥Ö¥¸¥§¥¯¥È¤ò¶èÊ̤·¤Æ¡¢¿®ÍêÀ­¤¬¹â¤¯¹â®¤ËÇÛÃÖ¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
  9. ¤¤¤¯¤Ä¤«¤Î̾Á°¤Ï¡¢ÇÛÎó¤ò·ÁÀ®¤·¤Þ¤¹¡£PathNode0¡¢PathNode1¡¢Î㤨¤Ð¡¢¤³¤ì¤é¤Î̾Á°¤Î¿ô»ú¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£¾ï¤Ë0¤Ç¤Ï¤Ê¤¯1¤«¤é³«»Ï¤·¤Þ¤¹¡£
  10. ¥·¡¼¥±¥ó¥¹¤ò·ÁÀ®¤·¤Ê¤¤¤â¤Î¤Î¤¿¤á¤Ë¿ô»ú¤ò»ÈÍѤ·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£Î㤨¤Ð¡¢Bird0¡¢Bird1¡¢Bird2¤Ï¥Õ¥é¥ß¥ó¥´¡¢¥¤¡¼¥°¥ë¡¢¥Ä¥Ð¥á¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
  11. Æó½Å²¼Àþ__Player_Backup¤È¥×¥ì¥Õ¥£¥Ã¥¯¥¹°ì»þ¥ª¥Ö¥¸¥§¥¯¥È¡£

 

Ʊ¤¸¤â¤Î¤ò°Û¤Ê¤ëÀ­¼Á(ÆÃħ)¤«¤é̿̾

´ðËܤÎ̾Á°¤ò¥¢¥ó¥À¡¼¥Ð¡¼¤Ç¶èÀڤäơÖÀ­¼Á(ÆÃħ)¡×¤òµ­½Ò¤·¤Þ¤¹¡£

Î㤨¤Ð¡§

  • GUI¥Ü¥¿¥ó¥¹¥Æ¡¼¥È  EnterButton_Active¡¢EnterButton_Inactive
  • ¥Æ¥¯¥¹¥Á¥ã  DarkVampire_Diffuse¡¢DarkVampire_Normalmap
  • ¥¹¥«¥¤  JungleSky_Top¡¢JungleSky_North
  • LOD¥°¥ë¡¼¥×  DarkVampire_LOD0¡¢DarkVampire_LOD1

Î㤨¤ÐRock_Small¡¢Rock_Large¤ÏSmallRock¡¢LargeRock¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¡¢¥¢¥¤¥Æ¥à¤Î°Û¤Ê¤ë¥¿¥¤¥×¤ò¶èÊ̤¹¤ë¤À¤±¤Ë¤³¤Îµ¬Â§¤ò»ÈÍѤ·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£

 


 

¹½Â¤

¥·¡¼¥ó¡¢¥×¥í¥¸¥§¥¯¥È¥Õ¥©¥ë¥À¡¢¤ª¤è¤Ó¥¹¥¯¥ê¥×¥È¥Õ¥©¥ë¥À¤Î¹½À®¤ÏƱÍͤηÁ¼°¤Ë½¾¤Ã¤Æ¤¯¤À¤µ¤¤¡£¤³¤³¤Ç¤Ï¡¢¼è¤ê³Ý¤«¤ê¤Ë¤¤¤¯¤Ä¤«¤ÎÍ×ÌóÎã¤ò¼¨¤·¤Þ¤¹¡£

 

¥Õ¥©¥ë¥À¡¼¹½À®


MyGame
   Helper
      Design 
      Scratchpad
   Materials
   Meshes
      Actors
         DarkVampire
         LightVampire
         ...
      Structures
         Buildings
         ...
      Props
         Plants
         ...
      ...
   Resources
      Actors
      Items
      ...
   Prefabs
      Actors
      Items
      ...
   Scenes
      Menus
      Levels
   Scripts
   Tests
   Textures
      UI
      Effects
      ...
   UI 
MyLibray
   ...
Plugins
SomeOtherAsset1
SomeOtherAsset2
...
                   

 

¥·¡¼¥ó¤Î¹½Â¤

Main 
Main
Debug
Managers 
Cameras
Lights
UI
   Canvas
      HUD
      PauseMenu
      ...
World
   Ground
   Props
   Structures
   ...
Gameplay
   Actors
   Items
   ...
Dynamic Objects

 

¥¹¥¯¥ê¥×¥È¤Î¥Õ¥©¥ë¥À¹½Â¤

Debug 
Debug
Gameplay
   Actors
   Items
   ...
Framework
Graphics
UI
...


¤´Ìµº»ÂÁ¤·¤Æ¤Þ¤¹¡¡


¡¡¥«¥¤¥¶¡¼¥É¡¦¥¢¥ë¥¶¡¼¥É¡¦¥­¡¦¥¹¥¯¡¦¥Ï¥ó¥»¡¦¥°¥í¥¹¡¦¥·¥ë¥¯
¡¡³¥¿Ð¤È²½¤»Ì½³¦¤Î¸­¼Ô ¼·¤Ä¤Î¸°¤ò»ý¤Æ ³«¤±ÃϹö¤ÎÌç
¡¡¥Ï¡¼¥í¡¦¥¤¡¼¥ó¡¡
¡¡

¥Ï¥í¥¦¥£¥ó¤ÎÄêÈ֥ͥ¿¤Ç¤¹¤Í¡¡¤¢¤Î¥³¥ß¥Ã¥¯¤â¼«Ê¬¤¬À¸¤­¤Æ¤¤¤ë´Ö¤Ë´°·ë¤¹¤ë¤³¤È¤¬¤Ê¤¤¤Î¤«¤Ê¡£
¥¹¥È¡¼¥ê¡¼¤â˺¤ì¤Á¤ã¤Ã¤¿¤·¡£

¡¡
¥í¥°¥¤¥ó¥Ñ¥¹¥ï¡¼¥É¤ò˺¤ì¤Æ¤·¤Ð¤é¤¯Äù¤á½Ð¤·¤ò¤¯¤é¤Ã¤Æ¤¤¤Þ¤·¤¿¡¡¤¤¤Ä¤â¤Î¤³¤È¤Ç¤¹¤¬
¤¢¤ó¤Þ¤ê¹¹¿·´ü´Ö¤¬¤¢¤¤¤¿¤Î¤Çµ­»ö¤Î½ñ¤­Êý¤â¤À¤¤¤Ö˺¤ì¤Æ¤·¤Þ¤Ã¤¿µ¤¤â¤·¤Þ¤¹¡£

¾¯¤·Á°¤Ë¡¢¤¹¤Ã¤´¤¤Ä¹Ê¸µ­»ö¤ò½ñ¤¤¤Æ¥Ö¥í¥°¤ò¹¹¿·¤·¤¿¤é¡¡¡ÖÌ´¤À¤Ã¤¿¡×¤³¤È¤¬¤¢¤Ã¤Æµ¯¤­¤Æ¤«¤é
¸À¤¤¤è¤¦¤Î¤Ê¤¤Ã¦ÎÏ´¶¤Ç¤°¤Ã¤¿¤ê¤·¤¿¤³¤È¤¬¤¢¤ê¤Þ¤·¤¿¤¬¡¡º£²ó¤Î¹¹¿·¤ÏÌ´¤¸¤ã¤Ê¤¤¤è¤Í


ºÇ¶á¤ÏIT´Ø·¸¤Îºî¶È¤¬¼ç¤Ê¤Î¤Ç¤¹¤¬¡¡¤Þ¤¢¤·¤ó¤É¤¤

IT·Ï¤Îºî¶È¤Ï¤Ê¤ó¤È¤¤¤¦¤«¡¡Å¯³Ø¥Æ¡¼¥Þ¤Î¡Ö¥¢¥­¥ì¥¹¤Èµµ¡×¤ß¤¿¤¤

¡Ö¥¢¥­¥ì¥¹¤¬°ìÊâ¿Ê¤à¤È¡¡µµ¤â¾¯¤·¿Ê¤à¤Î¤Ç¥¢¥­¥ì¥¹¤Ïµµ¤òÄɤ¤±Û¤»¤Ê¤¤¡×¡¡¤È¤¤¤¦¥¢¥ì¡¡

¡Ö°ìÊâ´°À®¤Ë¶á¤Å¤¯¤È¡¡»ÅÍͤâ¤Á¤ç¤Ã¤ÈÊѤï¤ë¤Î¤Ç±Êµ×¤Ëºî¶È¤¬½ª¤ï¤é¤Ê¤¤¡×
¡¡¥³¥ì¤¬¸½¼Â¡£

¤Ç¤â¡¡¹¶·â¤ò²óÈò¤¹¤ëǽÎϤò¿È¤Ë¤Ä¤±¤ë¤È°Ê³°¤Ë»þ´Ö¤â¤È¤ì¤ëÎɤ¤¿¦¼ï¤Ê¤Î¤«¤â¤·¤ì¤Ê¤¤¤Ç¤¹¡£
¼«Ê¬¤Ë¤Ï¤Þ¤À¤ï¤«¤é¤Ê¤¤¤Ç¤¹¤¬¡£



¤½¤¦¤¤¤¨¤Ð¡¡¤ª¤ä¤¹¤ßÃæ¥³¥á¥ó¥È¤Î½ñ¤­¹þ¤ß¤¬¤¤¤¯¤Ä¤«¤¢¤ê¤Þ¤·¤¿

¡ÖºÇ¶á¤Ç¤Ï³«È¯¤Ë¿ô½½²¯¤«¤±¤ë¤â¤Î¤Þ¤Ç¤¢¤Ã¤Æ¡×¡¡¤È¤¤¤¦Ê¸¾Ï¤Ë¡¡

¡Ö¤½¤ó¤Ê¤Ë¤«¤«¤ë¤«¥Ð¥«¡×¡ÊË̳¤Æ»¤«¤é¡Ë

¤È¤¤¤¦¥³¥á¥ó¥È¤ò¤¤¤¿¤À¤­¤Þ¤·¤¿¡£

Ë̳¤Æ»¤Ï¹Ô¤Ã¤¿¤³¤È̵¤¤¤«¤é¤ï¤«¤ê¤Þ¤»¤ó¡¡¿Í·ïÈñ¤Ï¥¸¥ã¥¬¥¤¥â¤Çʧ¤Ã¤¿¤ê¤¹¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¤·(¡­¡¦¦Ø¡¦`)

¤È¡¡¾éÃ̤Ϥµ¤Æ¤ª¤­¡¡°ÊÁ°¤Îµ­»ö¤Ç½ñ¤¤¤¿¤³¤È¤¬¤¢¤ê¤Þ¤·¤¿¤¬¡¡³«È¯²ñ¼Ò¤Îµ¬ÌϤˤâ¤è¤ê¤Þ¤¹¤±¤É

ǯ¼ý¡Ü¡Ê¸÷Ç®Èñ¡£´ÉÍýÈñ¡£³«È¯µ¡ºà¤Î¥³¥¹¥È¡£¤½¤Î¾¡¡¡á¡¡¤Û¤Üǯ¼ý¡Ë
¡ÜÀëÅÁÈñÍÑ¡¡¡Ü³°Éô°ÑÂ÷¡ÊÀ¼Í¥¤µ¤ó¡¢¥·¥Ê¥ê¥ª¡¢ºî¶Ê¡¢¥Ç¥¶¥¤¥ó¡¢¥×¥í¥°¥é¥à¡Ë¤¶¤Ã¤¯¤ê¤³¤Î¤°¤é¤¤¤Ç
¤É¤³¤Þ¤Ç¤ò³«È¯Èñ¤È¤·¤Æ´Þ¤á¤ë¤«¤Ï²ñ¼Ò¤Ë¤è¤ê°ã¤¤¤Þ¤¹¡¡¥²¡¼¥à¥¨¥ó¥¸¥ó¤Î³«È¯Èñ¤ò·×¾å¤¹¤ë¾ì¹ç¤â¤¢¤ë¤Î¤Ç
¤½¤¦¤¤¤¦¤È¤³¤í¤ÏÈó¾ï¤Ë¤ª¹â¤¯¤Ê¤ë¤È»×¤¤¤Þ¤¹¡£
¤¤¤Þ¤É¤­¤Ï¥ê¥½¡¼¥¹ºîÀ®¤¬ºÇ¤â½Å¤¿¤¤ºî¶È¤Ê¤Î¤Ç¥Ç¥¶¥¤¥ó¤À¤±¤Ç¤â100¿Í¡¢200¿Í¤òư¤«¤·¤¿¤é¤É¤ÎÄøÅ٤Υ³¥¹¥È¤Ë
¤Ê¤ë¤«ÁÛÁü¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£

¤Á¤Ê¤ß¤Ë¡¡¤¦¤Á¤Î¥µ¥¤¥È¤ÎIP¥Ö¥í¥Ã¥¯¤Ï
¡Öµ­»ö¤È´Ø·¸¤Î¤Ê¤¤Àú¤ê¥³¥á¥ó¥È¡×¤ä¡ÖË¿·Ç¼¨ÈĤγºÅö¥¹¥ì¤«¤é¥¸¥ã¥ó¥×¤·¤Æ¤­¤¿¡×
¾ì¹ç¤Ëȯư¤¹¤ë¤è¤¦¤Êµ¤¤¬¤·¤Þ¤¹¡£º£²ó¤Î¤Ï¥»¡¼¥Õ

´Ø·¸¤Ê¤¤¤Î¤Ë¥Ö¥í¥Ã¥¯¤µ¤ì¤Æ¤·¤Þ¤Ã¤¿¤è¤È¤¤¤¦¿Í¤Ï¡¡VPN¤ä¤é¥×¥í¥­¥·¤Ç±ª²ó¤¹¤ì¤Ð¿ʬÂç¾æÉ×
¤È¤³¤³¤Ë½ñ¤¤¤Æ¤â¡¡¥Ö¥í¥Ã¥¯¤µ¤ì¤Æ¤¿¤é¸«¤ì¤Ê¤¤¤Î¤«


¤È¤¤¤¦¤³¤È¤Ç¡¡¤¤¤í¤¤¤í½àÈ÷¤â¤¢¤ë¤Î¤Ç¡¡¤·¤Ð¤é¤¯µÙ¤ó¤Ç¤«¤é¤Þ¤¿¹¹¿·¤·¤Þ¤¹¡£

¤½¤ì¤Ç¤Ï

 



 




¡Ö »ä¤ÎÉô²°¤ËÇö¤¤Ëܤʤɤ¢¤ë¤¬ º£¤ÏÏä·¤¿¤¯¤Ê¤¤ ¡×



 



 






¤¸¤ç¤·¤é¤¯¡¡»þ¤½¤Ð




º£Ç¯¤â ǯ¤Þ¤¿¤®¤Ï ¡Ø¤¸¤ç¤·¤é¤¯ ¥É¥é¥Þcd¡Ù ¤òʹ¤­¤Ê¤¬¤é²á¤´¤·¤Æ¤Þ¤¤¤ê¤Þ¤·¤ç¤¦
Âç³¢Æü¤é¤·¤¯ ±éÌÜ¤Ï ¡Ø¤È¤­¤½¤Ð¡Ù¤ò¥Á¥ç¥¤¥¹¤·¤Æ¤ß¤Þ¤¹¡£ ¥É¥é¥ÞCDÈǤΥޥ꡼¤µ¤ó CV¡§°¤À¡²ÂÆà¤µ¤ó¤Ç¤¹

¤¸¤ç¤·¤é¤¯Æ°²è Á°²ó¤¤¤Ä¤À¤Ã¤±¡©
¤µ¤¤¤­¤óÀµ·î¤Ë¡ØÏ¾°¤¬£²¡Ê¥Ä¡¼¡Ë¡Ù¤Ã¤ÆÊ¹¤«¤µ¤ì¤Ê¤¯¤Ê¤Ã¤¿


£²Ç¯Á°¤À¤Ã¤¿¤è (¡­¡¦¦Ø¡¦`) ¥Ê¥Ä¥«¥·¥Í¡¼


º£Ç¯µ¤¤Å¤¤¤¿¤³¤È¤Ï ¥Ö¥í¥°¹¹¿·¤ò¥µ¥Ü¤ë¤È½ñ¤­Êý¤ò˺¤ì¤ë
¤Î¤Ç 2016ǯ¤ÏÄê´üŪ¤Ëµ­»ö¤ò½ñ¤¤¤Æ¤¤¤³¤¦¤È»×¤Ã¤¿½ê¸ ¥«¥¿¥¸¥±¥Ê¥¤



dat151230064148.jpg


º£Ç¯¤â£²£¹¤«¤é£³£±Æü¤Þ¤Ç¤Î£³Æü´Ö Åìµþ¥Ó¥Ã¥¯¥µ¥¤¥È¤Ë¤ª¤¤¤Æ¥³¥ß¥Ã¥¯¥Þ¡¼¥±¥Ã¥È£¸£¹¤¬³«ºÅ¤µ¤ì¤Þ¤·¤¿


Îã¤Îɳ ¥Õ¥ß¥Ê¤µ¤Þ Ìë¤Î¥ä¥Ã¥¿¡¼¥Þ¥ó °ì½Ö¤Ç²á¤®µî¤ë¥Ö¡¼¥à


¤ª¤ì¤¿¤Á¤ÏƱ¿Í³¨¤«¤­Ž¥Ž¥Ž¥
»æ¥­¥ìƱÁ³ ¸Ê¤ÎÇö¤¤ËÜ
˨¤¨¤Ä¤­¤ë¤Î¤Ë
¤ï¤º¤«¿ôÉÃŽ¥Ž¥Ž¥

Ū¤Ê



À¸³è¤«¤«¤Ã¤Æ¤ë¿Í¤â¤¤¤ë¤«¤é ³Î¼Â¤ËÇä¤ì¤ë¥Í¥¿¤ò¥Á¥ç¥¤¥¹¤·¤Ê¤¤¤ÈÂçÊѤʤ³¤È¤Ë¤Ê¤Ã¤Æ¤¤¤·¤Þ¤¤¤Þ¤¹

±þÊçÄù¤áÀڤ꤬ȾǯÁ°¤À¤«¤é ȾǯÀè¤Î¥Ö¡¼¥à¤òÆÉ¤ßÀڤ뤹¤´¤¤Ó̳ФÀ¤è¤Í

¤Á¤Ê¤ß¤Ë¤É¤¦¤·¤Æ¤â¥Í¥¿¤¬¤Ê¤¯¤Æº¤¤Ã¤¿¤È¤­¤Ï¡É¥É¥é¥¯¥¨¡É¤ò¥Í¥¿¤Ë¤¹¤ë¤ó¤À¤È¤«Ê¹¤­¤Þ¤·¤¿

¥É¥é¥¯¥¨¤Î¥Õ¥¡¥ó¤ÏǯÎðÁؤ¬¹â¤¯¤Æ²û¤Ë;͵¤¬¤¢¤ë¤Î¤Ç¥É¥é¥¯¥¨¥Í¥¿¤Ç¤¢¤ì¤Ð

¼ê¤Ë¤È¤Ã¤Æ¤¯¤ì¤ë¤·Ê£¿ôÇ㤤¤·¤Æ¤¯¤ì¤ë¤Î¤Ç°ÂÄê³ô¤Ê¤ó¤À¤½¤¦¤Ç¤¹¡£

¤¹¤´¤¯Çä¾å¤²¤¬¤¢¤ë¤ï¤±¤Ç¤Ï¤Ê¤¤¤±¤É¼¡¤Î¥³¥ß¥±¤Þ¤ÇÀ¸³è¤Ç¤­¤ë¤°¤é¤¤¤ÎÌÙ¤±¤¬´üÂԤǤ­¤ëÅ´Èĥͥ¿¤À¤È¤«




¤½¤¦¤¤¤¨¤ÐƱ¿Í»ï¤ÏȯÇ䤵¤ì¤ë¤È¨ÆüËÝÌõ¤µ¤ì¤Æ¥¢¥Ã¥×¥í¡¼¥É¤µ¤ì¤Æ¤·¤Þ¤¦¤Î¤Ç

¤¤¤Á¤Ï¤ä¤¯ËÝÌõÈǤòÆÉ¤à¤¿¤á¤Ë¥í¥·¥¢¸ì¤äÃæ¹ñ¸ì¤ò¥Þ¥¹¥¿¡¼¤¹¤ë¿Í¤¬¤¤¤ë¤È¤« Á°¤Ë¤É¤³¤«¤Ç¸«¤¿¤è

º£¤ÏÃΤé¤Ê¤¤¤±¤É

ÅØÎϤÎÊý¸þ¤¬¤è¤¯¤ï¤«¤é¤Ê¤¤




¥³¥ß¥±¤Î²Ú¤Ï Ʊ¿Í»ï &¤¿¤Ö¤óʪÈΤȤ« ¡Ê ¤Æ¤­¤È¡¼¤À¤Ê¤ª¤¤¡Ë

¸¡º÷¤·¤Æ¤ß¤ë¤ÈÊú¤­Ëí¤ÏÁêÊѤï¤é¤º¼ûÍפ¬¹â¤¤¤ß¤¿¤¤

¥ò¥¿¥¯¥¤¥º¥Ó¥å¡¼¥Æ¥£¥Õ¥ë

¡Ö £³¼¡¤ÏËí±Ä¶È¤¬¤¢¤ë¤«¤é£²¼¡ºÇ¹â¡ª ¡×

¤Ã¤Æ¤¤¤¦¤±¤É £²¼¡²Ç¤ÏºîÉʤ¬Çä¤ì¤Æ¤âÇä¤ì¤Ê¤¯¤Æ¤â°ÂÄê¤ÎËí±Ä¶È¤Ç¤¹


no title

¤½¤¦¤¤¤¨¤ÐÊú¤­Ëí¤Îµ­»öÁ°¤Ë½ñ¤¤¤Æ¤¿¤Í
½ª¤ï¤é¤Ê¤¤ ¤¹¤´¤¤ ³¨¥³¥ó¥Æ






¥Í¥Ã¥È³¦·¨¤ÇÏÃÂê¤Î À¼Í¥¸¦µæÆ±¿Í»ï¤È¤«





no titleno titleno titleno titleno title

 


 


 


 


 


 


 



 



¡Ú²èÁü¡ÛÅߥ³¥ß¤ÇȯÇ䤵¤ì¤¿¤³¤ÎƱ¿Í»ïƬ¤ª¤«¤·¤¹¤®¤ë¤À¤í£÷£÷£÷£÷£÷



À¼Í¥¥Ö¡¼¥à¤Ï¤¤¤¤¤±¤ÉÀ¼Í¥¤µ¤ó¤â¤¿¤¤¤Ø¤ó¤À¤è¤Í ÅÅÏäμïÎàÆÃÄꤵ¤ì¤¿¤ê ¥·¥ã¥ó¥×¡¼¤ÎÌÃÊÁ¤òÄ´¤Ù¤¢¤²¤é¤ì¤¿¤ê

¼Ì¿¿¤ÎExif¤òºï½ü¤·¤Æ¤â Éô²°¤Î¼Ì¿¿¤Ë¼Ì¤ê¹þ¤ó¤À¤â¤Î¤ä¤éÁë¤Î·Ê¿§¤«¤é½»½êÆÃÄê¤È¤«

¤½¤ê¤ãÀ¼Í¥¤µ¤ó¤â±öÂбþ¤·¤¿¤¯¤Ê¤ë¤ï

±öÂбþ¤Ï¤·¤ç¤Ã¤Ñ¤¤Âбþ¡Ê¤Ä¤ì¤Ê¤¤Âбþ¡Ë¤È¤¤¤¦°ÕÌ£¤À¤½¤¦¤À¤±¤É


±öÂбþ¤Èʹ¤¤¤Æ

¥Õ¥¡¥ó¡Ö»ä¤ÎÉÔÃí°Õ¤Ç¤¹¡¢±ö¤¬¤Ê¤¯¤Ê¤ê¤Þ¤¹¤¬¼ê¤ËÆþ¤ê¤Þ¤»¤ó¤«¡©¡×
À¼Í¥¤µ¤ó¡Ö±ö¡©±ö¤«¡©¡×

¤ß¤¿¤¤¤Ê¥ª¥¿¥¯Åªµº¤ì¤«¤È»×¤Ã¤¿¤Î¤ÏÈëÌ©¤è

¤¤¤Þ¤É¤­¥Î»Ò¤¬¥Õ¥¡¡¼¥¹¥È¥¬¥ó¥À¥à¤â¤Ê¤¤¤«



no title
¤¢¤ÈÁ°²óC88 ¤Î¤³¤ì¤Ï¤Á¤ç¤Ã¤ÈÍߤ·¤¯¤Ê¤Ã¤¿¤«¤Ê ¤Á¤Ê¤ß¤Ë¥Ñ¥é¥á¡¼¥¿¤Õ¤Ã¤Æ¤¢¤ë¤±¤É ¤³¤ì¥Ç¥å¥¨¥ë¤Ç¤­¤ë¤Î¡©




Ʊ¿Í¥²¡¼¥à¡¡£ã89

Ʊ¿Í¥½¥Õ¥È¤ò˺¤ì¤Æ¤¤¤Þ¤·¤¿ ¤¬¤ó¤Ð¤Ã¤Æ¤ë¤Ê¡¼
¹¥¤­¤Ê¥â¥Î¤¬ºî¤ì¤ë¹¬¤»¡Ê½Å¤¤¸ÀÍÕ¡Ë






no title

¤Á¤Ê¤ß¤Ëº£Ç¯¤Î¥³¥¹¥×¥ì°ìÅù¾Þ¤òÁª¤Ö¤Ê¤é¥³¥ì¤Ç¤¹
º¤¤Ã¤¿¤è¤¦¤Êɽ¾ð¤È¤¤¤¤¥·¥Á¥å¥¨¡¼¥·¥ç¥ó¤È¤¤¤¤ºÇ¹â





¤È¤¤¤¦¤³¤È¤Ç

º£Ç¯¤Ï¤Û¤È¤ó¤É¹¹¿·¤Ç¤­¤Ê¤«¤Ã¤¿¤±¤É

£²£°£±£¶Ç¯¤Ï¤Ê¤ó¤È¤«¹¹¿·ÉÑÅÙ¤ò¾å¤²¤Æ¤¤¤­¤¿¤¤¤Î¤Ç ¤è¤í¤·¤¯¤ª¤Í¤¬¤¤¤·¤Þ¤¹





¤½¤¦¤¤¤¨¤Ð Áݽü¤·¤Æ¤¿¤é£µÇ¯Á°¤ËÉÁ¤¤¤¿Ì¡²è¤¬½Ð¤Æ¤­¤¿ ¥¨¥í¤À¤±¤É£÷
¸ÅÀ¤È¤·¤µ¤ó ¤È¤¤¤¦À®Ç¯¾®Àâ¡©´±Ç½¾®Àâ¡© ¤ò½ñ¤«¤ì¤Æ¤¤¤ë¤ªÍ§Ã£¤ÎHP¤Ë¥×¥ì¥¼¥ó¥È¤·¤¿¤â¤Î¤Ç Ʊ¿Í»ï¤Ç¤Ï¤Ê¤¤

¾Ü¤·¤¯¤Ï¤°¤°¤ë





¼ºË¾¤·¤Þ¤·¤¿ ¤Ö¤®¤ç¤¦¤µ¤ó¤Î¥Õ¥¡¥ó¼­¤á¤Þ¤¹




no title


no title



¤ª¤Þ¤±1 º£Ç¯ÏÃÂê¤Ë¤Ê¤Ã¤¿¤â¤Î¤ò̵Íý¤ä¤êư²è¤Ç¿¶¤êÊÖ¤ë





¢£ ¥¹¥¿¡¼¥¦¥©¡¼¥º ¿·ºî¥¨¥Ô¥½¡¼¥É¸ø³«




STAR WARS¡¡»ÒÌç¿¿¿Í

»ÒÌç¿¿¿Í¥«¥Ð¡¼¤Î ¥¹¥¿¡¼¥¦¥©¡¼¥º¤Î¥Æ¡¼¥Þ¡£ ÆüËÜ¥µ¥¤¥É¤¬¾¡¼ê¤Ë²Î»ì¤ò¤Ä¤±¤Æ¥ì¥³¡¼¥É¤òÀ½ºî¤·¤¿¤¿¤á ¥ë¡¼¥«¥¹·ã¤ª¤³¤Ç®¹¶²ó¼ý¤µ¤ì¤Æ¤·¤Þ¤¤¤Þ¤·¤¿ ÀäÈǤΤ¿¤áµ®½Å¤Ê²»¸»¤ß¤¿¤¤¤Ç¤¹¤è¡£ ¥ë¡¼¥«¥¹¥Õ¥£¥ë¥à¤â¥Ç¥£¥º¥Ë¡¼¤Î·³Ìç¤Ë²¼¤Ã¤¿¤³¤È¤Ç¤¹¤·
¥Ç¥£¥º¥Ë¡¼¤Î°Î¤¤¿Í¿·ºî¥¨¥Ô¥½¡¼¥É¤Ç¤Ä¤«¤Ã¤Æ¤ß¤Þ¤»¤ó¤«¡©
±§Ã褫¤é¤Î¥á¥Ã¥»¡¼¥¸¡£¡£¡£ ¶ä²ÏÂçÀï¡£¡£¡£ ¤ò¸«¤Æ¥ë¡¼¥«¥¹¤¬Ê¢¤òÊú¤¨¤Æ¾Ð¤Ã¤Æ¤¿¤½¤ó¤Ê»þÂå



¢£¥¹¥¿¥¸¥ª¥¸¥Ö¥ê»¶³«




É÷¤Îë¤Î¥Ê¥¦¥·¥«

¤ª¤Ê¤¸¤ß°ÂÅÄÀ®Èþ¤ÎÉ÷¤Îë¤Î¥Ê¥¦¥·¥« ¤Á¤Ê¤ß¤ËÅö»þ±Ç²è´Û¤Ç¤³¤Î¶Ê¤Ïή¤ì¤Æ¤¤¤Þ¤»¤ó¡£
¾¾ËÜδ¡õºÙÌîÀ²¿Ã¥¿¥Ã¥°¤Ç³Ú¶Ê¤È¤·¤Æ¤Ï¤è¤í¤·¤«¤Ã¤¿¤Î¤Ç¤¹¤¬¡¢Åö»þ µÜùõ½Ù´ÆÆÄ¤Ï¡Ö¥ô¥©¥ë¥¬¤Î½®±´¡×
¤Î¤è¤¦¤ÊÁñ¸·¤Ê¶Ê¤ò¥¤¥á¡¼¥¸¤·¤Æ¤¤¤Æ
±Ç²è¸ø³«¤ÎľÁ°¤Ë¤³¤Î¶Ê¤òʹ¤­ ¤¢¤ï¤Æ¤ÆÁ´¹ñ¤Î±Ç²è´Û¤Ë¶Êº¹»ß¤á¤ÎÄÌ㤬½Ð¤µ¤ì¤Þ¤·¤¿¡£
¡¦¡¦¤Ç¤¹¤¬°ìÉôÃÏÊý¤Î±Ç²è´Û¤Ïº¹¤·Âؤ¨¤¬´Ö¤Ë¹ç¤ï¤º ±Ç²è¤òÂæÌµ¤·¤Ë¤µ¤ì¤Æ¤·¤Þ¤Ã¤¿¤è¤¦¤Ç¤¹



no title
¤½¤¦¤¤¤¨¤ÐǯËö¤Ë¤Ê¤Ã¤ÆµÞ¤Ë ¥Ê¥¦¥·¥«°¹¤µ¤óÌ¡²è¤¬¤È¤ê¤¢¤²¤é¤ì¤Æ¤¿¤ó¤À¤¬ ¤Ê¤Ë¤«µ¯¤­¤Æ¤¤¤ë¤ó¤À¤í¤¦¤«¡© ÅÄÃæ·½°ìÀèÀ¸¤¬ °ì¼þ²ó¤Ã¤ÆÃíÌܤò½¸¤á¤À¤·¤Æ¤¤¤ë¤Î¤«¡© ¡Ø¤ª¤½¤Þ¤Ä¤µ¤ó¡Ù¤Î¥¨¥ó¥É³¨¤¢¤¿¤ê¤¬¤­¤Ã¤«¤±¤Ê¤ó¤«¤Ê ¤ï¤«¤é¤ó





¢£¾Ð¤Ã¤Æ¤¤¤¤¤È¤â½ªÎ»




¥Í¥Ð¡¼¥¨¥ó¥Ç¥£¥ó¥°¥¹¥È¡¼¥ê¡¼

¥Í¥Ð¡¼¥¨¥ó¥Ç¥£¥ó¥°¥¹¥È¡¼¥ê¡¼BD²½¤òµ­Ç°¤·¤Æ¡Ê¤¤¤Ä¤Î¤Ï¤Ê¤·¤À¤è¡Ë ±©²ì¸¦Æó¥«¥Ð¡¼¤Î ¥Í¥Ð¡¼¥¨¥ó¥Ç¥£¥ó¥°¥¹¥È¡¼¥ê¡¼¤Î¥Æ¡¼¥Þ¤Ç¤¹¡£ ¤¤¤¤¤È¤âÀÄǯÂ⤫¤é¥¿¥ì¥ó¥È¤äÌò¼Ô¤â¤³¤Ê¤· ¡Ø¥¹¥È¥ê¡¼¥È¥Õ¥¡¥¤¥¿¡¼II MOVIE¡Ù¤Î¥±¥óÌò¤ÇÀ¼Í¥¤È¤·¤Æ¤â¹âÀ­Ç½¤Ç¤·¤¿¤¬¡¢¥µ¥®ÍƵ¿¤ÇÂáÊᤵ¤ì¤Æ¤·¤Þ¤Ã¤¿¤Î¤Ïµ­²±¤Ë¤¢¤¿¤é¤·¤¤¤È¤³¤í ¥¦¥£¥­¥Ú¥Ç¥£¥¢¤ÎÂåɽºî¡Ø¥µ¥®»Õ°ìÊ¿¥·¥ê¡¼¥º¡Ù¤ÏÁÀ¤¤²á¤®¤Êµ¤¤â¤·¤Þ¤¹ ¤À¤¬ GJ¡£

¡Ö¢ö¾È¤ì¤¿ÃˤΥ¸¥°¥¶¥°¤ò¤ï¤«¤Ã¤Æ¤¯¤ì~¡×ÆÍ¤Ã¹þ¤ß¤É¤³¤íËþºÜ¤Î²Î»ì¤Ç¤¹¤¬¡¢ ¾¼Ï¤βÎÍØ¶Ê¤Ç¤Ï¡Ö¥¸¥°¥¶¥°µ¤¼è¤Ã¤¿~¡×¡Ö¾È¤ì¤Æ¥¸¥ó¥¸~¥ó¡×¡Ö¥®¥¶¥®¥¶¥Ï¡¼¥È¤Î»Ò¼é±´~¡×¤Î¤è¤¦¤Ë·«¤êÊÖ¤¹ÂùÅÀ¤Î¤Ï¤¤¤Ã¤¿¥ï¡¼¥É¤ò¤Ä¤«¤¦¤È¥Ò¥Ã¥È¤¹¤ë¤È¤¤¤¦¥¸¥ó¥¯¥¹¤¬¤¢¤Ã¤¿¤Î¤Ç¤¹ ÃÝËܹ§Ç·¤Î¡Ø¤Æ¤ì¤Æzinzin¡Ù¤Ï¥Ò¥Ã¥È¤Ê¤Î¡©¡£ ¥¸¥Ö¥êºîÉʤ¬¥Ò¥Ã¥Èµ§Ç°¤Ç¥¿¥¤¥È¥ë¤Ë¡Ö¤Î¡×¤ò¤Ä¤±¤ë¥¸¥ó¥¯¥¹¤ß¤¿¤¤¤Ê¤â¤Î¤Ç¤¹ ¤¿¤Ö¤ó¡£¡£ ¡Ø¤È¤Ê¤ê¤Î»³ÅĤ¯¤ó¡Ù¤Ê¤ó¤Æ¤Ê¤«¤Ã¤¿




¤ª¤Þ¤±£² £²£°£±£µÇ¯¸Ä¿ÍŪ¥Ò¥Ã¥È¾¦ÉÊ




¥¢¥ê¥¨¡¼¥ë ÀöÂõÀöºÞ ±ÕÂÎ ¥Ñ¥ï¡¼¥¸¥§¥ë¥Ü¡¼¥ë¡Ê¥¢¥Þ¥¾¥ó¤À¤È¡ï360¤¯¤é¤¤¡Ë
no title
ÀöÂõʪ¤Ë°ìÅ٤Ĥ¤¤¿Æ÷¤¤¡ÊǼƦ¤ß¤¿¤¤¤Ê¤¯¤µ¤Ã¤¿¤«¤ª¤ê¡Ë¤ÏÀäÂФËÍî¤È¤»¤Ê¤¤¤Ï¤º¤À¤Ã¤¿¤Î¤Ë ¤½¤ì¤ò¼è¤êµî¤ë²÷µó¤ò¥¢¥ê¥¨¡¼¥ë¤¬¤ä¤Ã¤Æ¤¯¤ì¤Þ¤·¤¿ ¶¯ÎϤʻ¦¶Ý¸ú²Ì¤ÇÉô²°´³¤·¤Ê¤É¤ÇÀ÷¤ßÉÕ¤¤¤¿Æ÷¤¤¤ò¥«¥Ã¥È¤¹¤ë¶È³¦½é¤Î ¤¢¤ê¤¨¤Ê¡¼¤¤¾¦ÉÊ ¤³¤ó¤Ê¤ó¤Ç¤¤¤¤¤«¤Ê¡©
¤³¤ì¤ÏÇä¾å1°Ì¤Ë¤Ê¤ë¤ï¤±¤À¤ï
ËâË¡¤ß¤¿¤¤






ËÌ±Û ¤¿¤Þ¤Í¤®¤ª¤«¤­ 12Ëç¡ß12ÂÞ ¡Ê¥¢¥Þ¥¾¥ó¤À¤È2800±ß¤°¤é¤¤¡Ë
no title
¶Ì¤Í¤®¤Î¹á¤Ð¤·¤¤¹á¤ê¤È ¤µ¤¯¤µ¤¯¤Î¿©´¶¤Ç ¡Ç³«¤±¤ì¤ÐºÇ¸å¥æ¡¼¥­¥ã¥ó¥È¥¹¥È¥Ã¥×¡Ç ¤½¤ó¤Ê¶ØÃǤΤª²Û»Ò
¡Ê¤³¤Î¥­¥ã¥Ã¥Á¤Ï¥×¥ê¥ó¥°¥ë¥¹¤ÎCM¡Ë
Box12ÂÞ¤¬¿ôÆü¤Ç¾ÃÈñ¤µ¤ì¤Þ¤¹¡£ ´í¸±¤Ç¤¹¤«¤é¿©¤Ù¤Ê¤¤¤Ç¤¯¤À¤µ¤¤ ¥¢¥Þ¥¾¥ó¤Îºß¸Ë¤¬¤Ê¤¯¤Ê¤ë¤È´ÉÍý¿Í¤¬»à¤Ë¤Þ¤¹¡£









¤³¤ó¤Ë¤Á¤Ï¡¡¤½¤í¤½¤íÀ¸³è¤ò¤Ê¤ó¤È¤«¤·¤¿¤¤¤È¹Í¤¨¤Æ¤¤¤ë´ÉÍý¿Í¤Ç¤¹


¤¤¤Á¤ª¤¦¡¡¶á¶·¤òÏä·¤Þ¤¹¤È

¡Ö¥¤¥é¥¹¥ÈÉÁ¤¤¤¿¤³¤È̵¤¤¤±¤É»Å»ö¤È¤Ã¤Á¤ã¤Ã¤¿¤ó¤Ç¡¡ÉÁ¤¤¤Æ¤â¤é¤¨¤Ê¤¤¡©¡×¡¡¤½¤ó¤ÊÏ䫤é¤Ï¤¸¤Þ¤Ã¤¿µîǯ¤Î²Æ¡£

¤´Â¸ÃΤΤ褦¤Ë¸½ºß¼ÐÍۤʥ²¡¼¥à¶È³¦¡£¡¡Èù̯¤Ë»Å»ö¤¬¸º¤Ã¤ÆÍè¤Æ¤¤¤ë¤Î¤Ç¡¢¥Õ¥ê¡¼¤Î¿Í¤ÏÉÔ´·¤ì¤Ê»Å»ö¤Ë¤â¼ê¤ò½Ð¤·»Ï¤á¤Æ¤¤¤ë¤Î¤Ç¤¹¤¬¡¡°ÊÁ°¤â½ñ¤¤¤¿¤è¤¦¤Ëή¹Ô¤Ë¾è¤Ã¤«¤Ã¤¿ÆüËÜÁ´¹ñ˨µ¼¿Í²½¥¤¥é¥¹¥È¤ò»ÈÍѤ·¤¿¥½¡¼¥·¥ã¥ë·Ï¥×¥í¥¸¥§¥¯¥È¤Ç¡¢¤È¤Ë¤«¤¯³¨ÁǺबÂçÎ̤ËɬÍפȤ¤¤¦Ïá£

»Å»ö³¨¤òÉÁ¤¤¤¿¤³¤È¤¬¤Ê¤¤¤Î¤Ë50Ëç¤Î¥¤¥é¥¹¥È»Å»ö¤ò¼õ¤±¤ë¤È¤«¿´Â¡¶¯¤¹¤®¤Ê¤Î¤Ç¡¢¤Á¤ç¤Ã¤ÈÄˤ¤Ìܤˤ¢¤Ã¤¿¤Û¤¦¤¬ËܿͤΤ¿¤á¤¸¤ã¤Ê¤¤¤Î¤«¤È¹Í¤¨¤â¤·¤¿¤Î¤Ç¤¹¤¬¡¡¾¦ÉÊ¥ì¥Ù¥ë¤Ç¤Ï¤Ê¤¤¥¤¥é¥¹¥È¤òÄó½Ð¤µ¤»¤ë¤ï¤±¤Ë¤â¹Ô¤«¤º¡¡´°À®¤·¤Æ¤ë¤È¤¤¤¦ÀâÌÀ¤À¤Ã¤¿¤È¤³¤í¤Þ¤ÇÉÁ¤­¤Ê¤ª¤·¤¿¤ê¤Ç¡¡¥¹¥±¥¸¥å¡¼¥ë¤òÂçÉý¤Ë¤Ö¤Ã¤Á¤®¤Ã¤Æ¹Ô¤¯¤³¤È¤Ë¤Ê¤ë¤Î¤Ç¤·¤¿¡£

¼«Ê¬¤ÏÅö½é»Å»ö¤¬¸º¤Ã¤¿Ê¬¤òIT·Ï¤Î»Å»ö¤ÇËä¤á¤è¤¦¤È¤·¤Æ¤¤¤Æ¡¡¤¹¤Ç¤Ë´ë¶È¸þ¤±¤Î¥¯¥é¥¦¥É¥µ¡¼¥Ó¥¹¤Î¤ª»Å»ö¤ò¤¤¤¿¤À¤¯¼ê¤Ï¤º¤Ë¤Ê¤Ã¤Æ¤¤¤¿¤Î¤Ç¤¹¤¬¡¡¤½¤Î³Ø½¬¤ËÅö¤Æ¤ë½àÈ÷´ü´Ö¤¬¿á¤ÃÈô¤ó¤Ç¤·¤Þ¤¤¡¡ºî¶È¤¬Å¥¾Â²½¤·¤Æ¤¤¤¯¤Î¤Ç¤¹¡£

¤½¤Î¸å¡¢¤¤¤ï¤æ¤ë¥µ¥¤¥È¥Ð¥ì¤¬È¯À¸¤·¤Æ¤·¤Þ¤¤¡¡»Å»ö¤¬²¡¤·¤Æ¤¤¤ë¾õÂ֤ǤΤĤ֤䤭¤ä¥Ö¥í¥°¤Î¹¹¿·¤¬º¤Æñ¤Ë¤Ê¤Ã¤¿¤È¤¤¤¦¼¡Âè¡£

¤Ä¤Þ¤ê¡¡¤³¤ÎÀè¹¹¿·¤¬Ä¹´ü´Ö¤Ê¤¤¤È¤­¤Ï´ÉÍý¿Í¤¬´í¸±¿å°è¤Ë¤¤¤ë¤È»¡¤·¤Æ¤¯¤À¤µ¤¤¤È¤¤¤¦¤ª´ê¤¤¤Ç¤¹¡£

IT·Ïºî¶È¤â´·¤ì¤Æ¤­¤Æ»þ´Ö¤¬¼è¤ì¤½¤¦¤Ê¤Î¤Ç¡¡´èÄ¥¤Ã¤Æ¹¹¿·¤·¤è¤¦¤È¤Ï¹Í¤¨¤Æ¤Þ¤¹¤±¤É¤Í¡¡¤µ¤¹¤¬¤Ë¥Ö¥í¥°¤ÎµÙ̲´ü´ÖŤ¹¤®¤¿



¤½¤¦¤¤¤¨¤Ðº£Ç¯¤â12·îËö¤Ë¤ÏÅߤΥ³¥ß¥±¤¬³«ºÅ¤µ¤ì¤Þ¤¹¤¬¡¡ºÇ¶á¡Ö¤³¤Î¥Ç¥¶¥¤¥Ê¡¼¤µ¤ó¤Ï¥³¥ß¥±¤Ë¹Ô¤«¤ì¤Þ¤¹¤«¡©¡×¤È¤¤¤¦¼ÁÌä¤ò¥¯¥é¥¤¥¢¥ó¥È¤ÎÊý¤«¤é²¿ÅÙ¤â³Îǧ¤µ¤ì¤ë¤Î¤Ç¡¢Íýͳ¤òʹ¤¤¤Æ¤ß¤¿¤È¤³¤í
¡Ö¥×¥í¥¸¥§¥¯¥È¤Î¥Þ¥¹¥¿¡¼¥¢¥Ã¥×ľÁ°¡×¤ä¡Öºî¶ÈÄó½Ð¸å¤Ë½¤Àµ¤Î¤¿¤áÂÔµ¡¡×¤ò¤ª´ê¤¤¤·¤Æ¤¤¤ë¥Ç¥¶¥¤¥Ê¡¼¤¬
¥³¥ß¥±¤Ë»²²Ã¤¹¤ë¤¿¤á¤ËÏ¢Íí¤òÃǤäƤ·¤Þ¤¦¥±¡¼¥¹¤¬Â¿¤¯¤Æ¡¢ÅÅÏ䬤Ĥʤ¬¤é¤Ê¤¯¥¹¥±¥¸¥å¡¼¥ë¤¬²¡¤·¤Æ¤¤¤ë¤ÈǯËö¤À¤ÈÆÃ¤Ë¤Ç¤¹¤¬¡¢Âå¤ï¤ê¤Î¥Ç¥¶¥¤¥Ê¡¼¤òõ¤½¤¦¤Ë¤âÏ¢Íí¤¬¤Ä¤«¤º¤Ë¸½¾ì¤¬¥Ñ¥Ë¥Ã¥¯¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¦¤È¤¤¤¦¤³¤È¤Ç³Îǧ¤ò²¿Å٤⤷¤Æ¤¤¤ë¤½¤¦¤Ç¤¹¡£

¤â¤Á¤í¤óÂåÂǤΥǥ¶¥¤¥Ê¡¼¤Ë¤âÌÂÏǤϤ«¤«¤ë¤ï¤±¤Ç¤¹¤¬¡Ê¡¡»ä¤Ë¤À¡¡¡Ë¡¡
¥¯¥é¥¤¥¢¥ó¥È¤Ë¤¢¤Þ¤ê¹ó¤¤»ÅÂǤÁ¤ò¤¹¤ë¤È΢¤Ç̾Á°¤¬²ó¤Ã¤Æ¤ª»Å»ö¤¬Íè¤Ê¤¯¤Ê¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¤Î¤Ç¡¢¤­¤Á¤ó¤È°ìÊóÆþ¤ì¤Æ¤ª¤¯¤³¤È¤ò¤ª¤¹¤¹¤á¤·¤Þ¤¹¡£¿Í¤È¤·¤Æ¡¡

¤Á¤Ê¤ß¤Ë¤³¤ÎÏᡥǥ¶¥¤¥Ê¡¼¤Ë¸Â¤é¤Ê¤¯¤Æ¡¢¼ÒŤ¬¥¢¥Ë¥áÀ¤Âå¤À¤È¼Ò°÷Á´°÷¤Ç¥³¥ß¥±¤Ë»²²Ã¤·¤ÆÏ¢Íí¤¬¤È¤ì¤Ê¤¯¤Ê¤ë¥±¡¼¥¹¤â¤¢¤ë¤ß¤¿¤¤¤Ç¤¹¡¡°ì¤Ä¤Ï¤³¤ÎÁ°ÅÝ»º¤·¤¿¤è¤¦¤Êµ¤¤¬¤·¤Þ¤¹¤¬¡£¡¡

¿®ÍѤäÆÂç»ö



¤½¤ó¤Ê¡¡¤³¤³¤¬¥Ø¥ó¤À¤èÆüËÜ¿ÍÏäǤ·¤¿¡£



¤ª¤·¤Þ¤¤

¢¬¤³¤Î¥Ú¡¼¥¸¤Î¥È¥Ã¥×¥Ø