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

¡¡¤³¤Î¼ê½ç¤Ç¤Ï¡¢Àè¤Û¤ÉºîÀ®¤·¤¿¥Ð¥ì¥Ã¥È¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤Ä¤¤¤Æ¡¢¥¹¥¯¥ê¥×¥È¤òÍøÍѤ·¤ÆÀ©¸æ(°ÜÆ°¡¢Ç˲õ¤Ê¤É¤Î½èÍý)¤Ç¤­¤ë¤è¤¦¤Ë½èÍý¤ò¼ÂÁõ¤·¤Æ¤¤¤­¤Þ¤¹¡£

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


¼ê½ç£¶¡¡¡Ý¥Ð¥ì¥Ã¥È¤Î´ðËÜÀ©¸æ¤Î¼ÂÁõ¡Ý
¡¡£¹¡¥Bullet ¥¹¥¯¥ê¥×¥È¤òºîÀ®¤·¡¢¥²¡¼¥à¼Â¹Ô»þ¤Ë¥Ð¥ì¥Ã¥È¤òȯ¼Í¤¹¤ë
£±£°¡¥Bullet ¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¡¢º¸¥¯¥ê¥Ã¥¯¤·¤¿¤È¤­¤Ë¥Ð¥ì¥Ã¥È¤òȯ¼Í¤·¡¢£µÉøå¤Ë¤Ï¥Ð¥ì¥Ã¥È¤òÇ˲õ¤¹¤ë¡£À®¸ù¤·¤¿¤é¥Ð¥ì¥Ã¥È¤ò¥×¥ì¥Õ¥¡¥Ö²½¤¹¤ë



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

¡ã£¹¡ä
¡¡¡¦RequireComponent°À­
¡¡¡¦Transform.right ÊÑ¿ô
¡¡¡¦Rigidbody2D.AddForce ¥á¥½¥Ã¥É

¡ã£±£°¡ä
¡¡¡¦Header°À­
¡¡¡¦Transform.up ÊÑ¿ô
¡¡¡¦Destroy ¥á¥½¥Ã¥É
¡¡¡¦Summary¡Ê¥µ¥Þ¥ê¡¼¡Ëµ¡Ç½
¡¡¡¦¥×¥ì¥Õ¥¡¥Ö¤ÎºîÀ®



£¹¡¥Bullet ¥¹¥¯¥ê¥×¥È¤òºîÀ®¤·¡¢¥Ð¥ì¥Ã¥È¤òȯ¼Í¤µ¤»¤ë¡£À®¸ù¤·¤¿¤é¥Ð¥ì¥Ã¥È¤ò¥×¥ì¥Õ¥¡¥Ö²½¤¹¤ë

£±¡¥Àß·×


¡¡¥Ð¥ì¥Ã¥ÈÍѤΥ²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ÏºîÀ®¤Ç¤­¤Þ¤·¤¿¡£¤³¤Î¼ê½ç¤Ç¤Ï¡¢¥Ð¥ì¥Ã¥È¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò°ÜÆ°¤µ¤»¤ëÊýË¡¤ò¹Í¤¨¤Æ¼ÂÁõ¤·¤Þ¤¹¡£
¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òÆ°ºî¤µ¤»¤ë¤Ë¤Ï¡¢¥¹¥¯¥ê¥×¥È¤òÍÑ°Õ¤·¤Æ¡¢¤½¤ì¤òÍøÍѤ¹¤ë¤³¤È¤Ë¤è¤Ã¤ÆÀ©¸æ¤ò¹Ô¤¦¤³¤È¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£

¡¡¤³¤Î¼ê½ç¤Ç¤Ï¡¢Bullet ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òÀ©¸æ¤¹¤ë¤¿¤á¤Î¡¢¥¹¥¯¥ê¥×¥È¤ò½ñ¤¤¤Æ¤¤¤­¤Þ¤¹¡£
½èÍý¤ò½ñ¤¤¤¿¥¹¥¯¥ê¥×¥È¤Ï¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤¹¤ë¤³¤È¤Ç¤Ï¤¸¤á¤Æµ¯Æ°¤¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£

¡¡¤³¤Î¤È¤­¥¹¥¯¥ê¥×¥È¼«ÂΤ¬¡¢¥¢¥¿¥Ã¥Á¤¹¤ë¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò»ØÄꤹ¤ë¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó¡£
¤Ç¤¹¤¬Â¿¤¯¤Î¾ì¹ç¡¢¥¹¥¯¥ê¥×¥ÈÆâ¤Î½èÍý¤Ë¤Ï¡¢¤³¤Î¥¹¥¯¥ê¥×¥È¤ò¥¢¥¿¥Ã¥Á¤·¤Æ¤¤¤ë¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òÀ©¸æ¤¹¤ë¡¢¤È¤¤¤¦ÆâÍƤ¬¤¢¤ë¤¿¤á¡¢
¤½¤ì¤æ¤¨¡¢¥¹¥¯¥ê¥×¥È¤Î¥¢¥¿¥Ã¥ÁÀè = ¥¹¥¯¥ê¥×¥È¤¬Æ°¤«¤·¤¿¤¤¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤È¤¤¤¦¹½¿Þ¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£

¡¡µÕ¤Ë¸À¤¨¤Ð¡¢¥¹¥¯¥ê¥×¥È¼«ÂΤϤɤΥ²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤·¤Æ¤âµ¯Æ°¤¹¤ë¡¢¤È¤¤¤¦¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¤Î¤Ç¡¢¤³¤Î»ëÌî¤Î¹­¤µ¤ò˺¤ì¤º¤Ë»ý¤Ã¤Æ¤¤¤ë¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£



¡¡¥Ð¥ì¥Ã¥È¤ÏºÇ½ªÅª¤Ë¡¢¥×¥ì¥¤¥ä¡¼¤¬²èÌ̤ò¥¿¥Ã¥×¤·¤¿Êý¸þ¤Ë¸þ¤±¤Æȯ¼Í¡Ê°ÜÆ°¡Ë¤¹¤ë¤³¤È¤¬ÌÜɸ¤Ç¤¹¡£
¤Ç¤¹¤¬¡¢ºÇ½é¤«¤é¤½¤ÎÊýË¡¤ò¹Í¤¨¤Æ¼ÂÁõ¤¹¤ë¤Î¤ÏÆñ¤·¤¤¤Î¤Ç¤¹¤Î¤Ç¡¢¤É¤¦¤¹¤ì¤Ð¥Ð¥ì¥Ã¥È¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò°ÜÆ°¤µ¤»¤ë¤³¤È¤¬¤Ç¤­¤ë¤Î¤«¡¢¤È¤¤¤¦ºÇ¤â´ðËÜŪ¤ÊÉôʬ¤«¤é
£±¤Ä¤º¤Ä½çÈ֤˹ͤ¨¤Æ¤¤¤­¡¢¥¹¥¯¥ê¥×¥È¤Ë½èÍý¤ò¾¯¤·¤º¤Ä½ñ¤¤¤Æ¤¤¤­¤Þ¤¹¡£



¡¡È¯¼Í¡¢¤È¤¤¤¦¸ÀÍÕ¤ò»È¤Ã¤Æ¤Ï¤¤¤Þ¤¹¤¬¡¢¥²¡¼¥àÆâ¤Î½èÍý¤È¤·¤Æ¤Ï¡¢¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò°ÜÆ°¤µ¤»¤ë¡¢¤È¤¤¤¦¤³¤È¤ÈƱµÁ¤Ç¤¹¡£
¤³¤Î¤è¤¦¤Ë¡ÖÆüËܸì¡×¤Ç¤Ê¤¾¤é¤¨¤¿½èÍý¤ò¡¢¤É¤Î¤è¤¦¤Ê¥²¡¼¥à¤Î½èÍý¤È¤Ä¤Ê¤²¤Æ¹Í¤¨¤Æ¤¤¤¯¤«¡¢¥í¥¸¥Ã¥¯¤ò¹Í¤¨¤ë¤³¤È¤¬ÂçÀڤˤʤê¤Þ¤¹¡£

¡¡Unity ¤Ë¤Ï¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò°ÜÆ°¤µ¤»¤ëÊýË¡¤¬¤¤¤¯¤Ä¤«¤¢¤ê¤Þ¤¹¤¬¡¢º£²ó¤ÏʪÍý±é»»¤òÍøÍѤ·¤Æ¡¢°ÜÆ°¤Î½èÍý¤ò¼ÂÁõ¤¹¤ëÀ߷פò¤·¤Æ¤¤¤Þ¤¹¡£
ʪÍý±é»»¤ò¹Ô¤¦¤¿¤á¤Ë¤Ï¡¢¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë Rigidbody/Rigidbody2D ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤¬¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£

¡¡¸½ºß¤Î Bullet ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤Ï Rigidbody2D ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤¬¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¤Î¤Ç¡¢¤Þ¤º¤Ï¤½¤ì¤ò½àÈ÷¤¹¤ë¤È¤³¤í¤«¤é»Ï¤á¤Þ¤¹¡£
¥¹¥¯¥ê¥×¥È¤Î»ý¤Äµ¡Ç½¤Î£±¤Ä¤Ë¡¢¥¹¥¯¥ê¥×¥È¤ò¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤·¤¿ºÝ¤Ë¡¢»ØÄꤷ¤¿¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ò°ì½ï¤Ë¥¢¥¿¥Ã¥Á¤¹¤ë¡¢¤È¤¤¤¦¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£
º£²ó¤Ï¤³¤Îµ¡Ç½¤Ç¤¢¤ë RequireComponent °À­¤òÍøÍѤ·¤Æ¡¢¥¹¥¯¥ê¥×¥È¤ò¥¢¥¿¥Ã¥Á¤¹¤ë¤À¤±¤Ç¡¢Rigidbody2D ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤â°ì½ï¤Ë¥¢¥¿¥Ã¥Á¤¹¤ë¤è¤¦¤ËÀ߷פ·¤Þ¤·¤ç¤¦¡£

