Äɲ䵤줿¹Ô¤Ï¤³¤Î¿§¤Ç¤¹¡£
ºï½ü¤µ¤ì¤¿¹Ô¤Ï¤³¤Î¿§¤Ç¤¹¡£
*ÊÑ¿ô¤Î¥¹¥³¡¼¥×
¡¡¥í¡¼¥«¥ëÊÑ¿ô¤È¥á¥ó¥ÐÊÑ¿ô¤Ï¡¢''ÊÑ¿ô¤¬Àë¸À¤µ¤ì¤ë¾ì½ê''¤ä''͸úÈÏ°Ï''¤Ë¤ª¤¤¤ÆÂ礤ʰ㤤¤¬¤¢¤ê¤Þ¤¹¡£
¡¡¥í¡¼¥«¥ëÊÑ¿ô¤È¤Ï¡¢¥á¥½¥Ã¥ÉÆâ¤ä¥Ö¥í¥Ã¥¯Æâ { } (if ʸ¤ä for ʸ¤Ê¤É)¤ÇÀë¸À¤µ¤ì¤ëÊÑ¿ô¤Î¤³¤È¤ò»Ø¤·¤Þ¤¹¡£
¥í¡¼¥«¥ëÊÑ¿ô¤Ï''¤½¤ÎÀë¸À¤µ¤ì¤¿¥Ö¥í¥Ã¥¯Æâ¤Ç¤·¤«Í¸ú''¤Ç¤Ï¤Ê¤¯¡¢''¥Ö¥í¥Ã¥¯¤«¤é½Ð¤ë¤È¼«Æ°Åª¤ËÇË´þ¤µ¤ì¤Þ¤¹(»È¤¨¤Ê¤¯¤Ê¤ê¤Þ¤¹)''¡£
¤è¤Ã¤Æ¥í¡¼¥«¥ëÊÑ¿ô¤Ï¡¢Àë¸À¤µ¤ì¤¿¥á¥½¥Ã¥É¡¢¥Ö¥í¥Ã¥¯Æâ¤Ç¤Î¤ß»ÈÍѲÄǽ¤Ç¡¢¤½¤Î³°Éô¤«¤é¤Ï¥¢¥¯¥»¥¹¤Ç¤¤Þ¤»¤ó¡£
¤³¤Î»ÈÍѤǤ¤ë͸úÈϰϤò''ÊÑ¿ô¤Î¥¹¥³¡¼¥×''¤È¸Æ¤Ó¤Þ¤¹¡£
¡¡°ìÊý¡¢¥á¥ó¥ÐÊÑ¿ô¤Ï¡¢''¥¯¥é¥¹¤Î¥á¥ó¥Ð¡¼¤È¤·¤ÆÄêµÁ¤µ¤ì¤¿ÊÑ¿ô''¤Ç¡¢¤½¤Î¥¯¥é¥¹Æâ¤Î¤¹¤Ù¤Æ¤Î¥á¥½¥Ã¥É¡¢¥Ö¥í¥Ã¥¯¤«¤é¥¢¥¯¥»¥¹¤Ç¤¤Þ¤¹¡£
¤Þ¤¿¥¢¥¯¥»¥¹½¤¾þ»Ò¤òÀë¸À¤Ç¤¤ë¤¿¤á¡¢public ½¤¾þ»Ò¤ò»È¤¦¤³¤È¤Ç¡¢³°Éô¥¯¥é¥¹¤«¤é¤â¥¢¥¯¥»¥¹¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£
¥á¥ó¥ÐÊÑ¿ô¤Ï¡¢¤½¤Î¥¯¥é¥¹¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤¬À¸À®¤µ¤ì¤¿»þÅÀ¤Ç¡¢½é´ü²½¤µ¤ì¤Þ¤¹¡£¤Þ¤¿¡¢¤½¤Î¥¯¥é¥¹¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤¬ÇË´þ¤µ¤ì¤ë¤Þ¤Ç¡¢¥á¥ó¥ÐÊÑ¿ô¤ÎÃͤÏÊÝ»ý¤µ¤ì¤Þ¤¹¡£
¡¡°Ê¾å¤Î¤è¤¦¤Ë¡¢¥í¡¼¥«¥ëÊÑ¿ô¤È¥á¥ó¥ÐÊÑ¿ô¤Î¼ç¤Ê°ã¤¤¤Ï¡¢Í¸úÈϰϤÈÃͤÎÊÝ»ý´ü´Ö¤Ç¤¹¡£
¥í¡¼¥«¥ëÊÑ¿ô¤Ï¥Ö¥í¥Ã¥¯Æâ¤Ç¤Î¤ß͸ú¤Ç¡¢¤½¤Î¥Ö¥í¥Ã¥¯¤òÈ´¤±¤ë¤ÈÇË´þ¤µ¤ì¤Þ¤¹¡£
°ìÊý¡¢¥á¥ó¥ÐÊÑ¿ô¤Ï¥¯¥é¥¹Æâ¤Î¤¹¤Ù¤Æ¤Î¥Ö¥í¥Ã¥¯¤«¤é¥¢¥¯¥»¥¹¤Ç¤¡¢¤½¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤¬ÇË´þ¤µ¤ì¤ë¤Þ¤ÇÃͤ¬ÊÝ»ý¤µ¤ì¤Þ¤¹¡£
¡¡¥×¥í¥°¥é¥à¤òÀ߷פ¹¤ëºÝ¤Ë¤Ï¡¢Å¬ÀÚ¤ÊÊÑ¿ô¤Î¥¹¥³¡¼¥×¤ò·èÄꤹ¤ë¤³¤È¤¬½ÅÍפǤ¹¡£
¥á¥ó¥ÐÊÑ¿ô¤Ï¡¢''Ê£¿ô¤Î¥á¥½¥Ã¥É¤Ç»ÈÍѤµ¤ì¤ëÃͤòÊÝ»ý¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤ë''¤³¤È¤¬°ìÈÌŪ¤Ç¤¹¡£
°ìÊý¡¢¥í¡¼¥«¥ëÊÑ¿ô¤Ï¡¢''°ì»þŪ¤ÊÃͤòÊÝ»ý¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤ë''¤³¤È¤¬°ìÈÌŪ¤Ç¤¹¡£
----
*¤Ê¤¼»È¤¤Ê¬¤±¤¬É¬Íפˤʤë¤Î¤«?
¡¡¤¹¤Ù¤Æ¤ÎÊÑ¿ô¤ò¥á¥ó¥ÐÊÑ¿ô¤ÇÀë¸À¤¹¤ë¾ì¹ç¡¢¥¯¥é¥¹Á´ÂΤÇÊÑ¿ô¤¬¶¦Í¤µ¤ì¤ë¤¿¤á¡¢ÃͤòÊѹ¹¤¹¤ëºÝ¤ËÃí°Õ¤¬É¬ÍפǤ¹¡£
Î㤨¤Ð¡¢¥×¥í¥°¥é¥à¤ÎÃæ¤ÇÊÑ¿ô¤ò»ÈÍѤ¹¤ëÊ£¿ô¤Î¥á¥½¥Ã¥É¤¬¤¢¤ë¾ì¹ç¡¢Æ±¤¸ÊÑ¿ô¤ò¹¹¿·¤¹¤ë²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡£
¤½¤Î¾ì¹ç¡¢¤É¤Î¥á¥½¥Ã¥É¤¬ÊÑ¿ô¤ò¹¹¿·¤·¤¿¤«¤ï¤«¤é¤Ê¤¯¤Ê¤ê¡¢¥×¥í¥°¥é¥à¤Î¥Ð¥°¤ò°ú¤µ¯¤³¤¹¸¶°ø¤È¤Ê¤ë²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡£
¡¡¤Þ¤¿¡¢¤¹¤Ù¤Æ¤ÎÊÑ¿ô¤ò¥á¥ó¥ÐÊÑ¿ô¤ÇÀë¸À¤¹¤ë¤È¡¢¥¯¥é¥¹¤¬ÊÝ»ý¤¹¤ë¾ðÊó¤¬ËÄÂç¤Ë¤Ê¤ë²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡£
¤³¤ì¤Ï¡¢¥á¥â¥ê¤Î»ÈÍÑÎ̤¬Áý¤¨¡¢¥×¥í¥°¥é¥à¤Î¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤Ë°±Æ¶Á¤òÍ¿¤¨¤ë²ÄǽÀ¤¬¤¢¤ë¤¿¤á¡¢''ŬÀÚ¤ÊÎ̤ÎÊÑ¿ô¤ò¥á¥ó¥ÐÊÑ¿ô¤È¤·¤ÆÀë¸À¤¹¤ë''¤³¤È¤¬½ÅÍפǤ¹¡£
¡¡°Ê¾å¤Î¤è¤¦¤Ë¡¢¤¹¤Ù¤Æ¤ÎÊÑ¿ô¤ò¥á¥ó¥ÐÊÑ¿ô¤ÇÀë¸À¤¹¤ë¤³¤È¤Ë¤Ï¡¢¥×¥í¥°¥é¥à¤Î¥Ð¥°¤ò°ú¤µ¯¤³¤¹²ÄǽÀ¤ä¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤Ë°±Æ¶Á¤òÍ¿¤¨¤ë²ÄǽÀ¤¬¤¢¤ë¤¿¤á¡¢Ãí°Õ¤¬É¬ÍפǤ¹¡£
¡¡¥á¥ó¥ÐÊÑ¿ô¤È¥í¡¼¥«¥ëÊÑ¿ô¤òŬÀڤ˻Ȥ¤Ê¬¤±¤ë¤³¤È¤¬¡¢¥×¥í¥°¥é¥à¤Î°ÂÁ´À¤ÈÊݼéÀ¤ò¸þ¾å¤µ¤»¤ë¤¿¤á¤Ë½ÅÍפȤʤê¤Þ¤¹¡£
----
*¤¹¤Ù¤Æ¤ò¥á¥ó¥ÐÊÑ¿ô¤ÇÍøÍѤ·¤¿Îã
¡¡¥µ¥ó¥×¥ë¥³¡¼¥É¤òÄ󼨤·¤Þ¤¹¡£
[+]
=|BOX|
using UnityEngine;
public class PlayerController : MonoBehaviour
{
private Rigidbody2D rb; // ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î Rigidbody2D ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤òÊÝ»ý¤¹¤ë¥á¥ó¥ÐÊÑ¿ô
private float moveHorizontal;
private float moveVertical;
private Vector2 movement;
private void Start()
{
// ¥¹¥¯¥ê¥×¥È¤Î¥¢¥¿¥Ã¥Á¤·¤Æ¤¤¤ë¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î Rigidbody2D ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ò¼èÆÀ¤·¤Ærb¤ËÂåÆþ¤¹¤ë
if (!TryGetComponent(out rb))
{
Debug.Log("Rigidbody2D¥³¥ó¥Ý¡¼¥Í¥ó¥È¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó¤Ç¤·¤¿");
}
}
private void FixedUpdate()
{
// ¿åÊ¿Êý¸þ¤ÎÆþÎϤò¼èÆÀ¤¹¤ë
moveHorizontal = Input.GetAxis("Horizontal");¡¡¡¡//¡¡¡ù¡
// ¿âľÊý¸þ¤ÎÆþÎϤò¼èÆÀ¤¹¤ë
moveVertical = Input.GetAxis("Vertical");¡¡¡¡¡¡¡¡//¡¡¡ù¢
¡¡¡¡¡¡¡¡// °ÜÆ°Êý¸þ¤Î·èÄê
movement = new Vector2(moveHorizontal, moveVertical);¡¡¡¡//¡¡¡ù£
// °ÜÆ°
rb.velocity = movement * speed;
}
}
||=
[END]
¡¡¤³¤ÎÎãʸ¤Ç¤Ï¡¢PlayerController ¥¯¥é¥¹¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
¤³¤Î¥¯¥é¥¹¤Ë¤Ï speed ¤È¤¤¤¦¥Ñ¥Ö¥ê¥Ã¥¯¤Ê¥á¥ó¥ÐÊÑ¿ô¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ÎÊÑ¿ô¤Ï¡¢¥×¥ì¥¤¥ä¡¼¥¥ã¥é¥¯¥¿¡¼¤Î°Üư®ÅÙ¤òÄ´À°¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£
¤³¤ÎÎãʸ¤Ç¤Ï¡¢PlayerController ¥¯¥é¥¹¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤Î¥¯¥é¥¹¤Ë¤Ï speed ¤È¤¤¤¦¥Ñ¥Ö¥ê¥Ã¥¯¤Ê¥á¥ó¥ÐÊÑ¿ô¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ÎÊÑ¿ô¤Ï¡¢¥×¥ì¥¤¥ä¡¼¥¥ã¥é¥¯¥¿¡¼¤Î°Üư®ÅÙ¤òÄ´À°¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£
¡¡Æ±¤¸¤¯ rb ¤È¤¤¤¦¥×¥é¥¤¥Ù¡¼¥È¤Ê¥á¥ó¥ÐÊÑ¿ô¤â¤¢¤ê¤Þ¤¹¡£¤³¤ÎÊÑ¿ô¤Ï¡¢¥×¥ì¥¤¥ä¡¼¥¥ã¥é¥¯¥¿¡¼¤Î Rigidbody2D ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ò»²¾È¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£
Start ¥á¥½¥Ã¥É¤Ç¡¢rb ÊÑ¿ô¤Ë GetComponent ¥á¥½¥Ã¥É¤ò»È¤Ã¤Æ Rigidbody2D ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ò¼èÆÀ¤·¤Æ¤¤¤Þ¤¹¡£
rb ¤È¤¤¤¦¥×¥é¥¤¥Ù¡¼¥È¤Ê¥á¥ó¥ÐÊÑ¿ô¤â¤¢¤ê¤Þ¤¹¡£¤³¤ÎÊÑ¿ô¤Ï¡¢¥×¥ì¥¤¥ä¡¼¥¥ã¥é¥¯¥¿¡¼¤Î Rigidbody2D ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ò»²¾È¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£Start ¥á¥½¥Ã¥É¤Ç¡¢rb ÊÑ¿ô¤Ë GetComponent ¥á¥½¥Ã¥É¤ò»È¤Ã¤Æ Rigidbody2D ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ò¼èÆÀ¤·¤Æ¤¤¤Þ¤¹¡£
¡¡FixedUpdate ¥á¥½¥Ã¥É¤Ç¤Ï¡¢moveHorizontal ¤È moveVertical ¤È¤¤¤¦¥á¥ó¥ÐÊÑ¿ô¤¬ÍøÍѤµ¤ì¤Æ¤¤¤Þ¤¹¡£
¤³¤ì¤é¤ÎÊÑ¿ô¤Ï¡¢¥×¥ì¥¤¥ä¡¼¤¬¥¡¼¥Ü¡¼¥É¤ä¥³¥ó¥È¥í¡¼¥é¡¼¤ÎÊý¸þ¥¡¼¤òÁàºî¤·¤¿¤È¤¤Ë¡¢°ÜÆ°Êý¸þ¤òɽ¤¹Ãͤò¼èÆÀ¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£
¤Þ¤¿ movement ¤È¤¤¤¦¥á¥ó¥ÐÊÑ¿ô¤â¤¢¤ê¤Þ¤¹¡£¤³¤ÎÊÑ¿ô¤Ï¡¢°ÜÆ°Êý¸þ¤Ë´ð¤Å¤¤¤Æ¡¢Rigidbody2D ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ËÎϤò²Ã¤¨¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£
FixedUpdate ¥á¥½¥Ã¥É¤Ç¤Ï¡¢moveHorizontal ¤È moveVertical ¤È¤¤¤¦¥í¡¼¥«¥ëÊÑ¿ô¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤ì¤é¤ÎÊÑ¿ô¤Ï¡¢¥×¥ì¥¤¥ä¡¼¤¬¥¡¼¥Ü¡¼¥É¤ä¥³¥ó¥È¥í¡¼¥é¡¼¤ÎÊý¸þ¥¡¼¤òÁàºî¤·¤¿¤È¤¤Ë¡¢°ÜÆ°Êý¸þ¤òɽ¤¹Ãͤò¼èÆÀ¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£movement ¤È¤¤¤¦¥í¡¼¥«¥ëÊÑ¿ô¤â¤¢¤ê¤Þ¤¹¡£¤³¤ÎÊÑ¿ô¤Ï¡¢°ÜÆ°Êý¸þ¤Ë´ð¤Å¤¤¤Æ¡¢Rigidbody2D ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ËÎϤò²Ã¤¨¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£
¤Ä¤Þ¤ê¡¢¥á¥ó¥ÐÊÑ¿ô¤Ï¥¯¥é¥¹Æâ¤ÎÊ£¿ô¤Î¥á¥½¥Ã¥É¤Ç»ÈÍѤµ¤ì¤ëÊÑ¿ô¤Ç¤¢¤ê¡¢°ìÊý¡¢¥í¡¼¥«¥ëÊÑ¿ô¤Ï¥á¥½¥Ã¥ÉÆâ¤Ç°ì»þŪ¤Ë»ÈÍѤµ¤ì¤ëÊÑ¿ô¤Ç¤¹¡£¥á¥ó¥ÐÊÑ¿ô¤Ï¡¢Ê£¿ô¤Î¥á¥½¥Ã¥É¤ÇƱ¤¸Ãͤò»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£¥í¡¼¥«¥ëÊÑ¿ô¤Ï¡¢¤½¤Î¥á¥½¥Ã¥ÉÆâ¤Ç¤Î¤ß»ÈÍѤµ¤ì¤ë¤¿¤á¡¢¥á¥â¥ê¤Î»ÈÍÑÎ̤ò¸º¤é¤·¡¢¥³¡¼¥É¤òÆɤߤ䤹¤¯¤·¤Þ¤¹¡£
----
**¾åµ¤ÎÌäÂêÅÀ
¡¡¡ù¡¡Á¡ù£¤ò¸«Ä¾¤·¤Æ¤¯¤À¤µ¤¤¡£
¡¡rb ÊÑ¿ô¤Ï Start ¥á¥½¥Ã¥É¤È FixedUpdate ¥á¥½¥Ã¥É¤ÎξÊý¤ÇÍøÍѤµ¤ì¤Æ¤¤¤Þ¤¹¤¬¡¢
¤³¤ì¤é¡ù¡¡Á£¤Î¾ðÊó¤Ï¤¹¤Ù¤Æ ''FixedUpdate ¥á¥½¥Ã¥ÉÆâ¤Ç¤Î¤ß''¤ÇÍøÍѤµ¤ì¤Æ¤¤¤ë¤³¤È¤¬¤ï¤«¤ê¤Þ¤¹¡£
¡¡''¥á¥½¥Ã¥É¤ò¤Þ¤¿¤¤¤Ç¾¤Î¥á¥½¥Ã¥ÉÆâ¤ÇÍøÍѤµ¤ì¤Æ¤¤¤Þ¤»¤ó''¤Î¤Ç¡¢¤³¤¦¤¤¤Ã¤¿ÊÑ¿ô¤Ï¥á¥ó¥ÐÊÑ¿ô¤Ç¤Ï¤Ê¤¯¡¢¥í¡¼¥«¥ëÊÑ¿ô¤È¤·¤Æ³Æ¥á¥½¥Ã¥ÉÆâ¤ÇÀë¸À¤ò¹Ô¤¦¤³¤È¤Ç¡¢
ÊÑ¿ô¤ËÂФ·¤Æ¤Î¥á¥â¥êÉéô¤¬¾Ã¤¨¤ë¤È¤È¤â¤ËÃͤÎÊݼéÀ¤¬¹â¤Þ¤ê¤Þ¤¹¡£
¡¡¥á¥½¥Ã¥É¤ò¤Þ¤¿¤¤¤Ç¾¤Î¥á¥½¥Ã¥ÉÆâ¤ÇÍøÍѤµ¤ì¤Æ¤¤¤Þ¤»¤ó¤Î¤Ç¡¢¤³¤¦¤¤¤Ã¤¿ÊÑ¿ô¤Ï
¥á¥ó¥ÐÊÑ¿ô¤Ç¤Ï¤Ê¤¯¡¢¥í¡¼¥«¥ëÊÑ¿ô¤È¤·¤Æ³Æ¥á¥½¥Ã¥ÉÆâ¤ÇÀë¸À¤ò¹Ô¤¦¤³¤È¤Ç¡¢ÊÑ¿ô¤ËÂФ·¤Æ¤Î¥á¥â¥êÉéô¤¬¾Ã¤¨¤ë¤È¤È¤â¤ËÃͤÎÊݼéÀ¤¬¹â¤Þ¤ê¤Þ¤¹¡£
¡¡¤³¤ì¤òºÇ½é¤«¤éÀ߷פ·¤Æ½ñ¤¤¤Æ¤¤¤¯¤³¤È¤Ï½é¿´¼Ô¤Ë¤ÏÆñ¤·¤¤¤Ç¤¹¡£
¤½¤Î¤¿¤á¡¢''¤¹¤Ù¤Æ¤Î¥½¡¼¥¹¥³¡¼¥É¤ò½ñ¤½ª¤¨¤Æ¤«¤é¤Ç¤è¤¤¤Î¤Ç¡¢É¬¤º°ìÅÙ¡¢¼«Ê¬¤Î½ñ¤¤¤¿½èÍý¤ò¸«Ä¾¤·¤Æ¤¯¤À¤µ¤¤''¡£
¡¡¤½¤·¤Æ¡¢¥á¥ó¥ÐÊÑ¿ô¤È¤·¤ÆÀë¸À¤·¤Æ¤¤¤ëÊÑ¿ô¤¬»È¤ï¤ì¤Æ¤¤¤ëÉôʬ¤ò£±¤Ä¤º¤Ä¸«Ä¾¤·¡¢
£±¤Ä¤Î¥á¥½¥Ã¥ÉÆâ¤Ç¤·¤«ÍøÍѤµ¤ì¤Æ¤¤¤Ê¤¤ÊÑ¿ô¤Ë¤Ä¤¤¤Æ¤Ï¡¢¥í¡¼¥«¥ëÊÑ¿ô¤È¤·¤ÆÀë¸À¤ò¤·Ä¾¤¹¤è¤¦¤Ë½èÍý¤ò²þÁ±¤·¤Æ¤¯¤À¤µ¤¤¡£
¥í¡¼¥«¥ëÊÑ¿ô¤òŬÀÚ¤ËÍѤ¤¤ë¤³¤È¤Ç¡¢¤½¤Î¥á¥½¥Ã¥ÉÆâ¤Ç¤Î¤ß»ÈÍѤµ¤ì¡¢¥á¥â¥ê¤Î»ÈÍÑÎ̤ò¸º¤é¤·¡¢¥³¡¼¥É¤òÆɤߤ䤹¤¯¤·¤Þ¤¹¡£
----
*ÊÑ¿ô¤ò»È¤¤Ê¬¤±¤¿Îã
¡¡¥á¥ó¥ÐÊÑ¿ô¤È¥í¡¼¥«¥ëÊÑ¿ô¤ò»È¤¤Ê¬¤±¤¿¥µ¥ó¥×¥ë¥³¡¼¥É¤òÄ󼨤·¤Þ¤¹¡£
[+]
=|BOX|
using UnityEngine;
public class PlayerController : MonoBehaviour
{
private Rigidbody2D rb; // ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î Rigidbody2D ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤òÊÝ»ý¤¹¤ë¥á¥ó¥ÐÊÑ¿ô
private void Start()
{
// ¥¹¥¯¥ê¥×¥È¤Î¥¢¥¿¥Ã¥Á¤·¤Æ¤¤¤ë¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î Rigidbody2D ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ò¼èÆÀ¤·¤Ærb¤ËÂåÆþ¤¹¤ë
if (!TryGetComponent(out rb))
{
Debug.Log("Rigidbody2D¥³¥ó¥Ý¡¼¥Í¥ó¥È¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó¤Ç¤·¤¿");
}
}
private void void FixedUpdate()
{
// ¿åÊ¿Êý¸þ¤ÎÆþÎϤò¼èÆÀ¤¹¤ë
float moveHorizontal = Input.GetAxis("Horizontal");
// ¿âľÊý¸þ¤ÎÆþÎϤò¼èÆÀ¤¹¤ë
float moveVertical = Input.GetAxis("Vertical");
¡¡¡¡¡¡¡¡// °ÜÆ°Êý¸þ¤Î·èÄê
Vector2 movement = new Vector2(moveHorizontal, moveVertical);
// °ÜÆ°
¡¡¡¡¡¡¡¡rb.velocity = movement * speed;
}
}
||=
[END]
¡¡¤µ¤¤Û¤É£´¤ÄÀë¸À¤µ¤ì¤Æ¤¤¤¿¥á¥ó¥ÐÊÑ¿ô¤Ï£±¤Ä¤À¤±¤È¤Ê¤ê¡¢ÊÑ¿ô¤Î¥á¥â¥êÉéô¤¬¸º¤ê¤Þ¤·¤¿¡£
Âå¤ï¤ê¤Ë FixedUpdate ¥á¥½¥Ã¥ÉÆâ¤Ç¥í¡¼¥«¥ëÊÑ¿ô¤¬£³¤ÄÀë¸À¤µ¤ì¤Æ¤ª¤ê¡¢
¤³¤ì¤é¤Ï¡¢¥á¥½¥Ã¥ÉÆâ¤Ç¤Î¤ßÍøÍѤµ¤ì¡¢¥á¥½¥Ã¥É¤Î¥Ö¥í¥Ã¥¯¤¬½ª¤ï¤ë¥¿¥¤¥ß¥ó¥°¤ÇÇË´þ¤µ¤ì¤Þ¤¹¡£
Âå¤ï¤ê¤Ë FixedUpdate ¥á¥½¥Ã¥ÉÆâ¤Ç¥í¡¼¥«¥ëÊÑ¿ô¤¬£³¤ÄÀë¸À¤µ¤ì¤Æ¤ª¤ê¡¢¤³¤ì¤é¤Ï¡¢¥á¥½¥Ã¥ÉÆâ¤Ç¤Î¤ßÍøÍѤµ¤ì¡¢
¥á¥½¥Ã¥É¤Î¥Ö¥í¥Ã¥¯¤¬½ª¤ï¤ë¥¿¥¤¥ß¥ó¥°¤ÇÇË´þ¤µ¤ì¤Þ¤¹¡£
¡¡½èÍý¤ò¸«Ä¾¤·¤ÆÊÑ¿ô¤ÎÀë¸À¤òŬÀڤʰÌÃ֤ˤ¹¤ë¤³¤È¤Ç¡¢¥×¥í¥°¥é¥à¤ÏÆɤߤ䤹¤¯¤Ê¤ê¡¢½èÍý¤ÎÉé²Ù¤âŬÀÚ¤ÊÈϰϤ˲þÁ±¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤·¤¿¡£
¤³¤ÎÎãʸ¤Ç¤Ï¡¢¥×¥ì¥¤¥ä¡¼¤Î°Üư®ÅÙ¤òÄ´À°¤¹¤ë¤¿¤á¤Ë speed ¥á¥ó¥ÐÊÑ¿ô¤¬»ÈÍѤµ¤ì¤Æ¤¤¤Þ¤¹¡£°ìÊý¡¢°ÜÆ°Êý¸þ¤òɽ¤¹¤¿¤á¤Ë»ÈÍѤµ¤ì¤ë¥í¡¼¥«¥ëÊÑ¿ô¤Ï moveHorizontal¡¢moveVertical¡¢¤ª¤è¤Ó movement ¤Ç¤¹¡£¤³¤ì¤é¤ÎÊÑ¿ô¤Ï¡¢¤½¤Î¥á¥½¥Ã¥ÉÆâ¤Ç¤Î¤ß»ÈÍѤµ¤ì¤ë¤¿¤á¡¢¥í¡¼¥«¥ëÊÑ¿ô¤ò»ÈÍѤ¹¤ë¤³¤È¤Ç¡¢¥³¡¼¥É¤Î²ÄÆÉÀ¤¬¸þ¾å¤·¤Þ¤¹¡£
----
*¤Þ¤È¤á
¡¡¥á¥ó¥ÐÊÑ¿ô¤Ï¡¢¥¯¥é¥¹Á´ÂΤǶ¦Í¤µ¤ì¤ë¤¿¤á¡¢Ãͤ¬Êѹ¹¤µ¤ì¤ë²ÄǽÀ¤¬¤¢¤ë¾ì¹ç¤ËÃí°Õ¤¬É¬ÍפǤ¹¡£
°ìÊý¡¢¥í¡¼¥«¥ëÊÑ¿ô¤Ï¡¢¥á¥½¥Ã¥ÉÆâ¤Ç¤Î¤ß»ÈÍѤµ¤ì¤ë¤¿¤á¡¢Ãͤ¬Êѹ¹¤µ¤ì¤ë¤³¤È¤Ï¤Ê¤¯¡¢¥×¥í¥°¥é¥à¤ÎÀµ³ÎÀ¤òÊݤĤΤËÌòΩ¤Á¤Þ¤¹¡£
¡¡¥í¡¼¥«¥ëÊÑ¿ô¤È¥á¥ó¥ÐÊÑ¿ô¤Î»È¤¤Ê¬¤±Êý¤Ï¡¢¥×¥í¥°¥é¥à¤ÎÌÜŪ¤äÀ߷פˤè¤Ã¤Æ°Û¤Ê¤ê¤Þ¤¹¡£
¥í¡¼¥«¥ëÊÑ¿ô¤È¥á¥ó¥ÐÊÑ¿ô¤Î»È¤¤Ê¬¤±Êý¤Ï¡¢¥×¥í¥°¥é¥à¤ÎÌÜŪ¤äÀ߷פˤè¤Ã¤Æ°Û¤Ê¤ê¤Þ¤¹¡£
°ìÈÌŪ¤Ë¤Ï¡¢ÊÑ¿ô¤ò»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤Ë¤Ï¡¢¤Ç¤¤ë¸Â¤ê¥í¡¼¥«¥ëÊÑ¿ô¤ò»ÈÍѤ¹¤ë¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£
¤¿¤À¤·¡¢ÊÑ¿ô¤òÊ£¿ô¤Î¥á¥½¥Ã¥É¤Ç»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤Ë¤Ï¡¢¥á¥ó¥ÐÊÑ¿ô¤ò»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
¡¡ºÇ¸å¤Ë¡¢¥¯¥é¥¹Æâ¤ÎÊÑ¿ô¤Î¥¹¥³¡¼¥×¤òŬÀÚ¤ËÍý²ò¤·¡¢É¬Íפʾì¹ç¤Ë¤Ï½¤¾þ»Ò¡Êpublic¡¢private¡¢protected¡Ë¤ò»ÈÍѤ·¤Æ¥¢¥¯¥»¥¹¤òÀ©¸Â¤¹¤ë¤³¤È¤¬½ÅÍפǤ¹¡£
ºÇ¸å¤Ë¡¢¥¯¥é¥¹Æâ¤ÎÊÑ¿ô¤Î¥¹¥³¡¼¥×¤òŬÀÚ¤ËÍý²ò¤·¡¢É¬Íפʾì¹ç¤Ë¤Ï½¤¾þ»Ò¡Êpublic¡¢private¡¢protected¡Ë¤ò»ÈÍѤ·¤Æ¥¢¥¯¥»¥¹¤òÀ©¸Â¤¹¤ë¤³¤È¤¬½ÅÍפǤ¹¡£
¡¡¤½¤·¤Æɬ¤º¡¢¼«Ê¬¤Î½ñ¤¤¤¿½èÍý¤ò¸«Ä¾¤·¤Æ¡¢¥½¡¼¥¹¥³¡¼¥É¤Î²þÁ±¤ò¹Ô¤Ã¤Æ¤¯¤À¤µ¤¤¡£
¡¡¤³¤ì¤é¤Ë¤è¤ê¡¢¥×¥í¥°¥é¥à¤Î°ÂÁ´À¤ÈÊݼéÀ¡¢¤½¤·¤ÆÆɲòÎϤȥ³¡¼¥Ç¥£¥ó¥°¥¹¥¥ë¤¬¸þ¾å¤·¤Þ¤¹¡£
¡¡¤³¤ì¤Ë¤è¤ê¡¢¥×¥í¥°¥é¥à¤Î°ÂÁ´À¤ÈÊݼéÀ¤¬¸þ¾å¤·¤Þ¤¹¡£
¡¡¥í¡¼¥«¥ëÊÑ¿ô¤È¥á¥ó¥ÐÊÑ¿ô¤Ï¡¢''ÊÑ¿ô¤¬Àë¸À¤µ¤ì¤ë¾ì½ê''¤ä''͸úÈÏ°Ï''¤Ë¤ª¤¤¤ÆÂ礤ʰ㤤¤¬¤¢¤ê¤Þ¤¹¡£
¡¡¥í¡¼¥«¥ëÊÑ¿ô¤È¤Ï¡¢¥á¥½¥Ã¥ÉÆâ¤ä¥Ö¥í¥Ã¥¯Æâ { } (if ʸ¤ä for ʸ¤Ê¤É)¤ÇÀë¸À¤µ¤ì¤ëÊÑ¿ô¤Î¤³¤È¤ò»Ø¤·¤Þ¤¹¡£
¥í¡¼¥«¥ëÊÑ¿ô¤Ï''¤½¤ÎÀë¸À¤µ¤ì¤¿¥Ö¥í¥Ã¥¯Æâ¤Ç¤·¤«Í¸ú''¤Ç¤Ï¤Ê¤¯¡¢''¥Ö¥í¥Ã¥¯¤«¤é½Ð¤ë¤È¼«Æ°Åª¤ËÇË´þ¤µ¤ì¤Þ¤¹(»È¤¨¤Ê¤¯¤Ê¤ê¤Þ¤¹)''¡£
¤è¤Ã¤Æ¥í¡¼¥«¥ëÊÑ¿ô¤Ï¡¢Àë¸À¤µ¤ì¤¿¥á¥½¥Ã¥É¡¢¥Ö¥í¥Ã¥¯Æâ¤Ç¤Î¤ß»ÈÍѲÄǽ¤Ç¡¢¤½¤Î³°Éô¤«¤é¤Ï¥¢¥¯¥»¥¹¤Ç¤¤Þ¤»¤ó¡£
¤³¤Î»ÈÍѤǤ¤ë͸úÈϰϤò''ÊÑ¿ô¤Î¥¹¥³¡¼¥×''¤È¸Æ¤Ó¤Þ¤¹¡£
¡¡°ìÊý¡¢¥á¥ó¥ÐÊÑ¿ô¤Ï¡¢''¥¯¥é¥¹¤Î¥á¥ó¥Ð¡¼¤È¤·¤ÆÄêµÁ¤µ¤ì¤¿ÊÑ¿ô''¤Ç¡¢¤½¤Î¥¯¥é¥¹Æâ¤Î¤¹¤Ù¤Æ¤Î¥á¥½¥Ã¥É¡¢¥Ö¥í¥Ã¥¯¤«¤é¥¢¥¯¥»¥¹¤Ç¤¤Þ¤¹¡£
¤Þ¤¿¥¢¥¯¥»¥¹½¤¾þ»Ò¤òÀë¸À¤Ç¤¤ë¤¿¤á¡¢public ½¤¾þ»Ò¤ò»È¤¦¤³¤È¤Ç¡¢³°Éô¥¯¥é¥¹¤«¤é¤â¥¢¥¯¥»¥¹¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£
¥á¥ó¥ÐÊÑ¿ô¤Ï¡¢¤½¤Î¥¯¥é¥¹¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤¬À¸À®¤µ¤ì¤¿»þÅÀ¤Ç¡¢½é´ü²½¤µ¤ì¤Þ¤¹¡£¤Þ¤¿¡¢¤½¤Î¥¯¥é¥¹¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤¬ÇË´þ¤µ¤ì¤ë¤Þ¤Ç¡¢¥á¥ó¥ÐÊÑ¿ô¤ÎÃͤÏÊÝ»ý¤µ¤ì¤Þ¤¹¡£
¡¡°Ê¾å¤Î¤è¤¦¤Ë¡¢¥í¡¼¥«¥ëÊÑ¿ô¤È¥á¥ó¥ÐÊÑ¿ô¤Î¼ç¤Ê°ã¤¤¤Ï¡¢Í¸úÈϰϤÈÃͤÎÊÝ»ý´ü´Ö¤Ç¤¹¡£
¥í¡¼¥«¥ëÊÑ¿ô¤Ï¥Ö¥í¥Ã¥¯Æâ¤Ç¤Î¤ß͸ú¤Ç¡¢¤½¤Î¥Ö¥í¥Ã¥¯¤òÈ´¤±¤ë¤ÈÇË´þ¤µ¤ì¤Þ¤¹¡£
°ìÊý¡¢¥á¥ó¥ÐÊÑ¿ô¤Ï¥¯¥é¥¹Æâ¤Î¤¹¤Ù¤Æ¤Î¥Ö¥í¥Ã¥¯¤«¤é¥¢¥¯¥»¥¹¤Ç¤¡¢¤½¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤¬ÇË´þ¤µ¤ì¤ë¤Þ¤ÇÃͤ¬ÊÝ»ý¤µ¤ì¤Þ¤¹¡£
¡¡¥×¥í¥°¥é¥à¤òÀ߷פ¹¤ëºÝ¤Ë¤Ï¡¢Å¬ÀÚ¤ÊÊÑ¿ô¤Î¥¹¥³¡¼¥×¤ò·èÄꤹ¤ë¤³¤È¤¬½ÅÍפǤ¹¡£
¥á¥ó¥ÐÊÑ¿ô¤Ï¡¢''Ê£¿ô¤Î¥á¥½¥Ã¥É¤Ç»ÈÍѤµ¤ì¤ëÃͤòÊÝ»ý¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤ë''¤³¤È¤¬°ìÈÌŪ¤Ç¤¹¡£
°ìÊý¡¢¥í¡¼¥«¥ëÊÑ¿ô¤Ï¡¢''°ì»þŪ¤ÊÃͤòÊÝ»ý¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤ë''¤³¤È¤¬°ìÈÌŪ¤Ç¤¹¡£
----
*¤Ê¤¼»È¤¤Ê¬¤±¤¬É¬Íפˤʤë¤Î¤«?
¡¡¤¹¤Ù¤Æ¤ÎÊÑ¿ô¤ò¥á¥ó¥ÐÊÑ¿ô¤ÇÀë¸À¤¹¤ë¾ì¹ç¡¢¥¯¥é¥¹Á´ÂΤÇÊÑ¿ô¤¬¶¦Í¤µ¤ì¤ë¤¿¤á¡¢ÃͤòÊѹ¹¤¹¤ëºÝ¤ËÃí°Õ¤¬É¬ÍפǤ¹¡£
Î㤨¤Ð¡¢¥×¥í¥°¥é¥à¤ÎÃæ¤ÇÊÑ¿ô¤ò»ÈÍѤ¹¤ëÊ£¿ô¤Î¥á¥½¥Ã¥É¤¬¤¢¤ë¾ì¹ç¡¢Æ±¤¸ÊÑ¿ô¤ò¹¹¿·¤¹¤ë²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡£
¤½¤Î¾ì¹ç¡¢¤É¤Î¥á¥½¥Ã¥É¤¬ÊÑ¿ô¤ò¹¹¿·¤·¤¿¤«¤ï¤«¤é¤Ê¤¯¤Ê¤ê¡¢¥×¥í¥°¥é¥à¤Î¥Ð¥°¤ò°ú¤µ¯¤³¤¹¸¶°ø¤È¤Ê¤ë²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡£
¡¡¤Þ¤¿¡¢¤¹¤Ù¤Æ¤ÎÊÑ¿ô¤ò¥á¥ó¥ÐÊÑ¿ô¤ÇÀë¸À¤¹¤ë¤È¡¢¥¯¥é¥¹¤¬ÊÝ»ý¤¹¤ë¾ðÊó¤¬ËÄÂç¤Ë¤Ê¤ë²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡£
¤³¤ì¤Ï¡¢¥á¥â¥ê¤Î»ÈÍÑÎ̤¬Áý¤¨¡¢¥×¥í¥°¥é¥à¤Î¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤Ë°±Æ¶Á¤òÍ¿¤¨¤ë²ÄǽÀ¤¬¤¢¤ë¤¿¤á¡¢''ŬÀÚ¤ÊÎ̤ÎÊÑ¿ô¤ò¥á¥ó¥ÐÊÑ¿ô¤È¤·¤ÆÀë¸À¤¹¤ë''¤³¤È¤¬½ÅÍפǤ¹¡£
¡¡°Ê¾å¤Î¤è¤¦¤Ë¡¢¤¹¤Ù¤Æ¤ÎÊÑ¿ô¤ò¥á¥ó¥ÐÊÑ¿ô¤ÇÀë¸À¤¹¤ë¤³¤È¤Ë¤Ï¡¢¥×¥í¥°¥é¥à¤Î¥Ð¥°¤ò°ú¤µ¯¤³¤¹²ÄǽÀ¤ä¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤Ë°±Æ¶Á¤òÍ¿¤¨¤ë²ÄǽÀ¤¬¤¢¤ë¤¿¤á¡¢Ãí°Õ¤¬É¬ÍפǤ¹¡£
¡¡¥á¥ó¥ÐÊÑ¿ô¤È¥í¡¼¥«¥ëÊÑ¿ô¤òŬÀڤ˻Ȥ¤Ê¬¤±¤ë¤³¤È¤¬¡¢¥×¥í¥°¥é¥à¤Î°ÂÁ´À¤ÈÊݼéÀ¤ò¸þ¾å¤µ¤»¤ë¤¿¤á¤Ë½ÅÍפȤʤê¤Þ¤¹¡£
----
*¤¹¤Ù¤Æ¤ò¥á¥ó¥ÐÊÑ¿ô¤ÇÍøÍѤ·¤¿Îã
¡¡¥µ¥ó¥×¥ë¥³¡¼¥É¤òÄ󼨤·¤Þ¤¹¡£
[+]
=|BOX|
using UnityEngine;
public class PlayerController : MonoBehaviour
{
private Rigidbody2D rb; // ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î Rigidbody2D ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤òÊÝ»ý¤¹¤ë¥á¥ó¥ÐÊÑ¿ô
private float moveHorizontal;
private float moveVertical;
private Vector2 movement;
private void Start()
{
// ¥¹¥¯¥ê¥×¥È¤Î¥¢¥¿¥Ã¥Á¤·¤Æ¤¤¤ë¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î Rigidbody2D ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ò¼èÆÀ¤·¤Ærb¤ËÂåÆþ¤¹¤ë
if (!TryGetComponent(out rb))
{
Debug.Log("Rigidbody2D¥³¥ó¥Ý¡¼¥Í¥ó¥È¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó¤Ç¤·¤¿");
}
}
private void FixedUpdate()
{
// ¿åÊ¿Êý¸þ¤ÎÆþÎϤò¼èÆÀ¤¹¤ë
moveHorizontal = Input.GetAxis("Horizontal");¡¡¡¡//¡¡¡ù¡
// ¿âľÊý¸þ¤ÎÆþÎϤò¼èÆÀ¤¹¤ë
moveVertical = Input.GetAxis("Vertical");¡¡¡¡¡¡¡¡//¡¡¡ù¢
¡¡¡¡¡¡¡¡// °ÜÆ°Êý¸þ¤Î·èÄê
movement = new Vector2(moveHorizontal, moveVertical);¡¡¡¡//¡¡¡ù£
// °ÜÆ°
rb.velocity = movement * speed;
}
}
||=
[END]
¡¡¤³¤ÎÎãʸ¤Ç¤Ï¡¢PlayerController ¥¯¥é¥¹¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
¤³¤Î¥¯¥é¥¹¤Ë¤Ï speed ¤È¤¤¤¦¥Ñ¥Ö¥ê¥Ã¥¯¤Ê¥á¥ó¥ÐÊÑ¿ô¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ÎÊÑ¿ô¤Ï¡¢¥×¥ì¥¤¥ä¡¼¥¥ã¥é¥¯¥¿¡¼¤Î°Üư®ÅÙ¤òÄ´À°¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£
¤³¤ÎÎãʸ¤Ç¤Ï¡¢PlayerController ¥¯¥é¥¹¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤Î¥¯¥é¥¹¤Ë¤Ï speed ¤È¤¤¤¦¥Ñ¥Ö¥ê¥Ã¥¯¤Ê¥á¥ó¥ÐÊÑ¿ô¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ÎÊÑ¿ô¤Ï¡¢¥×¥ì¥¤¥ä¡¼¥¥ã¥é¥¯¥¿¡¼¤Î°Üư®ÅÙ¤òÄ´À°¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£
¡¡Æ±¤¸¤¯ rb ¤È¤¤¤¦¥×¥é¥¤¥Ù¡¼¥È¤Ê¥á¥ó¥ÐÊÑ¿ô¤â¤¢¤ê¤Þ¤¹¡£¤³¤ÎÊÑ¿ô¤Ï¡¢¥×¥ì¥¤¥ä¡¼¥¥ã¥é¥¯¥¿¡¼¤Î Rigidbody2D ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ò»²¾È¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£
Start ¥á¥½¥Ã¥É¤Ç¡¢rb ÊÑ¿ô¤Ë GetComponent ¥á¥½¥Ã¥É¤ò»È¤Ã¤Æ Rigidbody2D ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ò¼èÆÀ¤·¤Æ¤¤¤Þ¤¹¡£
rb ¤È¤¤¤¦¥×¥é¥¤¥Ù¡¼¥È¤Ê¥á¥ó¥ÐÊÑ¿ô¤â¤¢¤ê¤Þ¤¹¡£¤³¤ÎÊÑ¿ô¤Ï¡¢¥×¥ì¥¤¥ä¡¼¥¥ã¥é¥¯¥¿¡¼¤Î Rigidbody2D ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ò»²¾È¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£Start ¥á¥½¥Ã¥É¤Ç¡¢rb ÊÑ¿ô¤Ë GetComponent ¥á¥½¥Ã¥É¤ò»È¤Ã¤Æ Rigidbody2D ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ò¼èÆÀ¤·¤Æ¤¤¤Þ¤¹¡£
¡¡FixedUpdate ¥á¥½¥Ã¥É¤Ç¤Ï¡¢moveHorizontal ¤È moveVertical ¤È¤¤¤¦¥á¥ó¥ÐÊÑ¿ô¤¬ÍøÍѤµ¤ì¤Æ¤¤¤Þ¤¹¡£
¤³¤ì¤é¤ÎÊÑ¿ô¤Ï¡¢¥×¥ì¥¤¥ä¡¼¤¬¥¡¼¥Ü¡¼¥É¤ä¥³¥ó¥È¥í¡¼¥é¡¼¤ÎÊý¸þ¥¡¼¤òÁàºî¤·¤¿¤È¤¤Ë¡¢°ÜÆ°Êý¸þ¤òɽ¤¹Ãͤò¼èÆÀ¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£
¤Þ¤¿ movement ¤È¤¤¤¦¥á¥ó¥ÐÊÑ¿ô¤â¤¢¤ê¤Þ¤¹¡£¤³¤ÎÊÑ¿ô¤Ï¡¢°ÜÆ°Êý¸þ¤Ë´ð¤Å¤¤¤Æ¡¢Rigidbody2D ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ËÎϤò²Ã¤¨¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£
FixedUpdate ¥á¥½¥Ã¥É¤Ç¤Ï¡¢moveHorizontal ¤È moveVertical ¤È¤¤¤¦¥í¡¼¥«¥ëÊÑ¿ô¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤ì¤é¤ÎÊÑ¿ô¤Ï¡¢¥×¥ì¥¤¥ä¡¼¤¬¥¡¼¥Ü¡¼¥É¤ä¥³¥ó¥È¥í¡¼¥é¡¼¤ÎÊý¸þ¥¡¼¤òÁàºî¤·¤¿¤È¤¤Ë¡¢°ÜÆ°Êý¸þ¤òɽ¤¹Ãͤò¼èÆÀ¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£movement ¤È¤¤¤¦¥í¡¼¥«¥ëÊÑ¿ô¤â¤¢¤ê¤Þ¤¹¡£¤³¤ÎÊÑ¿ô¤Ï¡¢°ÜÆ°Êý¸þ¤Ë´ð¤Å¤¤¤Æ¡¢Rigidbody2D ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ËÎϤò²Ã¤¨¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£
¤Ä¤Þ¤ê¡¢¥á¥ó¥ÐÊÑ¿ô¤Ï¥¯¥é¥¹Æâ¤ÎÊ£¿ô¤Î¥á¥½¥Ã¥É¤Ç»ÈÍѤµ¤ì¤ëÊÑ¿ô¤Ç¤¢¤ê¡¢°ìÊý¡¢¥í¡¼¥«¥ëÊÑ¿ô¤Ï¥á¥½¥Ã¥ÉÆâ¤Ç°ì»þŪ¤Ë»ÈÍѤµ¤ì¤ëÊÑ¿ô¤Ç¤¹¡£¥á¥ó¥ÐÊÑ¿ô¤Ï¡¢Ê£¿ô¤Î¥á¥½¥Ã¥É¤ÇƱ¤¸Ãͤò»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£¥í¡¼¥«¥ëÊÑ¿ô¤Ï¡¢¤½¤Î¥á¥½¥Ã¥ÉÆâ¤Ç¤Î¤ß»ÈÍѤµ¤ì¤ë¤¿¤á¡¢¥á¥â¥ê¤Î»ÈÍÑÎ̤ò¸º¤é¤·¡¢¥³¡¼¥É¤òÆɤߤ䤹¤¯¤·¤Þ¤¹¡£
----
**¾åµ¤ÎÌäÂêÅÀ
¡¡¡ù¡¡Á¡ù£¤ò¸«Ä¾¤·¤Æ¤¯¤À¤µ¤¤¡£
¡¡rb ÊÑ¿ô¤Ï Start ¥á¥½¥Ã¥É¤È FixedUpdate ¥á¥½¥Ã¥É¤ÎξÊý¤ÇÍøÍѤµ¤ì¤Æ¤¤¤Þ¤¹¤¬¡¢
¤³¤ì¤é¡ù¡¡Á£¤Î¾ðÊó¤Ï¤¹¤Ù¤Æ ''FixedUpdate ¥á¥½¥Ã¥ÉÆâ¤Ç¤Î¤ß''¤ÇÍøÍѤµ¤ì¤Æ¤¤¤ë¤³¤È¤¬¤ï¤«¤ê¤Þ¤¹¡£
¡¡''¥á¥½¥Ã¥É¤ò¤Þ¤¿¤¤¤Ç¾¤Î¥á¥½¥Ã¥ÉÆâ¤ÇÍøÍѤµ¤ì¤Æ¤¤¤Þ¤»¤ó''¤Î¤Ç¡¢¤³¤¦¤¤¤Ã¤¿ÊÑ¿ô¤Ï¥á¥ó¥ÐÊÑ¿ô¤Ç¤Ï¤Ê¤¯¡¢¥í¡¼¥«¥ëÊÑ¿ô¤È¤·¤Æ³Æ¥á¥½¥Ã¥ÉÆâ¤ÇÀë¸À¤ò¹Ô¤¦¤³¤È¤Ç¡¢
ÊÑ¿ô¤ËÂФ·¤Æ¤Î¥á¥â¥êÉéô¤¬¾Ã¤¨¤ë¤È¤È¤â¤ËÃͤÎÊݼéÀ¤¬¹â¤Þ¤ê¤Þ¤¹¡£
¡¡¥á¥½¥Ã¥É¤ò¤Þ¤¿¤¤¤Ç¾¤Î¥á¥½¥Ã¥ÉÆâ¤ÇÍøÍѤµ¤ì¤Æ¤¤¤Þ¤»¤ó¤Î¤Ç¡¢¤³¤¦¤¤¤Ã¤¿ÊÑ¿ô¤Ï
¥á¥ó¥ÐÊÑ¿ô¤Ç¤Ï¤Ê¤¯¡¢¥í¡¼¥«¥ëÊÑ¿ô¤È¤·¤Æ³Æ¥á¥½¥Ã¥ÉÆâ¤ÇÀë¸À¤ò¹Ô¤¦¤³¤È¤Ç¡¢ÊÑ¿ô¤ËÂФ·¤Æ¤Î¥á¥â¥êÉéô¤¬¾Ã¤¨¤ë¤È¤È¤â¤ËÃͤÎÊݼéÀ¤¬¹â¤Þ¤ê¤Þ¤¹¡£
¡¡¤³¤ì¤òºÇ½é¤«¤éÀ߷פ·¤Æ½ñ¤¤¤Æ¤¤¤¯¤³¤È¤Ï½é¿´¼Ô¤Ë¤ÏÆñ¤·¤¤¤Ç¤¹¡£
¤½¤Î¤¿¤á¡¢''¤¹¤Ù¤Æ¤Î¥½¡¼¥¹¥³¡¼¥É¤ò½ñ¤½ª¤¨¤Æ¤«¤é¤Ç¤è¤¤¤Î¤Ç¡¢É¬¤º°ìÅÙ¡¢¼«Ê¬¤Î½ñ¤¤¤¿½èÍý¤ò¸«Ä¾¤·¤Æ¤¯¤À¤µ¤¤''¡£
¡¡¤½¤·¤Æ¡¢¥á¥ó¥ÐÊÑ¿ô¤È¤·¤ÆÀë¸À¤·¤Æ¤¤¤ëÊÑ¿ô¤¬»È¤ï¤ì¤Æ¤¤¤ëÉôʬ¤ò£±¤Ä¤º¤Ä¸«Ä¾¤·¡¢
£±¤Ä¤Î¥á¥½¥Ã¥ÉÆâ¤Ç¤·¤«ÍøÍѤµ¤ì¤Æ¤¤¤Ê¤¤ÊÑ¿ô¤Ë¤Ä¤¤¤Æ¤Ï¡¢¥í¡¼¥«¥ëÊÑ¿ô¤È¤·¤ÆÀë¸À¤ò¤·Ä¾¤¹¤è¤¦¤Ë½èÍý¤ò²þÁ±¤·¤Æ¤¯¤À¤µ¤¤¡£
¥í¡¼¥«¥ëÊÑ¿ô¤òŬÀÚ¤ËÍѤ¤¤ë¤³¤È¤Ç¡¢¤½¤Î¥á¥½¥Ã¥ÉÆâ¤Ç¤Î¤ß»ÈÍѤµ¤ì¡¢¥á¥â¥ê¤Î»ÈÍÑÎ̤ò¸º¤é¤·¡¢¥³¡¼¥É¤òÆɤߤ䤹¤¯¤·¤Þ¤¹¡£
----
*ÊÑ¿ô¤ò»È¤¤Ê¬¤±¤¿Îã
¡¡¥á¥ó¥ÐÊÑ¿ô¤È¥í¡¼¥«¥ëÊÑ¿ô¤ò»È¤¤Ê¬¤±¤¿¥µ¥ó¥×¥ë¥³¡¼¥É¤òÄ󼨤·¤Þ¤¹¡£
[+]
=|BOX|
using UnityEngine;
public class PlayerController : MonoBehaviour
{
private Rigidbody2D rb; // ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î Rigidbody2D ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤òÊÝ»ý¤¹¤ë¥á¥ó¥ÐÊÑ¿ô
private void Start()
{
// ¥¹¥¯¥ê¥×¥È¤Î¥¢¥¿¥Ã¥Á¤·¤Æ¤¤¤ë¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î Rigidbody2D ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ò¼èÆÀ¤·¤Ærb¤ËÂåÆþ¤¹¤ë
if (!TryGetComponent(out rb))
{
Debug.Log("Rigidbody2D¥³¥ó¥Ý¡¼¥Í¥ó¥È¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó¤Ç¤·¤¿");
}
}
private void void FixedUpdate()
{
// ¿åÊ¿Êý¸þ¤ÎÆþÎϤò¼èÆÀ¤¹¤ë
float moveHorizontal = Input.GetAxis("Horizontal");
// ¿âľÊý¸þ¤ÎÆþÎϤò¼èÆÀ¤¹¤ë
float moveVertical = Input.GetAxis("Vertical");
¡¡¡¡¡¡¡¡// °ÜÆ°Êý¸þ¤Î·èÄê
Vector2 movement = new Vector2(moveHorizontal, moveVertical);
// °ÜÆ°
¡¡¡¡¡¡¡¡rb.velocity = movement * speed;
}
}
||=
[END]
¡¡¤µ¤¤Û¤É£´¤ÄÀë¸À¤µ¤ì¤Æ¤¤¤¿¥á¥ó¥ÐÊÑ¿ô¤Ï£±¤Ä¤À¤±¤È¤Ê¤ê¡¢ÊÑ¿ô¤Î¥á¥â¥êÉéô¤¬¸º¤ê¤Þ¤·¤¿¡£
Âå¤ï¤ê¤Ë FixedUpdate ¥á¥½¥Ã¥ÉÆâ¤Ç¥í¡¼¥«¥ëÊÑ¿ô¤¬£³¤ÄÀë¸À¤µ¤ì¤Æ¤ª¤ê¡¢
¤³¤ì¤é¤Ï¡¢¥á¥½¥Ã¥ÉÆâ¤Ç¤Î¤ßÍøÍѤµ¤ì¡¢¥á¥½¥Ã¥É¤Î¥Ö¥í¥Ã¥¯¤¬½ª¤ï¤ë¥¿¥¤¥ß¥ó¥°¤ÇÇË´þ¤µ¤ì¤Þ¤¹¡£
Âå¤ï¤ê¤Ë FixedUpdate ¥á¥½¥Ã¥ÉÆâ¤Ç¥í¡¼¥«¥ëÊÑ¿ô¤¬£³¤ÄÀë¸À¤µ¤ì¤Æ¤ª¤ê¡¢¤³¤ì¤é¤Ï¡¢¥á¥½¥Ã¥ÉÆâ¤Ç¤Î¤ßÍøÍѤµ¤ì¡¢
¥á¥½¥Ã¥É¤Î¥Ö¥í¥Ã¥¯¤¬½ª¤ï¤ë¥¿¥¤¥ß¥ó¥°¤ÇÇË´þ¤µ¤ì¤Þ¤¹¡£
¡¡½èÍý¤ò¸«Ä¾¤·¤ÆÊÑ¿ô¤ÎÀë¸À¤òŬÀڤʰÌÃ֤ˤ¹¤ë¤³¤È¤Ç¡¢¥×¥í¥°¥é¥à¤ÏÆɤߤ䤹¤¯¤Ê¤ê¡¢½èÍý¤ÎÉé²Ù¤âŬÀÚ¤ÊÈϰϤ˲þÁ±¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤·¤¿¡£
¤³¤ÎÎãʸ¤Ç¤Ï¡¢¥×¥ì¥¤¥ä¡¼¤Î°Üư®ÅÙ¤òÄ´À°¤¹¤ë¤¿¤á¤Ë speed ¥á¥ó¥ÐÊÑ¿ô¤¬»ÈÍѤµ¤ì¤Æ¤¤¤Þ¤¹¡£°ìÊý¡¢°ÜÆ°Êý¸þ¤òɽ¤¹¤¿¤á¤Ë»ÈÍѤµ¤ì¤ë¥í¡¼¥«¥ëÊÑ¿ô¤Ï moveHorizontal¡¢moveVertical¡¢¤ª¤è¤Ó movement ¤Ç¤¹¡£¤³¤ì¤é¤ÎÊÑ¿ô¤Ï¡¢¤½¤Î¥á¥½¥Ã¥ÉÆâ¤Ç¤Î¤ß»ÈÍѤµ¤ì¤ë¤¿¤á¡¢¥í¡¼¥«¥ëÊÑ¿ô¤ò»ÈÍѤ¹¤ë¤³¤È¤Ç¡¢¥³¡¼¥É¤Î²ÄÆÉÀ¤¬¸þ¾å¤·¤Þ¤¹¡£
----
*¤Þ¤È¤á
¡¡¥á¥ó¥ÐÊÑ¿ô¤Ï¡¢¥¯¥é¥¹Á´ÂΤǶ¦Í¤µ¤ì¤ë¤¿¤á¡¢Ãͤ¬Êѹ¹¤µ¤ì¤ë²ÄǽÀ¤¬¤¢¤ë¾ì¹ç¤ËÃí°Õ¤¬É¬ÍפǤ¹¡£
°ìÊý¡¢¥í¡¼¥«¥ëÊÑ¿ô¤Ï¡¢¥á¥½¥Ã¥ÉÆâ¤Ç¤Î¤ß»ÈÍѤµ¤ì¤ë¤¿¤á¡¢Ãͤ¬Êѹ¹¤µ¤ì¤ë¤³¤È¤Ï¤Ê¤¯¡¢¥×¥í¥°¥é¥à¤ÎÀµ³ÎÀ¤òÊݤĤΤËÌòΩ¤Á¤Þ¤¹¡£
¡¡¥í¡¼¥«¥ëÊÑ¿ô¤È¥á¥ó¥ÐÊÑ¿ô¤Î»È¤¤Ê¬¤±Êý¤Ï¡¢¥×¥í¥°¥é¥à¤ÎÌÜŪ¤äÀ߷פˤè¤Ã¤Æ°Û¤Ê¤ê¤Þ¤¹¡£
¥í¡¼¥«¥ëÊÑ¿ô¤È¥á¥ó¥ÐÊÑ¿ô¤Î»È¤¤Ê¬¤±Êý¤Ï¡¢¥×¥í¥°¥é¥à¤ÎÌÜŪ¤äÀ߷פˤè¤Ã¤Æ°Û¤Ê¤ê¤Þ¤¹¡£
°ìÈÌŪ¤Ë¤Ï¡¢ÊÑ¿ô¤ò»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤Ë¤Ï¡¢¤Ç¤¤ë¸Â¤ê¥í¡¼¥«¥ëÊÑ¿ô¤ò»ÈÍѤ¹¤ë¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£
¤¿¤À¤·¡¢ÊÑ¿ô¤òÊ£¿ô¤Î¥á¥½¥Ã¥É¤Ç»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤Ë¤Ï¡¢¥á¥ó¥ÐÊÑ¿ô¤ò»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
¡¡ºÇ¸å¤Ë¡¢¥¯¥é¥¹Æâ¤ÎÊÑ¿ô¤Î¥¹¥³¡¼¥×¤òŬÀÚ¤ËÍý²ò¤·¡¢É¬Íפʾì¹ç¤Ë¤Ï½¤¾þ»Ò¡Êpublic¡¢private¡¢protected¡Ë¤ò»ÈÍѤ·¤Æ¥¢¥¯¥»¥¹¤òÀ©¸Â¤¹¤ë¤³¤È¤¬½ÅÍפǤ¹¡£
ºÇ¸å¤Ë¡¢¥¯¥é¥¹Æâ¤ÎÊÑ¿ô¤Î¥¹¥³¡¼¥×¤òŬÀÚ¤ËÍý²ò¤·¡¢É¬Íפʾì¹ç¤Ë¤Ï½¤¾þ»Ò¡Êpublic¡¢private¡¢protected¡Ë¤ò»ÈÍѤ·¤Æ¥¢¥¯¥»¥¹¤òÀ©¸Â¤¹¤ë¤³¤È¤¬½ÅÍפǤ¹¡£
¡¡¤½¤·¤Æɬ¤º¡¢¼«Ê¬¤Î½ñ¤¤¤¿½èÍý¤ò¸«Ä¾¤·¤Æ¡¢¥½¡¼¥¹¥³¡¼¥É¤Î²þÁ±¤ò¹Ô¤Ã¤Æ¤¯¤À¤µ¤¤¡£
¡¡¤³¤ì¤é¤Ë¤è¤ê¡¢¥×¥í¥°¥é¥à¤Î°ÂÁ´À¤ÈÊݼéÀ¡¢¤½¤·¤ÆÆɲòÎϤȥ³¡¼¥Ç¥£¥ó¥°¥¹¥¥ë¤¬¸þ¾å¤·¤Þ¤¹¡£
¡¡¤³¤ì¤Ë¤è¤ê¡¢¥×¥í¥°¥é¥à¤Î°ÂÁ´À¤ÈÊݼéÀ¤¬¸þ¾å¤·¤Þ¤¹¡£