¡É#pragma¡¡strict¡É¡¡¤Î¥¡¼¥ï¡¼¥É¤Ç¸¡º÷¤¬Â¿¤«¤Ã¤¿¤Î¤Ç¡¡ÀâÌÀ¤·¤Þ¤¹¤Í¡£
Unity¤Ï
UnityScript¡Ê³ÈÄ¥Javascript¡¡¥¢¥¯¥·¥ç¥ó¥¹¥¯¥ê¥×¥È¤Ë¤Á¤ç¤Ã¤È»÷¤Æ¤ë¡Ë¡¢
C#¡Ê¥ª¥ê¥¸¥Ê¥ë¤È¤Á¤ç¤Ã¤ÈºîË¡¤¬°ã¤¦¡Ë¡¢
Boo(Python¤Ý¤¤¡¡¤Ç¤â¤Ê¤ó¤«¤Á¤¬¤¦)
¤Ê¤É¤Î¥¹¥¯¥ê¥×¥È¤Çµ½Ò¤Ç¤¤Þ¤¹¤¬
#pragmaʸ¤Ï¡¡¼ç¤ËUnityScript¤Î¥¹¥¯¥ê¥×¥ÈÊ¸Ãæ¤ÎÀèÆ¬¤ÇÀë¸À¤·¤Þ¤¹¡£
UnityScript¡ÊJava)¤ÏÊÑ¿ô¤Î·¿¤ò¥³¥ó¥Ñ¥¤¥ë»þ¤Ë¼«Æ°Åª¤ËȽÊ̤¹¤ë¡¡¿äÏÀ·¿¤Î·¿ÉÕ¤±¤ò¹Ô¤Ê¤Ã¤Æ¤¯¤ì¤Þ¤¹¡£
¤³¤ì¤Ï¡¡·¿¤òµ¤¤Ë¤»¤º¤Ë¤¶¤Ã¤¯¤ê¤È¥¹¥¯¥ê¥×¥È¤ò½ñ¤¯¤³¤È¤¬½ÐÍè¤ë¤¿¤á¡¡¥¹¥¯¥ê¥×¥È¤Ë¤¢¤Þ¤êÆëÀ÷¤ß¤Î¤Ê¤¤¿Í¤Ê¤É¤¬
µ½Ò¤¹¤ë¤È¤¤Ë¿¾¯½õ¤±¤Ë¤Ê¤ë¤³¤È¤¬¤¢¤ë¤È»×¤¤¤Þ¤¹¡£
¤Ç¤¹¤¬¡¡¤½¤ÎÊØÍø¤µ¤ËÈ¿¤·¤Æ¼Â¹Ô¥¹¥Ô¡¼¥É¤¬¼ã´³µ¾À·¤Ë¤Ê¤ë¤¿¤á¡¡ËܳÊŪ¤Ë¥²¡¼¥à¤òºî¤ë¾ì¹ç¤Ë¤Ï
Ū³Î¤Ë·¿Àë¸À¤ª¤è¤Ó·¿»ØÄê¤ò¤·¤Æ¤ä¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
¡É¡ôpragma"¤Ë¤Ï¡Østrict¡Ù¤Î¤Û¤«¤Ë¡Øimplicit¡Ù¡Ødowncast¡Ù¤È¤¤¤Ã¤¿Ãç´Ö¤¬¤¢¤ê¤Þ¤¹¡£
¢£¡É#pragma¡¡strict¡É¤òÀë¸À¤·¤¿¾ì¹ç¡£
Îã)
¡
#pragma strict
foo = 5; // ¤³¤ì¤Ï¡¡X
¢
#pragma strict
var foo = 5; // ¤³¤ì¤Ï¡¡¡û
➀¤Ï·¿Àë¸À¤Ç¡Évar¡É¤¬µ½Ò¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡¡Java¤Î¾ì¹ç¡¡ÊÑ¿ô̾¡á¿ôÃÍ¡¡¤Î·Á¤Ç½ñ¤¯¤À¤±¤Ç
·¿Àë¸À¤Ê¤·¤Î¥í¡¼¥«¥ë¤ÊÊÑ¿ô¤¬Ç§¤á¤é¤ì¤Æ¤¤¤Þ¤¹¡£¡¡
¡É#pragma strict¡É¤ò»ØÄꤹ¤ë¤È¡¡¤¢¤¤¤Þ¤¤¤Ê·¿¤Ï¥³¥ó¥Ñ¥¤¥ë¥¨¥é¡¼¤¬¤Ç¤ë¤Î¤Ç¡¡¤¤Á¤ó¤È·¿Àë¸À¤·¤Ê¤¤¤È¤¤¤±¤Þ¤»¤ó¡£
¢£¡É#pragma¡¡implicit¡É¤òÀë¸À¤·¤¿¾ì¹ç¡£
Îã¡Ë
#pragma strict
#pragma implicit
foo = 5;
//¡¡¡É#pragma implicit¡É¡¡¤ò»ØÄꤷ¤¿¾ì¹ç¡É#pragma strict¡É¤Îµ½Ò¤ò¤·¤Æ¤¤¤Æ¤â¡¡ÊÑ¿ô¤òÀë¸À¤Ê¤·¤Ç»ÈÍѤ¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
¢£#pragma strict¡¡¤À¤±¤òµ½Ò¤·¤¿¾ì¹ç¡¡ÂåÆþÀè¤ÎÊÑ¿ô¤Î·¿¤Ë·¿ÊÑ´¹¡Ê¥¥ã¥¹¥È¡Ë¤ÇÀµ³Î¤ËÃͤòÅϤµ¤Ê¤¤¾ì¹ç¥¨¥é¡¼¤¬µ¢¤ê¤Þ¤¹¡£
¡
#pragma strict
var go : GameObject ;
var clone : GameObject = Instantiate (go);
// ¥¥ã¥¹¥È¡Ê·¿ÊÑ´¹¡Ë¤ò¤·¤Ê¤¤¤ÈInstanciate´Ø¿ô¤ÏObject·¿¤òÊÖ¤·¤Þ¤¹¤Î¤ÇGameObject·¿¤Î¡Éclone"¤ËÂåÆþ¤µ¤ì¤¿»þÅÀ¤Ç¥¨¥é¡¼¤Ë¤Ê¤ê¤Þ¤¹
¢
#pragma strict
var go : GameObject ;
var clone : GameObject = Instantiate (go) as GameObject ;
// ·¿ÊÑ´¹"as¡É¤ò»ØÄꤹ¤ë¤³¤È¤ÇInstanciate´Ø¿ô¤ÏGameObject·¿¤Ë·¿ÉÕ¤±¤µ¤ì¤Þ¤·¤¿¡¡¤³¤ì¤Ï¥¨¥é¡¼¤Ë¤Ê¤ê¤Þ¤»¤ó¡£
¡É#pragma downcast¡É¤ò»ÈÍѤ¹¤ë¤È¡¡¡É#pragma strict¡É¤ò»ÈÍѤ·¤Æ¤¤¤¿¾ì¹ç¤Ç¤â¡¡ÃͤÎÂåÆþ»þ¤Î·¿¤ÎÁê°ã¤Ç¥¨¥é¡¼¤òÊÖ¤·¤Þ¤»¤ó
#pragma strict
#pragma downcast
var go : GameObject ;
var clone : GameObject = Instantiate (go); // ¤³¤ì¤ÏOk
Îãʸ¤Ï°Ê²¼¤Î¥µ¥¤¥È¤ò»²¹Í¤Ë¤·¤Þ¤·¤¿
http://forum.unity3d.com/threads/63114-What-is-pragma-implicit-and-pragma-downcast
Êä¤Ǥ¹¤¬¡¡¥×¥í¥¸¥§¥¯¥È¤¬µðÂç¤Ë¤Ê¤ë¤È¤´¤¯¤Þ¤ì¤Ë¡¢¤É¤¦¤·¤Æ¤â¥¥ã¥¹¥È¤¬¥³¥ó¥Ñ¥¤¥ë¤ÇÄ̤é¤Ê¤¤¤è¤¦¤Ê¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£
ÆÃ¤Ë³°Éô¥¹¥¯¥ê¥×¥È¤«¤éÊÑ¿ô¤ò»²¾È¤¹¤ë¾ì¹ç¤Ê¤É¤ËȯÀ¸¤¹¤ë¤³¤È¤¬¤¢¤ë¤è¤¦¤Ç¤¹¡£
¤½¤¦¤¤¤¦¾ì¹ç¤Ë¤Ï¾¤Î²Õ½ê¤ò¥Ç¥Ð¥Ã¥°¸å¤Ë¡¡#pragma strict¡¡¤ò¤Ï¤º¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£
¥³¥ó¥Ñ¥¤¥é¤Î¼«Æ°È½Ê̤Dz¿·¿¤«¤ËŬÅö¤Ë³ä¤ê¤Ä¤±¤Æ¼Â¹Ô¤·¤Æ¤¯¤ì¤ë¤È»×¤¤¤Þ¤¹¡£
¥²¡¼¥à¤ÎÃæ¤Ç¿ô²ó¼Â¹Ô¤µ¤ì¤ëÄøÅ٤βսê¤Ç¤¢¤ì¤Ð¡¡½¤Àµ¤Ë»þ´Ö¤ò¤µ¤¯¤Î¤Ï̵Â̤Ǥ¹¡£
Äɵ¡§
µ»½Ñʸ½ñ¤Ê¤É¤Ç¤è¤¯Ìܤˤ¹¤ëʸ»úÎó¤Ë¡Øfoo¡Ù¤ä¡Øbar¡Ù¡¡º£²ó¤Î¥µ¥ó¥×¥ë¤Ë¤â»ÈÍѤµ¤ì¤Æ¤¤¤Þ¤¹¤¬
ÆüËܸì¤ÇÎ㤨¤ë¤È¡¡¡Ø¤Ê¤ó¤È¤«¡Ù¤ä¡Ø¤Û¤Ë¤ã¤é¤é¡Ù¤È¤¤¤Ã¤¿¡¡¤½¤Î²Õ½ê¤Ë¹¥¤¤Ê̾Á°¤òÅö¤Æ¤Ï¤á¤Æ»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤
¤È¤¤¤¦¡Ø²¾¤Î̾Á°¡Êñ¸ì¡Ë¡Ù¤ò°ÕÌ£¤·¤Æ¤¤¤Þ¤¹¡£
¤³¤ì¤ò¡¡¥á¥¿¹½Ê¸ÊÑ¿ô(Metasyntactic variable)¡¡¤È¾ðÊó½èÍý¤ÎÀ¤³¦¤Ç¤Ï¸Æ¤ó¤Ç¤¤¤Þ¤¹¡£
¤Û¤«¤Ë¤â
¡¡foo, bar, baz, qux, quux, corge, grault, garply, waldo, fred, plugh, xyzzy, thud¡¡
¤Ê¤É¤Î¤è¤¦¤Ê¥Ð¥ê¥¨¡¼¥·¥ç¥ó¤¬¤¢¤ê¤Þ¤¹¡£¤³¤Î½çÈÖ¤ÏABC¡Å¤ËÁêÅö¤¹¤ë¤Î¤ÇÆþ¤ìÂØ¤¨¤Ê¤¤¤Ç»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£
ÆüËܸì·÷¤Ë¤âƱÍͤΥ᥿ÊÑ¿ô¤¬¤¢¤ê¤Þ¤¹¡£
¡Öhoge¡×¡Öfuga¡×¡Öpiyo¡×
¤Ê¤É¤Ç¤¹¡¡ÆüËܸì¤Î¥¹¥¯¥ê¥×¥È¤ò²òÀ⤹¤ë¥µ¥¤¥È¤ò½ä¤ë¤ÈÌܤˤ¹¤ë¤³¤È¤¬¤¢¤ë¤«¤È»×¤¤¤Þ¤¹¡£
¤½¤ì¤«¤é¡¡¤è¤¯´Ø¿ô¤ÎÆâÉô¤Ç¡¡¡Édo¡¡something¡É¡¡¤È¤¤¤¦Ê¸Î㤬½Ð¤Æ¤¯¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¤¬
¤³¤ì¤ÏľÌõ¤·¤Æ¡Ø²¿¤«¼Â¹Ô¤¹¤ë¡Ù¡¡¤Ä¤Þ¤ê¡¡¡Ø¹¥¤¤Ê¤è¤¦¤Ë¥¹¥¯¥ê¥×¥È¤ò½ñ¤¤¤Æ¤¯¤À¤µ¤¤¡Ù¤È¤¤¤¦¤³¤È¤ò°ÕÌ£¤·¤Æ¤¤¤Þ¤¹¡£
¤½¤¦¤¤¤¦Ì¾Á°¤Î¥³¥Þ¥ó¥É¤¬¤¢¤ë¤ï¤±¤Ç¤Ï¤Ê¤¤¤Î¤Ç´ª°ã¤¤¤·¤Ê¤¤¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£
¤³¤ì¤é¤¬¸¡º÷¤Ç¤È¤Æ¤â¿¤¤¤Î¤Ç¡¡°ì±þ¥á¥âŪ¤Ë½ñ¤¤¤Æ¤ª¤¤Þ¤·¤¿¡£
Ť¯¥×¥í¥°¥é¥à¤ò½ñ¤¤¤Æ¤¤¤ë¿Í¤ä¡¡¾ðÊó¤ÎÀìÌç¤Î¿Í¤Ë¤Ï¤¢¤¿¤ê¤Þ¤¨¤Î¤³¤È¤«¤â¤Ç¤¹¤±¤É
¤Ï¤¸¤á¤Æ¥²¡¼¥àºî¤ê¤¿¤¤¿Í¤Ë¤Ï¤ï¤«¤ó¤Ê¤¤¤Ç¤¹¤è¤Í£÷
¤¦¤Ë¤Ð¤Ê¡¡º£¸å¤ÎͽÄê¤Ç¤¹¤¬
¥·¥§¡¼¥À¡¼¤Îµ»ö¤ò¤È¤ê¤¢¤¨¤º¤ä¤Ã¤Ä¤±¤Þ¤¹¡£
¤½¤Î¸å¡¡¥¨¥Í¥ß¡¼AI¤Î¹Í»¡¡¢¡¡¥Í¥Ã¥È¥ï¡¼¥¯´ØÏ¢¡¢¡¡¥â¡¼¥·¥ç¥ó¤Þ¤ï¤ê¤ÎTips¡¡¤Ê¤ó¤Æ¤¤¤¦Í½Äê¤ò¤¿¤Æ¤Æ¤¤¤Þ¤¹¡£
¤½¤Î¹ç´Ö¤Ë¼«ºî¥²¡¼¥à¤Îµ»ö¤ò¶´¤à´¶¤¸¤Ç¤·¤ç¤¦¤«
¤¿¤À¤·¡¡º£²ó¤½¤Î»þ´ü¤È¾ì½ê¤Ï»ØÄꤷ¤Ê¤¤¤Î¤Ç¡¡¤½¤Îµ¤¤Ë¤Ê¤ì¤Ð10ǯ¸å¡¡£²£°¡Ê£ò£ù
¤¤¤ä¡¡¾ì½ê¤Ï¤³¤³¤Ê¤ó¤Ç¤¹¤±¤É¤Í
²áÅ٤ʴüÂԤϤ·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡Ê¤ß¤Ê¤ß¤±¤Î4´ü¡¡ÄøÅ٤δüÂÔ´¶¤Ç¤ª¤Þ¤Á¤¯¤À¤µ¤¤¡Ë
¤½¤ì¤Ç¤Ï¡¡¤Þ¤¿