¡¡¤Þ¤º¤ÏºÇ½é¤Ç¤¹¤Î¤Ç¡¢¥²¡¼¥à¤Îµ¯Æ°¤ÈƱ»þ¤Ë Bullet ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò°ÜÆ°¤¹¤ë¡¢¤È¤¤¤¦½èÍý¤ò¼ÂÁõ¤·¤è¤¦¤È»×¤¤¤Þ¤¹¡£


£²¡¥Bullet ¥¹¥¯¥ê¥×¥È¤òºîÀ®¤·¡¢¥²¡¼¥à¤Î¼Â¹Ô¤ÈƱ»þ¤Ë¥Ð¥ì¥Ã¥È¤ò±¦Êý¸þ¤Ëȯ¼Í¤¹¤ë½èÍý¤òµ­½Ò¤¹¤ë


¡¡¥²¡¼¥à¤Îµ¯Æ°¤ÈƱ»þ¤Ë Bullet ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò°ÜÆ°¤¹¤ë¡¢¤È¤¤¤¦Ê¸¾Ï¤ò¡¢¥í¥¸¥Ã¥¯¤È¤·¤Æ¹Í¤¨¤Æ¡¢¥¹¥¯¥ê¥×¥È¤Ë½èÍý¤òµ­½Ò¤¹¤ë¤Ë¤Ï¤É¤¦¤¹¤ì¤Ð¤è¤¤¤Ç¤·¤ç¤¦¤«¡£

¡¡¤³¤¦¤¤¤Ã¤¿¾ì¹ç¡¢£±¤Ä¤º¤Ä¡¢Ê¸¾Ï¤òʬ¤±¤Æ¡¢¤½¤ì¤ËÂФ·¤Æ½èÍý¤ò¹Í¤¨¤Æ¤¤¤¯¼êË¡¤¬¤è¤¤¤Ç¤·¤ç¤¦¡£



¡¡ºÇ½é¤Î¡Ö¥²¡¼¥à¤Îµ¯Æ°¤ÈƱ»þ¤Ë¡×¤È¤¤¤¦Éôʬ¤Ç¤¹¤¬¡¢¥¹¥¯¥ê¥×¥È¤Ë¤Ï Start ¥á¥½¥Ã¥É¤È¤¤¤¦¡¢¥²¡¼¥à¤Î¼Â¹Ô¤ÈƱ»þ¤Ë£±²ó¤À¤±½èÍý¤ò¹Ô¤¦¥á¥½¥Ã¥É¤¬¤¢¤ê¤Þ¤¹¡£
¤³¤ì¤ò¤½¤Î¤Þ¤Þ³èÍѤ¹¤ì¤Ð¡Ö¥²¡¼¥à¤Îµ¯Æ°¤ÈƱ»þ¤Ë¡×¤È¤¤¤¦¥¿¥¤¥ß¥ó¥°¤Ë¤Ä¤¤¤Æ¤Ï¥¯¥ê¥¢¤Ç¤­¤Þ¤¹¡£



¡¡¼¡¤Î¡ÖBullet ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò°ÜÆ°¤¹¤ë¡×¤È¤¤¤¦Éôʬ¤Ç¤¹¤¬¡¢¡Ö°ÜÆ°¡×¤Ë¤Ä¤¤¤Æ¤Ï¡¢º£²ó¤ÏʪÍý±é»»¤òÍøÍѤ¹¤ë¤³¤È¤òÁ°Äó¤Ë¹Í¤¨¤Æ¤¤¤Þ¤¹¡£
¤½¤Î¤¿¤á°ÜÆ°¤Î½èÍý¤Ë¤Ä¤¤¤Æ¤Ï¡¢Rigidbody2D ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ÎÎϤò¼Ú¤ê¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£

¡¡Rigidbody2D ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î¾ðÊó¤ò¥¹¥¯¥ê¥×¥È¤¬¼èÆÀ¤¹¤ë¤³¤È¤¬½ÐÍè¤ì¤Ð¡¢¥¹¥¯¥ê¥×¥È¤òÄ̤¸¤Æ¡¢Rigidbody2D ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î°·¤¦¾ðÊó¤òÍøÍѤ¹¤ë¤³¤È¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£
¥¹¥¯¥ê¥×¥È¤¬¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î¾ðÊó¤ò¼èÆÀ¤¹¤ë¤Ë¤Ï¡¢GetComponent ¥á¥½¥Ã¥É¤òÍøÍѤ¹¤ë¤³¤È¤Ç¼èÆÀ¤¬²Äǽ¤Ç¤¹¡£

¡¡GetComponent ¥á¥½¥Ã¥É¤Ï¡¢¤½¤ÎÁ°¤Ë¥Ô¥ê¥ª¥É¤Ë¤è¤ë½èÍý¤¬¤Ê¤¤¾ì¹ç¤Ë¸Â¤ê¡¢gameObject ÊÑ¿ô¤Î¾ðÊó¤ò¼«Æ°Åª¤Ë»²¾È¤·¤Þ¤¹¡£
¤½¤Î¤¿¤á¡¢¥¹¥¯¥ê¥×¥ÈÆâ¤Ë GetComponent<¼èÆÀ¤¹¤ë¥³¥ó¥Ý¡¼¥Í¥ó¥È̾>() ¤È¤À¤±½èÍý¤ò½ñ¤¤¤¿¾ì¹ç¡¢¤½¤ì¤Ï¡¢
¤³¤Î¥¹¥¯¥ê¥×¥È¤¬¥¢¥¿¥Ã¥Á¤·¤Æ¤¤¤ë¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ÎÃ椫¤éÂоݤȤʤ륳¥ó¥Ý¡¼¥Í¥ó¥È¤Î¾ðÊó¤òõ¤·¤Æ¼èÆÀ¤¹¤ë¡¢¤È¤¤¤¦Ì¿Îá¤Ë¤Ê¤ê¤Þ¤¹¡£



¡¡Rigidbody2D ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î¾ðÊó¤ò¼èÆÀ¤¹¤ë¤È¡¢¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¾å¤Ëɽ¼¨¤µ¤ì¤Æ¤¤¤ë¡¢Rigidbody2D ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î¾ðÊó¤ò°·¤¨¤ë¾¤Ë¡¢
Rigidbody2D ¥¯¥é¥¹¤È¤¤¤¦ Unity ¤ÎÍÑ°Õ¤·¤Æ¤¤¤ë¥á¥½¥Ã¥É¤äÊÑ¿ô¤ò°·¤¦¤³¤È¤â²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£

¡¡Rigidbody2D ¥¯¥é¥¹¤Ë¤Ï¡¢AddForce ¥á¥½¥Ã¥É¤È¤¤¤¦¡¢°ú¿ô¤Ë»ØÄꤷ¤¿Êý¸þ¤Ë®ÅÙ¤ò¤Ä¤±¤Æ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò°ÜÆ°¤µ¤»¤ë¡¢¤È¤¤¤¦½èÍý¤¬¤¢¤ê¤Þ¤¹¤Î¤Ç¡¢¤³¤Á¤é¤òÍøÍѤ¹¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£



¡¡¥¹¥¯¥ê¥×¥È¤Ï¡¢¥¹¥¯¥ê¥×¥È¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Æµ­½Ò¤ò¹Ô¤¤¤Þ¤¹¡£
¤Þ¤º¤Ï¥¹¥¯¥ê¥×¥ÈÍѤΥե©¥ë¥À¤òºîÀ®¤·¡¢¤½¤ÎÃæ¤Ë¥¹¥¯¥ê¥×¥È¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Æ¤¤¤­¤Þ¤¹¡£

¡¡Project Æâ¤Î¶õ¤¤¤Æ¤¤¤ë¾ì½ê¤Ç±¦¥¯¥ê¥Ã¥¯¤ò¤·¤Æ¥á¥Ë¥å¡¼¤ò³«¤¯¤«¡¢Project ¥Ó¥å¡¼¤Î²¼¤Ë¤¢¤ë¥×¥é¥¹¥Ü¥¿¥ó¤ò²¡¤·¤Æ¥á¥Ë¥å¡¼¤ò³«¤­¤Þ¤¹¡£
Create => Folder ¤òÁªÂò¤·¤Æ¡¢¿·¤·¤¤¥Õ¥©¥ë¥À¤òºîÀ®¤·¤Æ¤¯¤À¤µ¤¤¡£Ì¾Á°¤Ï Scripts ¤Ë¤·¤Þ¤¹¡£

¡¡Scripts ¥Õ¥©¥ë¥ÀÆâ¤ÇºÆÅÙ±¦¥¯¥ê¥Ã¥¯¤ò¤·¤Æ¥á¥Ë¥å¡¼¤ò³«¤­¡¢Create => C# Script ¤òÁªÂò¤·¤Æ¡¢¿·¤·¤¤¥¹¥¯¥ê¥×¥È¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡£
̾Á°¤ò Bullet ¤ËÊѹ¹¤·¤Æ¡¢¥À¥Ö¥ë¥¯¥ê¥Ã¥¯¤ò¤·¡¢Visual Studio ¥¨¥Ç¥£¥¿¡¼¤òΩ¤Á¾å¤²¤ÆÊÔ½¸¤ò¤·¤Æ¤¤¤­¤Þ¤¹¡£


Bullet.cs

¡¡<=¡¡¥¯¥ê¥Ã¥¯¤·¤¿¤é³«¤­¤Þ¤¹



¡¡¥¹¥¯¥ê¥×¥È¤òµ­½Ò¤·¤¿¤é¥»¡¼¥Ö¤ò¹Ô¤¤¤Þ¤¹¡£Visual Studio ¤Ç¤Ï¡¢ctrl + shift + s ¥­¡¼¤Ç¥»¡¼¥Ö¤¬¤Ç¤­¤Þ¤¹¡£

¡¡¼¡¤Î¼ê½ç¤Ë°Ü¤ëÁ°¤Ë¡¢¥¹¥¯¥ê¥×¥È¤Ëµ­½Ò¤·¤¿½èÍý¤Ë¤Ä¤¤¤Æ½çÈ֤ˤޤȤá¤ÆÀâÌÀ¤·¤Þ¤¹¡£


£³¡¥¡ãRequireComponent°À­¡ä


¡¡[] ¤Ç½ñ¤«¤ì¤¿¾ðÊó¤Ï°À­¡ÊAttribute¡Ë¤È¸Æ¤Ð¤ì¤ë¤â¤Î¤Ç¤¹¡£
°À­¤òÉÕÍ¿¤¹¤ë»ö¤Ç¾¤ÎÊÑ¿ô¤È¶èÊ̤·¤¿¤ê¡¢ÆÃÊ̤ʵóÆ°¤òÀßÄꤹ¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£

[RequireComponent(typeof(Rigidbody2D))]
public class Bullet : MonoBehaviour {

¡¡¤³¤ÎRequireComponent(¥ê¥¯¥ï¥¤¥¢¡¦¥³¥ó¥Ý¡¼¥Í¥ó¥È)°À­¤Ï¡¢¥¯¥é¥¹Ì¾¤Î£±¹Ô¾å¤Ëµ­½Ò¤¹¤ë°À­¤Ç¤¹¡£

¡¡¤³¤Î°À­¤Î(°ú¿ô)¤Ç»ØÄꤷ¤¿¥¯¥é¥¹¤ä¥³¥ó¥Ý¡¼¥Í¥ó¥È¤¬¡¢¤³¤Î¥¹¥¯¥ê¥×¥È¤¬¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤Ê¤¤¤È¡¢Console ¥Ó¥å¡¼¤Ë¥¨¥é¡¼¤¬½Ð¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£¡¡

¡¡¤Þ¤¿¤³¤Î°À­¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë¥¹¥¯¥ê¥×¥È¤ò¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤¹¤ë¤È¡¢°ú¿ô¤Ç»ØÄꤷ¤Æ¤¤¤ë¥³¥ó¥Ý¡¼¥Í¥ó¥È¤¬¼«Æ°Åª¤Ë¥¢¥¿¥Ã¥Á¤µ¤ì¤Þ¤¹¡£(º£²ó¤Ï Rigidbody2D ¥³¥ó¥Ý¡¼¥Í¥ó¥È)
¤Ä¤Þ¤ê¤³¤Îµ¡Ç½¤Ï¡¢¥¹¥¯¥ê¥×¥È¤òÀµ¾ï¤ËÆ°ºî¤µ¤»¤ë¤¿¤á¤ËɬÍפʥ³¥ó¥Ý¡¼¥Í¥ó¥È¤ò¶¯À©Åª¤ËÍÑ°Õ¤·¤Æ¤¯¤ì¤ëÆâÍƤˤʤäƤ¤¤Þ¤¹¡£
¡¡
¡¡º£²ó¤³¤Î Bullet ¥¹¥¯¥ê¥×¥È¤òÆ°ºî¤µ¤»¤ë¤Ë¤Ï Rigidbody2D ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤¬É¬Íפˤʤê¤Þ¤¹¡£
[RequireComponent(typeof(Rigidbody2D))]°À­¤òÄɲ乤뤳¤È¤Ë¤è¤Ã¤Æ¡¢¼«Æ°Åª¤Ë¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î¥¢¥¿¥Ã¥Á¤ò¹Ô¤¦¤È¤È¤â¤Ë¡¢¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¤Ï¥¨¥é¡¼¤¬½Ð¤ë¤è¤¦¤Ë¤·¤Æ¤¤¤Þ¤¹¡£


»²¹Í¥µ¥¤¥È
Unity¸ø¼°¥¹¥¯¥ê¥×¥È¥ê¥Õ¥¡¥ì¥ó¥¹
RequireComponent
https://docs.unity3d.com/ja/current/ScriptReferenc...
Qiita JunShimuraÍÍ
[Unity½é¿´¼ÔTips]³Î¼Â¤Ë¡ªÉ¬ÍפÊComponent¤òÆþ¤ì¤ëRequire Component¤ÈReset()
https://qiita.com/JunShimura/items/6576eb63c19c2c9...


£´¡¥¡ãTransform.right ÊÑ¿ô¡ä


¡¡Transform ¥¯¥é¥¹¤¬´ÉÍý¤·¤Æ¤¤¤ëÊÑ¿ô¤Î£±¤Ä¤Ç¤¹¡£ÂоݤΥ²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î Transform ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ò»²¾È¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢
¤½¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î±¦Êý¸þ(X¼´¡¢Scene¥Ó¥å¡¼¤ÎÀÖ¤¤¼´)¤ò¼èÆÀ¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£

¡¡right ÊÑ¿ô¤Ë¤Ï Vector3 ·¿¤ÎÃͤǡ¢(1, 0, 0) ¤È¤¤¤¦¾ðÊ󤬳ÊǼ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£

  AddForce(transform.right * 300);

¡¡¤³¤Î°ú¿ô¤ÎÃæ¤òÊÑ¿ô¤ò¿ô»ú²½¤·¤Æµ­½Ò¤¹¤ë¤È

  AddForce((1, 0, 0) * 300);    =>  AddForce(300, 0, 0);

¡¡¤³¤Î¤è¤¦¤Ê½èÍý¤ÎÆâÍƤˤʤäƤ¤¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢X ¼´¤Ë¤À¤± 300 ¤ÎÃͤ¬Æþ¤Ã¤Æ¤¤¤ë¤³¤È¤¬Ê¬¤«¤ê¤Þ¤¹¡£

¡¡ÊÑ¿ô¤Î½èÍý¤Î¾ì¹ç¡¢¤½¤ÎÃͤ¬¤É¤ó¤ÊÆâÍƤˤʤäƤ¤¤ë¤Î¤«¡¢Æä˿ô»ú¤Î¾ì¹ç¤Ë¤Ï¡¢¾åµ­¤Î¤è¤¦¤Ë°ìÅÙ¡¢¼Â¿ô¤ò½ñ¤¤¤Æ¤ß¤ë¤³¤È¤¬Â礭¤Ê³Ø½¬¤Ë¤Ê¤ê¤Þ¤¹¡£
½èÍý¤¬¤ï¤«¤é¤Ê¤¯¤Ê¤Ã¤Æ¤­¤¿¤È¤­¤Ë¤Ï¡¢ÊÑ¿ô¤ÎÃæ¿È¤ò¹Í¤¨¤Æ¤¯¤À¤µ¤¤¡£

¡¡Debug.Log()¥á¥½¥Ã¥É¤òÍøÍѤ¹¤ë¤È Console ¥Ó¥å¡¼¤ËÊÑ¿ô¤ÎÃͤòɽ¼¨¤Ç¤­¤Þ¤¹¤Î¤Ç¡¢¤³¤Á¤é¤â½¼Ê¬³èÍѤ·¤Æ¤¯¤À¤µ¤¤¡£


»²¹Í¥µ¥¤¥È
Unity¸ø¼°¥¹¥¯¥ê¥×¥È¥ê¥Õ¥¡¥ì¥ó¥¹
Transform.right
https://docs.unity3d.com/jp/current/ScriptReferenc...
¤Í¤³¤¸¤ã¤é¥·¥Æ¥£ÍÍ
¡ÚUnity¡Û¥ª¥Ö¥¸¥§¥¯¥È¤Î¸þ¤­¤ò¼èÆÀ¤¹¤ë
https://nekojara.city/unity-object-direction


£µ¡¥¡ãRigidbody2D.AddForce ¥á¥½¥Ã¥É¡ä


¡¡¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ËʪÍýŪ¤ÊÎϤò²Ã¤¨¤ë¥á¥½¥Ã¥É¤Ç¤¹¡£
ÎϤòÍ¿¤¨¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢ÊªÍý±é»»¤Ë¤Î¤Ã¤È¤Ã¤Æ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò°ÜÆ°¤µ¤»¤ë½èÍý¤¬¹Ô¤¨¤Þ¤¹¡£
Rigidbody2D.AddForce (Vector2 force, ForceMode2D mode= ForceMode2D.Force)

  // Rigidbody2D ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î¾ðÊó¤Î¤¦¤Á¡¢Rigidbody2D ¥¯¥é¥¹¤Î»ý¤Ä AddForce ¥á¥½¥Ã¥É¤ò¼Â¹Ô¤¹¤ë¤³¤È¤Ç°ÜÆ°¤µ¤»¤ë
  GetComponent<Rigidbody2D>().AddForce(transform.right * 300);

¡¡Âè1°ú¿ô¤Ë¡¢¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ËÍ¿¤¨¤ëÎϤÎÃͤòÀßÄꤷ¤Þ¤¹¡£Âè2°ú¿ô¤ÏÎϤÎÍ¿¤¨Êý¤ËÂФ¹¤ë¥ª¥×¥·¥ç¥óÃͤǤ¹¡£½é´üÃÍ¤Ç Force ¤¬ÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£
Rigidbody2D¤Î¾ì¹ç¤Ë¤Ï¡¢ForceMode¤Ï2¼ïÎढ¤ê¤Þ¤¹¡£ÎϤÎÃͤòÊѹ¹¤¹¤ë¤È¤É¤¦¤Ê¤ë¤«¡¢Âè2°ú¿ô¤ÎÀßÄê¤òÊѹ¹¤¹¤ë¤È¤É¤¦¤Ê¤ë¤«¤Ê¤É¡¢
¼«Ê¬¤ÇÄ´¤Ù¤Æ¡¢¥¹¥¯¥ê¥×¥È¤ËÂåÆþ¤·¡¢°ã¤¤¤ò³Îǧ¤·¤Æ¤ß¤Þ¤·¤ç¤¦¡£

¡¡º£²ó¤Î½èÍý¤Î¾ì¹ç¡¢Âè1°ú¿ô¤Ë¤Ï¡¢transform.right * 300 ¤ÎÃͤ¬ÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤ì¤ÏÀè¤Û¤É¤â²òÀ⤷¤¿¤è¤¦¤Ë¡¢(300, 0, 0) ¤È¤¤¤¦ÃͤˤʤäƤ¤¤Þ¤¹¡£
Âè2°ú¿ô¤Î»ØÄê¤Ï¤Ê¤¤¤¿¤á¡¢ForceMode ¤Ï¼«Æ°Åª¤Ë Force ¤ËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£

¡¡¤Ä¤Þ¤ê·×»»¤Î·ë²Ì¡¢AddForce ¥á¥½¥Ã¥É¤Ë¤è¤Ã¤Æ¡¢¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤¬±¦Êý¸þ¤Ë 300 ¤ÎÎϤǰÜÆ°¤ò¹Ô¤¦¡¢¤È¤¤¤¦½èÍý¤Ë¤Ê¤ê¤Þ¤¹¡£


»²¹Í¥µ¥¤¥È
Unity¸ø¼°¥¹¥¯¥ê¥×¥È¥ê¥Õ¥¡¥ì¥ó¥¹
Rigidbody2D.AddForce
https://docs.unity3d.com/ja/current/ScriptReferenc...
Unity¸ø¼°¥¹¥¯¥ê¥×¥È¥ê¥Õ¥¡¥ì¥ó¥¹
ForceMode2D
https://docs.unity3d.com/ja/current/ScriptReferenc...

SamuraiBlogÍÍ
¡ÚUnityÆþÌç¡ÛRigidbody¤Ç¼«ºß¤Ë°ÜÆ°!addforce¤äposition¤ò¶Ë¤á¤è¤¦!
https://www.sejuku.net/blog/54896


£¶¡¥Bullet ¥¹¥¯¥ê¥×¥È¤ò Bullet ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤¹¤ë


¡¡ºîÀ®¤·¤¿ Bullet ¥¹¥¯¥ê¥×¥È¤ò¡¢¥Ò¥¨¥é¥ë¥­¡¼¤Ë¤¢¤ë Bullet ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤·¤Æ¥¢¥¿¥Ã¥Á¤·¤Æ¤¯¤À¤µ¤¤¡£
¤Þ¤¿¡¢²¼µ­¤Î¼ê½çÆ°²è¤Î¤è¤¦¤Ë¡¢Add Component ¥Ü¥¿¥ó¤«¤é¥¢¥¿¥Ã¥Á¤¹¤ë¤³¤È¤â½ÐÍè¤Þ¤¹¡£


¡ã¼ê½çÆ°²è¡¡Bullet ¥¹¥¯¥ê¥×¥È¤ò Bullet ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤¹¤ë¡¡=>¡¡Rigidbody2D ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤â°ì½ï¤Ë¥¢¥¿¥Ã¥Á¤µ¤ì¤ë¡ä
https://gyazo.com/9b0527b762ccaa6ce98311540b3ef5b2


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



¡¡Bullet ¥¹¥¯¥ê¥×¥È¤ò¥¢¥¿¥Ã¥Á¤¹¤ë¤È¡¢RequireComponent °À­¤Îµ¡Ç½¤Ë¤è¤ê¡¢Bullet ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¼«Æ°Åª¤Ë Rigidbody2D ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤¬¥¢¥¿¥Ã¥Á¤µ¤ì¤¿¤È»×¤¤¤Þ¤¹¡£
¤³¤Î¤è¤¦¤Ë¡¢Unity ¤Ç¤Ï¥¹¥¯¥ê¥×¥È¤Î½èÍý¤ÎÆâÍƤò¥¨¥Ç¥£¥¿¡¼¤òÄ̤¸¤Æ³Îǧ¤¹¤ëÊýË¡¤¬Â¿¤¯ÍÑ°Õ¤µ¤ì¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢¼«Ê¬¤Î¤ï¤«¤ê¤ä¤¹¤¤¤ä¤êÊý¤ä¥³¥Ä¤ò¡¢ºî¶È¤·¤Ê¤¬¤é³Ð¤¨¤Æ¤¤¤Ã¤Æ¤¯¤À¤µ¤¤¡£

¡¡¥¹¥¯¥ê¥×¥È¤Î½èÍý¤À¤±¤Ç¤Ï¥¤¥á¡¼¥¸¤Ç¤­¤Ê¤¤¤â¤Î¤¬¡¢¼ÂºÝ¤Ë»ëǧ¤¹¤ë¤³¤È¤ÇÍý²ò¤Ç¤­¤ë¤³¤È¤â¿¤¯¤¢¤ë¤È»×¤¤¤Þ¤¹¡£

¡¡¤½¤ì¤Ç¤Ï¼¡¤Ë¡¢Rigidbody2D ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ÎÀßÄê¤ò¹Ô¤¤¤Þ¤¹¡£


£·¡¥Bullet ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î Rigidbody2D ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ÎÀßÄê¤ò¹Ô¤¦


¡¡Bullet ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë Rigidbody2D ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤¬¥¢¥¿¥Ã¥Á¤µ¤ì¤Þ¤·¤¿¤Î¤Ç¡¢ÀßÄê¤ò¹Ô¤¤¤Þ¤¹¡£

¡¡GravityScale ¤ÎÃͤò 1 => 0 ¤ËÊѹ¹¤·¤Þ¤¹¡£¤³¤ÎÃͤϥ²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ËÍ¿¤¨¤ë½ÅÎϤαƶÁÃͤǤ¹¡£0 ¤Î¾ì¹ç¡¢½ÅÎϤαƶÁ¤ò¼õ¤±¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£
¡¡
¡¡¼¡¤Ë Constraints ¤ÎÀßÄê¹àÌܤΤ¦¤Á¡¢FreezeRotation ¤Î Z ¤Ë¥Á¥§¥Ã¥¯¤òÆþ¤ì¤Æ¥ª¥ó¤Î¾õÂ֤ˤ·¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê Z ¼´Êý¸þ¤Ø¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î²óž¤¬È¯À¸¤·¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£
µÕ¤Ë¤³¤Î¥Á¥§¥Ã¥¯¤¬Æþ¤Ã¤Æ¤¤¤Ê¤¤¤È¡¢ÊªÍý±é»»¤Ë¤è¤Ã¤Æ°ÜÆ°¤¹¤ëºÝ¤Ë¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤¬ Z¼´Êý¸þ¤Ë¤¯¤ë¤¯¤ë²óž¤·¤Þ¤¹¡£
¸½ºß¤Ï´Ý¤¤²èÁü¤Ê¤Î¤Ç¤ï¤«¤ê¤Þ¤»¤ó¤¬¡¢°ìÄê¤ÎÊý¸þ¤ò¸þ¤¤¤Æ¤¤¤Ê¤¤¤ÈÀµ¾ï¤Ë¸«¤¨¤Ê¤¤²èÁü¤òÀßÄꤷ¤¿¾ì¹ç¡¢²èÁü¤¬¤¯¤ë¤¯¤ë²óž¤·¤Æ¤·¤Þ¤¤¡¢ÉÔ¶ñ¹ç¤Î¸¶°ø¤Ë¤Ê¤ê¤Þ¤¹¡£

¡¡¶µºà¤òÆɤó¤Ç´ù¾å¤Ç³Ø½¬¤¹¤ë¤Î¤ß¤Ç¤Ï¤Ê¤¯¡¢¥Á¥§¥Ã¥¯¤ò³°¤·¤¿¾õÂ֤γÎǧ¤â¼ÂºÝ¤ËÂ賤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£¼«Ê¬¤ÇÂ賤·¤¿Ê¬¤À¤±¼«Ê¬¤Î·Ð¸³ÃͤȤʤê¤Þ¤¹


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



¡¡°Ê¾å¤ÇÀßÄê¤Ï´°Î»¤Ç¤¹¡£


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


¡¡½àÈ÷¤¬À°¤¤¤Þ¤·¤¿¤Î¤Ç¡¢¥²¡¼¥à¤ò¼Â¹Ô¤·¤Æ¥¹¥¯¥ê¥×¥È¤Ë¤è¤ë¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ÎÀ©¸æ¤¬¹Ô¤¨¤Æ¤¤¤ë¤«¤ò³Îǧ¤·¤Þ¤·¤ç¤¦¡£

¡¡¥²¡¼¥à¼Â¹ÔÁ°¤Ë¡¢¥Ò¥¨¥é¥ë¥­¡¼¤Ë¤¢¤ë Bullet ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òÁªÂò¤·¤Æ¡¢¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤Ë¾ðÊó¤òɽ¼¨¤·¤Æ¤ª¤­¤Þ¤¹¡£
°ÜÆ°¤¹¤ë¾ì¹ç¤Ë¤Ï RectTransfom ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î Position X ¤ÎÃͤ¬ ÀµÊý¸þ¤Ë²Ã»»¤µ¤ì¤ë¤Ï¤º¤Ç¤¹¡£
¤Þ¤¿¡¢Debug.Log ¥á¥½¥Ã¥É¤Î½èÍý¤â¤¢¤ê¤Þ¤¹¤Î¤Ç¡¢°ÜÆ°¤µ¤»¤ë½èÍý¤¬¼Â¹Ô¤µ¤ì¤¿¤¢¤È¤Ë¡¢Console ¤Ë "ȯ¼Í" ¤È¤¤¤¦Ê¸»úÎó¤¬É½¼¨¤µ¤ì¤ë¤Ï¤º¤Ç¤¹¡£

¡¡Æ°ºî¤Î³Îǧ¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢¤É¤Î¤è¤¦¤Ê½èÍý¤¬¹Ô¤ï¤ì¤Æ¤¤¤ì¤ÐÀ©¸æ¤¬À®¸ù¤·¤Æ¤¤¤ë¤Î¤«¡¢¤½¤ì¤ò¤½¤ÎÅÔÅٹͤ¨¤Æ¤«¤é¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£
°Ç±À¤Ë¥²¡¼¥à¤ò¼Â¹Ô¤·¤Æ¡¢Æ°¤¤¤¿½èÍý¤ò¸«¤Æ¤«¤éȽÃǤ¹¤ë¤Î¤Ï¤è¤¯¤¢¤ê¤Þ¤»¤ó¡£


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


Console²èÁü



¡ãÀ©¸æ¤Ç¤­¤Æ¤¤¤Ê¤¤¥±¡¼¥¹¡ä
Æ°²è¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯


¡¡¾åµ­¤ÎÆ°²è¤Î¤è¤¦¤Ë¡¢¤â¤·¤â°ÜÆ°¤·¤Æ¤¤¤ë¥Ð¥ì¥Ã¥È¤¬ÅÓÃæ¤Ç²¼Êý¸þ¤ËÍî²¼¤·¤Æ¤·¤Þ¤¦¾ì¹ç¤Ë¤Ï¡¢¥Ð¥ì¥Ã¥È¤¬ Rigidbody2D ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î½ÅÎϤαƶÁ¤ò¼õ¤±¤Æ¤·¤Þ¤Ã¤Æ¤¤¤Þ¤¹¡£
Rigidbody2D ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î GravityScale ¤ÎÃͤ¬ 0 ¤ËÀßÄꤵ¤ì¤Æ¤¤¤ë¤«³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£

¡¡¤½¤â¤½¤â°ÜÆ°¤·¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢Bullet ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë Bullet ¥¹¥¯¥ê¥×¥È¤¬¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë¤«¤ò³Îǧ¤·¤Þ¤¹¡£

¡¡¥¨¥é¡¼¤Î¾õÂÖ¤ò¤ß¤Æ¡¢¸¶°ø¤¬¤É¤³¤Ë¤¢¤ë¤«¡¢£±¤Ä¤º¤Ä½çÈ֤˳Îǧ¤·¤Æ¤¤¤¯¤³¤È¤ÇÌäÂê¤òÆÃÄꤹ¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£

¡¡Àµ¾ï¤ËÀ©¸æ¤µ¤ì¤Æ¤¤¤ë¤³¤È¤¬³Îǧ¤Ç¤­¤Þ¤·¤¿¤é¡¢¼¡¤Î¥¹¥Æ¥Ã¥×¤Ë¿Ê¤ß¤Þ¤¹¡£


£±£°¡¥Bullet ¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¡¢º¸¥¯¥ê¥Ã¥¯¤·¤¿¤È¤­¤Ë¥Ð¥ì¥Ã¥È¤òȯ¼Í¤·¡¢£µÉøå¤Ë¤Ï¥Ð¥ì¥Ã¥È¤òÇ˲õ¤¹¤ë¡£À®¸ù¤·¤¿¤é¥Ð¥ì¥Ã¥È¤ò¥×¥ì¥Õ¥¡¥Ö²½¤¹¤ë

£±¡¥Àß·×


¡¡¼¡¤Ï¥×¥ì¥¤¥ä¡¼¤Î¼ÂºÝ¤Î¹ÔÆ°¤ËÂФ·¤Æ¡¢¥²¡¼¥àÆâ¤Î½èÍý¤òÈ¿±Ç¤Ç¤­¤ë¤è¤¦¤Ë½¤Àµ¤ò¤·¤Æ¤¤¤­¤Þ¤¹¡£

¡¡º£²ó¤Î¼ÂÁõÌÜŪ¤Ï¡Ö¥²¡¼¥à²èÌ̤òº¸¥¯¥ê¥Ã¥¯¤·¤¿ºÝ¤Ë¡×¡Ö¥Ð¥ì¥Ã¥È¤ò¾åÊý¸þ¤Ëȯ¼Í¤¹¤ë¡×¡Öȯ¼Í¤·¤Æ£µÉøå¤Ë¤Ï¥Ð¥ì¥Ã¥È¤òÇ˲õ¤¹¤ë¡×¤Ç¤¹¡£
¤Þ¤¿£±¤Ä¤º¤Ä¡¢½èÍý¤òʬ¤±¤Æ¹Í¤¨¤Æ¤¤¤­¤Þ¤·¤ç¤¦¡£

¡¡¸½ºß¤Ï Start ¥á¥½¥Ã¥ÉÆâ¤Ë¥Ð¥ì¥Ã¥È¤Î°ÜÆ°½èÍý¤¬¤¢¤ê¤Þ¤¹¤¬¡¢¤³¤Î½èÍý¤Ç¤Ï¡Ö¥Þ¥¦¥¹¤Îº¸¥¯¥ê¥Ã¥¯¤·¤¿ºÝ¤Ë¡×¤È¤¤¤¦¾ò·ï¤ÏËþ¤¿¤»¤Þ¤»¤ó¡£
¤Ç¤¹¤¬¡¢¤³¤Î°ÜÆ°¤Î½èÍý¼«ÂΤϤ½¤Î¤Þ¤ÞÍøÍѤǤ­¤ëÆâÍƤǤ¹¡£¤³¤¦¤¤¤Ã¤¿¾ì¹ç¡¢¿·¤·¤¯¥á¥½¥Ã¥É¤ò£±¤ÄºîÀ®¤·¡¢¤½¤Î¥á¥½¥Ã¥ÉÆâ¤Ë°ÜÆ°¤Î½èÍý¤òµ­½Ò¤·¤Þ¤¹¡£

¡¡¥á¥½¥Ã¥É¤Î̾Á°¤ÏǤ°Õ¤Ç¤¹¤¬¡¢¥á¥½¥Ã¥É̾¤«¤éÆâÍƤ¬¥¤¥á¡¼¥¸¤Ç¤­¤ë¤â¤Î¤¬ÍýÁۤǤ¹¡£
º£²ó¤Ï¤ï¤«¤ê¤ä¤¹¤¯¡¢ShotBullet ¤Ë¤·¤Þ¤·¤ç¤¦¡£¤³¤Î¤È¤­¡¢Æ°»ì + ̾»ì¤Ç¥á¥½¥Ã¥É̾¤òÉÕ¤±¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£
¤½¤·¤Æ¡¢¥×¥ì¥¤¥ä¡¼¤Î¹ÔÆ°¤ËÂФ·¤Æ¡¢¤³¤Î¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤¹Ì¿Îá¤ÎÊý¼°¤ËÊѹ¹¤·¤Þ¤¹¡£

¡¡º£²ó¤Î¥×¥ì¥¤¥ä¡¼¤Î¹ÔÆ°¤È¤Ï¡¢¡Ö¥Þ¥¦¥¹¤Îº¸¥¯¥ê¥Ã¥¯¤·¤¿ºÝ¤Ë¡×¤È¤¤¤¦Éôʬ¤ËÅö¤¿¤ê¤Þ¤¹¡£
¥¯¥ê¥Ã¥¯¤Ê¤É¤Î¥¤¥ó¥×¥Ã¥ÈȽÄê¤Î½èÍý¤Ï Unity ¤ÎÍÑ°Õ¤·¤Æ¤¤¤ë Input ¥¯¥é¥¹¤Î¥á¥½¥Ã¥É¤È¡¢Update ¥á¥½¥Ã¥É¤òÁȤ߹ç¤ï¤»¤ÆÍøÍѤ¹¤ë¤³¤È¤Ç¼ÂÁõ¤ò¹Ô¤¦¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
¤Þ¤¿ Input ¥¯¥é¥¹¤Î»ý¤Ä GetMouseButton ¡Á ¥á¥½¥Ã¥É¤Ï¡¢¤½¤Î¤Þ¤Þ¥¹¥Þ¥Û¤Î²èÌ̤Υ¿¥Ã¥×¤â´¶ÃΤ¹¤ëÌ¿Îá¤Ë¤â¤Ê¤ê¤Þ¤¹¡£

¡¡Uodate ¥á¥½¥Ã¥É¤Ï¾ï¤ËÆ°¤¤¤Æ¤¤¤ë½èÍý¤Ç¤¹¤Î¤Ç¡¢¤³¤Î½èÍý¤ÎÃæ¤Ç¡Ö¥Þ¥¦¥¹¤Îº¸¥¯¥ê¥Ã¥¯¡×¤È¤¤¤¦¾õÂÖ¤ò´Æ»ë¤·¡¢bool ·¿¤ÇȽÄê¤ò¤¹¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£
¥Þ¥¦¥¹¤Îº¸¥¯¥ê¥Ã¥¯¤¬¹Ô¤ï¤ì¤Æ¤¤¤Ê¤¤¾õÂÖ¤ò false ¡¢¥¯¥ê¥Ã¥¯¤µ¤ì¤¿¾õÂÖ¤ò true ¤È¤·¡¢¤½¤ì¤ò¾ò·ï¤È¤·¤Æ¡¢¥Ð¥ì¥Ã¥È¤òȯ¼Í¤¹¤ë¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤¹¤è¤¦¤Ë¥í¥¸¥Ã¥¯¤òÁȤ߾夲¤Æ¤¤¤­¤Þ¤¹¡£

¡¡¥í¥¸¥Ã¥¯¤ò¹Í¤¨¤ëºÝ¤Î¥Ý¥¤¥ó¥È¤Ï¡Ö¤Ï¤¸¤á¤ËÆüËܸì¤Ç¼ÂÁõ¤·¤¿¤¤ÆâÍƤò¥¹¥¯¥ê¥×¥ÈÆâ¤Ë¥³¥á¥ó¥È¤È¤·¤Æ½ñ¤¤¤Æ¤ª¤¯¡×¤³¤È¤Ç¤¹¡£
¤½¤ì¤ò¤Ê¤ë¤Ù¤¯¡¢¾ÜºÙ¤Ëµ­½Ò¤·¤Æ¤ª¤­¤Þ¤¹¡£Î㤨¤Ðº£²ó¤Î¾ì¹ç¤Ç¤¢¤ì¤Ð¡¢Update ¥á¥½¥Ã¥É¤Ë¼¡¤Î¤è¤¦¤Ë»öÁ°¤Ëµ­½Ò¤·¤Æ¤ª¤­¤Þ¤¹¡£

  void Update()
  {
      // ¥Þ¥¦¥¹¤Îº¸¥Ü¥¿¥ó¤ò¥¯¥ê¥Ã¥¯¤·¤¿¤é


      // ¥Ð¥ì¥Ã¥È¤òȯ¼Í¤¹¤ë


¡¡¡¡¡¡// Debug.Log ¤ÇÆ°ºî¤ò³Îǧ

  }

¡¡ShotBullet ¥á¥½¥Ã¥É¤Ë¤Ä¤¤¤Æ¤âƱÍͤǤ¹¡£¥¹¥¯¥ê¥×¥ÈÆâ¤Ë¥á¥½¥Ã¥É¤ò¿·¤·¤¯½ñ¤¯¾ì½ê¤Ï¡¢Â¾¤Î¥á¥½¥Ã¥É¤ÎÃæ¤Ç¤Ê¤±¤ì¤Ð¤É¤Î¾ì½ê¤«¤é½ñ¤­»Ï¤á¤Æ¤âÌäÂꤢ¤ê¤Þ¤»¤ó¡£
´Ö°ã¤¨¤Æ¡¢Update ¥á¥½¥Ã¥ÉÆâ¤Ë ShotBullet ¥á¥½¥Ã¥É¤ò½ñ¤«¤Ê¤¤¤è¤¦¤Ëµ¤¤òÉÕ¤±¤Æ¤¯¤À¤µ¤¤¡£

¡¡private void ShotBullet() {

      // ¥Ð¥ì¥Ã¥È¤Î°ÜÆ°½èÍý


      // Debug.Log¤Ç¤³¤Î½èÍý¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¤«³Îǧ


      // £µÉøå¤Ë¥Ð¥ì¥Ã¥È¤òÇ˲õ¤¹¤ë


  }

¡¡¤½¤·¤Æ¤³¤ì¤é¤Î¥³¥á¥ó¥È¤ò¸«¤Ê¤¬¤é¡¢¥×¥í¥°¥é¥à¤ò½ñ¤¤¤Æ¤¤¤¯¼êË¡¤Ç¤¹¡£



¡¡º£²ó¤Ï°ÜÆ°¤¹¤ëÊý¸þ¤¬±¦Êý¸þ¤Ç¤Ï¤Ê¤¯¾åÊý¸þ¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢È¯¼Í¤¹¤ëÊý¸þ¤¬Á°²ó¤È¤Ï°Û¤Ê¤ê¤Þ¤¹¡£
¤É¤Î¤è¤¦¤Ë¤¹¤ì¤Ð¾åÊý¸þ¤Ë¤Ê¤ë¤Î¤«¤ò¹Í¤¨¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£

¡¡À޳ѤǤ¹¤Î¤Ç¡¢È¯¼Í®Å٤ˤĤ¤¤Æ¤â½¤Àµ¤ò¹Ô¤¤¤Þ¤¹¡£Àè¤Û¤É¤Ï 300 ¤È¤¤¤¦¼Â¿ô¤Ç¤·¤¿¤¬¡¢¤Ê¤ë¤Ù¤¯¥×¥í¥°¥é¥à¤Ç¤ÏÊÑ¿ô¤òÍøÍѤ¹¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£
Àë¸À¥Õ¥£¡¼¥ë¥É¤Ë¤Æ¡¢¿·¤·¤¯ÊÑ¿ô¤òÀë¸À¤·¤Æ¡¢¤½¤ÎÊÑ¿ô¤Ë¥Ð¥ì¥Ã¥È¤Î®Å٤Ȥ¤¤¦Ìò³ä¤òǤ¤»¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£
¤³¤Î¤È¤­¡¢public ½¤¾þ»Ò¤ò¤Ä¤±¤ÆÀë¸À¤¹¤ë¤³¤È¤Ç¡¢¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¾å¤«¤éÊÑ¿ô¤ÎÃͤòÀßÄê¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
¤³¤Î¤è¤¦¤Ë¤·¤Æ¤ª¤¯¤È¡¢¥×¥í¥°¥é¥à¤òÊѹ¹¤»¤º¤Ë¡¢¥Ð¥ì¥Ã¥È¤Î®ÅÙ¤òÊѹ¹¤Ç¤­¤ë¤¿¤áÊØÍø¤Ç¤¹¡£

¡¡£µÉøå¤Ë¥Ð¥ì¥Ã¥È¤òÇ˲õ¤¹¤ë½èÍý¤â˺¤ì¤º¤Ëµ­½Ò¤·¤Æ¤¯¤À¤µ¤¤¡£
Destroy ¥á¥½¥Ã¥É¤Ï¤¹¤Ç¤Ë³Ø½¬ºÑ¤Î¤Ï¤º¤Ç¤¹¤Î¤Ç¡¢¤É¤Î¾ì½ê¤Ë½èÍý¤òµ­½Ò¤¹¤ë¤«¤¬ÂçÀڤˤʤê¤Þ¤¹¡£


£²¡¥Bullet ¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¡¢¥²¡¼¥à¼Â¹Ô»þ¤Ç¤Ï¤Ê¤¯¡¢¥Þ¥¦¥¹¤Îº¸¥¯¥ê¥Ã¥¯¤·¤¿ºÝ¤Ë¥Ð¥ì¥Ã¥È¤ò¾åÊý¸þ¤Ëȯ¼Í¤¹¤ë¤è¤¦¤ËÀ©¸æÊýË¡¤òÊѹ¹¤¹¤ë


¡¡°Ê¾å¤ÎÀ߷פò¤Õ¤Þ¤¨¤Æ¡¢¥×¥í¥°¥é¥à¤ò½ñ¤¤¤Æ¤¤¤­¤Þ¤¹¡£¤Þ¤º¤Ï¼«Ê¬¤Ê¤ê¤Î¥×¥í¥°¥é¥à¤ò½ñ¤¤¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£


Bullet.cs

¡¡<=¡¡¥¯¥ê¥Ã¥¯¤·¤¿¤é³«¤­¤Þ¤¹


¡¡¥¹¥¯¥ê¥×¥È¤òµ­½Ò¤·¤¿¤é¥»¡¼¥Ö¤ò¹Ô¤¤¤Þ¤¹¡£Visual Studio ¤Ç¤Ï¡¢ctrl + shift + s ¥­¡¼¤Ç¥»¡¼¥Ö¤¬¤Ç¤­¤Þ¤¹¡£

¡¡¼¡¤Î¼ê½ç¤Ë°Ü¤ëÁ°¤Ë¡¢¥¹¥¯¥ê¥×¥È¤Ëµ­½Ò¤·¤¿½èÍý¤Ë¤Ä¤¤¤Æ½çÈ֤ˤޤȤá¤ÆÀâÌÀ¤·¤Þ¤¹¡£


£³¡¥¡ãHeader°À­¡ä


¡¡Header¡Ê¥Ø¥Ã¥À¡¼¡Ë°À­¤Ï¡¢Àè¤Û¤É³Ø½¬¤·¤¿ RequireComponent °À­¤ÈƱ¤¸¡¢Â°À­¤Î£±¤Ä¤Ç¤¹¡£
¡¡Header °À­¤òÊÑ¿ô¤ÎÀë¸À¤ËÄɲ乤ë¤È¡¢¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¾å¤Ë( )Æâ¤Ëµ­½Ò¤·¤¿Ê¸»ú¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£

    [Header("¥Ð¥ì¥Ã¥È¤Î®ÅÙ")]
    public float bulletSpeed;

¤¢¤ë¤¤¤Ï

    [Header("¥Ð¥ì¥Ã¥È¤Î®ÅÙ")] public float bulletSpeed;

¡¡µ­½Ò¤ÎÊýË¡¤Ï¤É¤Á¤é¤Ç¤â¹½¤¤¤Þ¤»¤ó¡£


¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü(ÊÑ¿ô̾¤Î¾å¤Ë Header °À­¤ÇÀßÄꤷ¤¿ÆâÍƤ¬É½¼¨¤µ¤ì¤Æ¤¤¤ë)



¡¡¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¾å¤Ëɽ¼¨¤µ¤ì¤ëÊÑ¿ô̾¤À¤±¤Ç¤¹¤È¤ï¤«¤ê¤Ë¤¯¤¤¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¤¬¡¢ÆüËܸì¤Ç¥³¥á¥ó¥È¤òÉÕ¤±¤ë¤³¤È¤¬¤Ç¤­¤ë¤¿¤á¡¢ÊÑ¿ô¤ÎÆâÍƤ¬¤ï¤«¤ê¤ä¤¹¤¯¤Ê¤ê¤Þ¤¹¡£
º£¸å¤âÆä˶µºàÆâ¤Ëµ­ºÜ¤¬¤Ê¤¯¤Æ¤â¡¢¼«Ê¬¤ÇȽÃǤò¤·¤Æ¡¢É¬Íפ˱þ¤¸¤Æ¤³¤Î Header °À­¤ò»È¤¤¤³¤Ê¤·¤Þ¤·¤ç¤¦¡£


»²¹Í¥µ¥¤¥È
¥¨¥¯¥¹¥×¥é¥Ü ÍÍ
¡ÚUnity¡ÛHeaderAttribute¤ò»È¤Ã¤Æ¥Õ¥£¡¼¥ë¥É¤òÀ°Íý¤·¤Æ¤ß¤Ê¥¤¥«?
https://ekulabo.com/attribute-header


£´¡¥¡ãTransform.up ÊÑ¿ô¡ä


¡¡Transform ¥¯¥é¥¹¤¬´ÉÍý¤·¤Æ¤¤¤ëÊÑ¿ô¤Î£±¤Ä¤Ç¤¹¡£ÂоݤΥ²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î Transform ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ò»²¾È¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢
¤½¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¾åÊý¸þ(Y¼´¡¢Scene¥Ó¥å¡¼¤ÎÎФμ´)¤ò¼èÆÀ¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£

¡¡up ÊÑ¿ô¤Ë¤Ï Vector3 ·¿¤ÎÃͤǡ¢(0, 1, 0) ¤È¤¤¤¦¾ðÊ󤬳ÊǼ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£

¡¡GetComponent<Rigidbody2D>().AddForce(transform.up * bulletSpeed);

¡¡¾åµ­¤Î½èÍýÆâ¤ÎÊÑ¿ô¤ò¼Â¿ô¤ËÆɤßÂؤ¨¤Æ¡¢¼ÂºÝ¤Ë¤É¤Î¤è¤¦¤Ê·×»»½èÍý¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤«¡¢¤É¤ÎÊý¸þ¤ËÂФ·¤Æ°ÜÆ°¤ò¹Ô¤¦¤è¤¦¤Ë¤Ê¤ë¤Î¤«¤ò¹Í¤¨¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£


»²¹Í¥µ¥¤¥È
Unity¸ø¼°¥¹¥¯¥ê¥×¥È¥ê¥Õ¥¡¥ì¥ó¥¹
Transform.up
https://docs.unity3d.com/jp/current/ScriptReferenc...
¤Í¤³¤¸¤ã¤é¥·¥Æ¥£ÍÍ
¡ÚUnity¡Û¥ª¥Ö¥¸¥§¥¯¥È¤Î¸þ¤­¤ò¼èÆÀ¤¹¤ë
https://nekojara.city/unity-object-direction


£µ¡¥¡ãDestroy ¥á¥½¥Ã¥É¡ä


¡¡Destroy ¥á¥½¥Ã¥É¤ÎÂè1°ú¿ô¤Ë»ØÄꤷ¤¿¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òÇ˲õ¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
¡¡Âè2°ú¿ô¤Ë¤Ï¡¢float ·¿¤ÇÇ˲õ¤¹¤ë¤Þ¤ÇÃٱ䤹¤ëÉÿô¤Î»ØÄ꤬²Äǽ¤Ç¤¹¡£Ãٱ䤹¤ëÉÿô¤Î»ØÄ꤬¤¢¤ë¾ì¹ç¤Ë¤Ï¡¢¤½¤ÎÉÿô·Ð²á¸å¤ËÇ˲õ¤µ¤ì¤Þ¤¹¡£
Éÿô¤Î»ØÄ꤬¤Ê¤¤¡¢Âè1°ú¿ô¤Ç¤Î»ØÄê¤Î¾ì¹ç¤Ë¤Ï¡¢Â¨ºÂ¤ËÇ˲õ¤µ¤ì¤Þ¤¹¡£

  // 5Éøå¤Ë¤³¤Î¥¹¥¯¥ê¥×¥È¤¬¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È(¤Ä¤Þ¤ê¡¢¥Ð¥ì¥Ã¥È)¤òÇ˲õ¤¹¤ë
  Destroy(gameObject, 5f);

¡¡º£²ó¤Î¾ì¹ç¡¢Âè1°ú¿ô¤Ë¤Ï gameObject ÊÑ¿ô¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢¤³¤Î¥¹¥¯¥ê¥×¥È¤¬¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò»ØÄꤷ¤Æ¤¤¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢¥Ð¥ì¥Ã¥È¤Ë¤Ê¤ê¤Þ¤¹¡£
Âè2°ú¿ô¤Ë¤âÉÿô¤Î»ØÄ꤬¤¢¤ê¤Þ¤¹¤Î¤Ç¡¢¤³¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ï¡¢Destroy ¥á¥½¥Ã¥É¤¬¼Â¹Ô¤µ¤ì¤Æ¤«¤é 5Éøå¤ËÇ˲õ¤µ¤ì¤Þ¤¹¡£


»²¹Í¥µ¥¤¥È
Unity¸ø¼°¥¹¥¯¥ê¥×¥È¥ê¥Õ¥¡¥ì¥ó¥¹
Object.Destroy
https://docs.unity3d.com/ja/current/ScriptReferenc...
Unity¸ø¼°¥Þ¥Ë¥å¥¢¥ë
¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ÎºîÀ®¤ª¤è¤Óºï½ü
https://docs.unity3d.com/ja/2019.4/Manual/CreateDe...


£¶¡¥¡ãSummary¡Ê¥µ¥Þ¥ê¡¼¡Ëµ¡Ç½¡ä


¡¡´Ø¿ô¡Ê¥á¥½¥Ã¥É¡Ë¤ä¥¯¥é¥¹¤òºîÀ®¤·½ª¤ï¤ê¤Þ¤·¤¿¤é¡¢É¬¤º¤½¤Î´Ø¿ô¤ä¥¯¥é¥¹¤ÎÀâÌÀ¤ò½ñ¤¯¤è¤¦¤Ë¿´¤¬¤±¤Þ¤·¤ç¤¦¡£½ñ¤¯¾ì½ê¤Ï´Ø¿ô̾¡¢¤¢¤ë¤¤¤Ï¥¯¥é¥¹Ì¾¤Î£±¹Ô¾å¤ÎÉôʬ¤Ç¤¹¡£
Ⱦ³Ñ¥¹¥é¥Ã¥·¥å¤ò3¸ÄϢ³¤Çµ­½Ò¤¹¤ë¤ÈÀâÌÀÍѤΥ³¥á¥ó¥È¤Ç¤¢¤ë¥µ¥Þ¥ê¡¼(³µÍ×)¤¬¼«Æ°Åª¤Ëµ­½Ò¤µ¤ì¤Þ¤¹¡£

¡¡Ê̤ε­»ö¤Ç¾Ü¤·¤¯²òÀ⤷¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢¤½¤Á¤é¤ò³Îǧ¤·¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡£


¡¡=>¡¡ÃΤäƤª¤­¤¿¤¤Æ¦Ãμ±


£·¡¥Bullet ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤ò³Îǧ¤·¡¢ÀßÄê¤ò¹Ô¤¦


¡¡¥¹¥¯¥ê¥×¥È¤ËÊѹ¹¤¬¤¢¤ê¤Þ¤·¤¿¤Î¤Ç¡¢Bullet ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤ò³Îǧ¤·¤Þ¤¹¡£
public ½¤¾þ»Ò¤ÇÀë¸À¤·¤¿¾ðÊ󤬡¢Header¾ðÊó¤Ä¤­¤Ç¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤ËÄɲ䵤ì¤Æ¤¤¤Þ¤¹¡£


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



¡¡BulletSpeed ¤ÎÃͤòÀè¤Û¤É¤ÈƱ¤¸¤Ç 300 ¤ËÀßÄꤷ¤Æ¤¯¤À¤µ¤¤¡£¤³¤ÎÃͤϼ«Í³¤ËÊѹ¹¤·¡¢Ä´À°¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£


Bullet ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¡¡ÀßÄê¸å¤Î¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü



¡¡°Ê¾å¤ÇÀßÄê¤Ï´°Î»¤Ç¤¹¡£


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


¡¡¤¹¤Ù¤Æ¤Î¼ê½ç¤¬½ªÎ»¤·¤Þ¤·¤¿¤Î¤Ç¡¢¥²¡¼¥à¤ò¼Â¹Ô¤·¤ÆÆ°ºî¤ò³Îǧ¤·¤Þ¤·¤ç¤¦¡£
¥²¡¼¥à¼Â¹Ô»þ¤Ë¼Â¹Ô¤µ¤ì¤ë Start ¥á¥½¥Ã¥É¤Î½èÍý¤Ï¥³¥á¥ó¥È¥¢¥¦¥È¤·¤Æ¤¤¤ë¤Î¤Ç¡¢¼Â¹Ô¤µ¤ì¤Ê¤¤¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
¤â¤·¤â¥²¡¼¥à¼Â¹Ô»þ¤Ë¥Ð¥ì¥Ã¥È¤¬°ÜÆ°¤·¤Æ¤·¤Þ¤¦¾ì¹ç¤Ë¤Ï¡¢Start ¥á¥½¥Ã¥É¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£

¡¡Update ¥á¥½¥Ã¥É¤Ç¤Ï if ʸ¤Ë¤è¤Ã¤Æ¡¢¾ò·ï¼°¤òËþ¤¿¤·¤¿¾ì¹ç¤Ë¤Î¤ß¡¢ShotBullet ¥á¥½¥Ã¥É¤¬¼Â¹Ô¤µ¤ì¤ë¤è¤¦¤ËÀ©¸æ¤ò¹Ô¤Ã¤Æ¤¤¤Þ¤¹¡£
¾ò·ï¤Ïº¸¥¯¥ê¥Ã¥¯¤·¤¿¤È¤­¡¢¤Ç¤¹¤Î¤Ç¡¢¥²¡¼¥à¼Â¹ÔÃæ¤Ç¤¢¤Ã¤Æ¤â¡¢º¸¥¯¥ê¥Ã¥¯¤¹¤ë¤Þ¤Ç¤Ï¡¢if ʸ¤Î¾ò·ï¼°¤ÏËþ¤¿¤µ¤ì¤ë¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó¤Î¤Ç
¥Ð¥ì¥Ã¥È¤Ï°ÜÆ°¤·¤Ê¤¤¾õÂ֤ˤʤäƤ¤¤ë¤Ï¤º¤Ç¤¹¡£

¡¡Game¥Ó¥å¡¼ ¤Ë¥Þ¥¦¥¹¥«¡¼¥½¥ë¤ò°ÜÆ°¤·¡¢¤É¤³¤Ç¤â¤è¤¤¤Î¤Çº¸¥¯¥ê¥Ã¥¯¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£
¤½¤ì¤Ë¹ç¤ï¤»¤Æ¡¢¥Ð¥ì¥Ã¥È¤¬°ÜÆ°¤ò¹Ô¤¨¤ÐÀ©¸æÀ®¸ù¤Ç¤¹¡£

¡¡if ʸ¤ÎÃæ¤ËÍÑ°Õ¤·¤¿ Debug ¤Î¥á¥Ã¥»¡¼¥¸¤È ShotBullet ¥á¥½¥Ã¥É¤ÎÃæ¤Î Debug ¤Î¥á¥Ã¥»¡¼¥¸¤ÎξÊý¤¬ Console ¥Ó¥å¡¼¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£
¤³¤ì¤Ë¤è¤ê¡¢º£²ó¤Î½èÍý¤Ï¡¢Àµ¾ï¤Ë¤³¤Î Debug ¤ÎÉôʬ¤òÄ̲ᤷ¤Æ½èÍý¤µ¤ì¤¿¤³¤È¤¬Ê¬¤«¤ê¤Þ¤¹¡£


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


Console ¥Ó¥å¡¼



¡¡°Ê¾å¤Ç¥Ð¥ì¥Ã¥È¤Î¥¹¥¯¥ê¥×¥È¤Ï°ìö´°À®¤Ç¤¹¡£ºÇ¸å¤Ë Bullet ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò¥×¥ì¥Õ¥¡¥Ö¤Ë¤·¤Æ½ªÎ»¤Ç¤¹¡£


£¹¡¥¡ã¥×¥ì¥Õ¥¡¥Ö¤ÎºîÀ®¡ä


¡¡µóÆ°¤ËÌäÂ꤬¤Ê¤±¤ì¤Ð¡¢º£¸å¡¢¥Ð¥ì¥Ã¥È¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò¥¹¥¯¥ê¥×¥È¤«¤éÀ¸À®¤µ¤»¤ë¤³¤È¤âǰƬ¤ËÆþ¤ì¤Æ
Bullet ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò¥×¥ì¥Õ¥¡¥Ö¤Ë¤·¤Æ¤ª¤­¤Þ¤¹¡£

¡¡Project Æâ¤Ç±¦¥¯¥ê¥Ã¥¯¤ò¤·¤Æ¥á¥Ë¥å¡¼¤ò³«¤­¡¢Create => Folder ¤òÁªÂò¤·¡¢Ì¾Á°¤ò Prefabs ¤ËÊѹ¹¤·¤Þ¤¹¡£
¤³¤Î Prefabs ¥Õ¥©¥ë¥À¤Ë Bullet ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤·¤Æ¥×¥ì¥Õ¥¡¥Ö¤Ë¤·¤Þ¤¹¡£
¥×¥ì¥Õ¥¡¥Ö¤Ë¤¹¤ë¤È¡¢¥Ò¥¨¥é¥ë¥­¡¼¤Ë¤¢¤ë Bullet ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤¬¥¯¥í¡¼¥ó¤Ë¤Ê¤ë¤¿¤á¡¢¥¢¥¤¥³¥ó¤È̾Á°¤¬ÀĤ¤¿§¤Çɽ¼¨¤µ¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£


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



Prefabs/Bullet




¡¡Ìµ»ö¤Ë¥×¥ì¥Õ¥¡¥Ö¤Ë¤Ê¤Ã¤¿¤é¡¢¥Ò¥¨¥é¥ë¥­¡¼¤Ë¤¢¤ë Bullet ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ïºï½ü¤·¤Æ¤¯¤À¤µ¤¤¡£
Bullet ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òÁªÂò¤·¤Æ±¦¥¯¥ê¥Ã¥¯¤ò¤·¤Æ¥á¥Ë¥å¡¼¤òɽ¼¨¤·¡¢Delete ¤òÁªÂò¤¹¤ë¤«¡¢¥­¡¼¥Ü¡¼¥É¤Î Delete ¥Ü¥¿¥ó¤ò²¡¤¹¤³¤È¤Çºï½ü¤Ç¤­¤Þ¤¹¡£

¡¡¤½¤Î¸å¡¢Prefabs ¥Õ¥©¥ë¥ÀÆâ¤Î ¥×¥ì¥Õ¥¡¥Ö¤Ë¤Ê¤Ã¤¿ Bullet ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òÁªÂò¤·¤Æ¡¢¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤Î°ìÈÖ¾å¤Ë¤¢¤ë Opne Prefab ¥Ü¥¿¥ó¤ò²¡¤·¤Æ¥×¥ì¥Õ¥¡¥ÖÊÔ½¸¥â¡¼¥É¤Ë¤·¤Þ¤¹¡£


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



¡¡Transform ¤Î Position ¤ÎÃͤò¤¹¤Ù¤Æ (0, 0, 0)¤Ë¤·¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡£
¤³¤Î¤È¤­¡¢Transform ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î Reset ¤ò¤«¤±¤ë¤È¡¢ÀßÄꤷ¤Æ¤¢¤ë Scale ¤ÎÃͤâ 1 ¤ËÌá¤Ã¤Æ¤·¤Þ¤¦¤¿¤á¡¢Position ¤ÎÃͤÀ¤±¤ò 0 ¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£


Bullet ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¡¡¥×¥ì¥Õ¥¡¥Ö¤Ë¤·¤¿ºÝ¤Î¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü



¡¡¤³¤Î Bullet ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ÏCanvas ²¼¤ÇºîÀ®¤·¤Æ¤¤¤ë¤¿¤á¡¢ÊÔ½¸¥â¡¼¥É¤Ê¤¤¤Î¥Ò¥¨¥é¥ë¥­¡¼¤Ï Canvas ¤Î»Ò¤È¤·¤Æɽ¼¨¤µ¤ì¤Æ¤¤¤Þ¤¹¤¬¡¢¼ÂºÝ¤Ë¤Ï£±¤Ä¤ÎÆÈΩ¤·¤¿¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤¹¡£
RectTransfom ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ò»ý¤Ä¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò¥×¥ì¥Õ¥¡¥Ö¤Ë¤·¤¿¾ì¹ç¤Ë¤Ï¡¢Canvas ¤¢¤ê¤­¤ÇÍøÍѤ¹¤ë¤¿¤á¡¢¤³¤Î¤è¤¦¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£
¼ÂºÝ¤Ë¤³¤Î¥×¥ì¥Õ¥¡¥Ö¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò¥Ò¥¨¥é¥ë¥­¡¼¤Ë¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤·¤ÆÀßÃÖ¤·¤Æ¤ß¤ë¤Èʬ¤«¤ê¤Þ¤¹¤¬¡¢Canvas ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤¬°ì½ï¤ËÀ¸À®¤µ¤ì¤ë¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó¡£


Bullet ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¡¡ÊÔ½¸¥â¡¼¥É²èÁü



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

¡¡¼¡¤Ï¡¡¼ê½ç£·¡¡¡Ý¥¹¥¯¥ê¥×¥ÈƱ»Î¤Î·Ò¤¬¤ê¤ò¼ÂÁõ¡Ý¡¡¤Ç¤¹¡£

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


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

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

Menu



´ðÁÃ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

private



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

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