ºÇ½ª¹¹¿·¡§ orika_ex_miyako 2023ǯ03·î06Æü(·î) 21:17:45ÍúÎò
¡¡¥í¥¸¥Ã¥¯¤òÁȤà¤È¤Ï¡¢¥×¥í¥°¥é¥à¤òºî¤ë¤¿¤á¤ËɬÍפʡ¢½ç½ø¤ä¾ò·ï¤Ê¤É¤Î·è¤Þ¤ê¤´¤È¤ä»ÅÁȤߤò¹Í¤¨¤ë¤³¤È¤Ç¤¹¡£
¡¡¥×¥í¥°¥é¥à¤Ï¡¢¥³¥ó¥Ô¥å¡¼¥¿¤¬Íý²ò¤Ç¤¤ëÌ¿Îá¤Î½¸¤Þ¤ê¤Ç¤¢¤ê¡¢¤½¤ì¤ò½çÈ֤˼¹Ԥ¹¤ë¤³¤È¤ÇÌÜŪ¤ÎÆ°ºî¤ò¼Â¸½¤·¤Þ¤¹¡£
¤½¤Î¤¿¤á¡¢¥×¥í¥°¥é¥à¤òºî¤ë¤È¤¤Ë¤Ï¡¢¤É¤Î¤è¤¦¤Ê½çÈÖ¤ÇÌ¿Îá¤ò¼Â¹Ô¤¹¤ë¤«¤ä¡¢¤¢¤ë¾ò·ï¤òËþ¤¿¤·¤¿¤È¤¤Ë¤É¤Î¤è¤¦¤ÊÌ¿Îá¤ò¼Â¹Ô¤¹¤ë¤«¤Ê¤É¤ò¹Í¤¨¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
¡¡¥×¥í¥°¥é¥à¤ò½ñ¤¯¤Ë¤Ï¡¢¤Þ¤º¡¢¤É¤ó¤Ê¤³¤È¤ò¥×¥í¥°¥é¥à¤Ë¤µ¤»¤¿¤¤¤Î¤«¤ò¹Í¤¨¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
¤Þ¤º¤É¤Î¤è¤¦¤ÊÆ°ºî¤ò¥×¥í¥°¥é¥à¤Ç¼Â¸½¤·¤¿¤¤¤«¤ò¹Í¤¨¡¢¤½¤ì¤ò½ñ¤½Ð¤¹¤³¤È¤¬ÂçÀڤǤ¹¡£
Î㤨¤Ð¡¢¥²¡¼¥à¤Ç¤¢¤ì¤Ð¡¢¡Ö¥×¥ì¥¤¥ä¡¼¤òÆ°¤«¤·¤¿¤¤¡×¡ÖŨ¥¥ã¥é¥¯¥¿¡¼¤òÀ¸À®¤·¤¿¤¤¡×¡Ö¥¹¥³¥¢¤ò·×»»¤·¤¿¤¤¡×¤Ê¤É¤ÎÆ°ºî¤òÆüËܸì¤Ç¹Í¤¨¤Þ¤¹¡£
¡¡¤½¤·¤Æ¡¢¤½¤ì¤¾¤ì¤ÎÆ°ºî¤ò¼Â¸½¤¹¤ë¤¿¤á¤ËɬÍפʽèÍý¤ò¹Í¤¨¡¢¤½¤ì¤é¤ÎÆüËܸì¤ò¥×¥í¥°¥é¥à¤ÎÌ¿Îá¤ËÃÖ¤´¹¤¨¤Æ¤¤¤¤Þ¤¹¡£
¤½¤ÎºÝ¤Ë¤Ï¡¢¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤Îʸˡ¤ä¹½Ê¸¤Ë½¾¤¤¡¢Ì¿Îá¤ò½ñ¤¤¤Æ¤¤¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£
¡¡¥×¥í¥°¥é¥ß¥ó¥°¤Ï¡¢Æ¬¤ÎÃæ¤Ç¹Í¤¨¤Æ¤¤¤ëÆ°ºî¤ò¼Â¸½¤¹¤ë¤¿¤á¤Ë¤Ï¤É¤¦¤¹¤ë¤Î¤«¡¢ÌÀ³Î¤Ë¤¹¤ë¤³¤È¤¬½ÅÍפǤ¢¤ê¡¢¤½¤Î¤¿¤á¤Ë¤ÏÌäÂê²ò·èÎϤäÏÀÍýŪ»×¹ÍÎϤ¬É¬ÍפǤ¹¡£
¤³¤¦¤¤¤Ã¤¿²ò·èÎϤä»×¹ÍÎϤʤɤϡ¢Îý½¬¤ä·Ð¸³¤òÀѤळ¤È¤Ç¡¢½ù¡¹¤Ë¥¹¥¥ë¤ò¸þ¾å¤µ¤»¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¡¡¤É¤Î¤è¤¦¤ÊÆ°ºî¤ò¥×¥í¥°¥é¥à¤Ë¤µ¤»¤¿¤¤¤Î¤«¡¢¼«Ê¬¤Î¹Í¤¨¤òÆüËܸì¤È¤·¤Æ½ñ¤½Ð¤·¤Þ¤¹¡£
¤½¤Î¸å¡¢¤½¤ÎÆüËܸì¤Ç¹Í¤¨¤¿Éôʬ¤ò¥×¥í¥°¥é¥àÆâ¤Ë¥³¥á¥ó¥È¤È¤·¤Æ½ñ¤¹þ¤ß¤Þ¤¹¡£
¡¡¥³¥á¥ó¥È¤ò³èÍѤ¹¤ëºÝ¤Ë¤Ï¡¢°Ê²¼¤Î¤è¤¦¤Ê¥Ý¥¤¥ó¥È¤Ëµ¤¤ò¤Ä¤±¤ë¤³¤È¤¬½ÅÍפǤ¹¡£
¡¡¡¦¥³¥á¥ó¥È¤Ï¡¢¼«Ê¬¤¬Íý²ò¤·¤ä¤¹¤¤¤è¤¦¤Ë¡¢´Ê·é¤«¤Äʬ¤«¤ê¤ä¤¹¤¯½ñ¤¯¤è¤¦¤Ë¿´³Ý¤±¤ë¡£ ¡¡¡¦¥³¥á¥ó¥È¤ò³èÍѤ¹¤ë¤³¤È¤Ç¡¢¥³¡¼¥É¤Î½èÍýÆâÍƤò¼«Ê¬¼«¿È¤Ç¤âÍý²ò¤·¤ä¤¹¤¯¤Ê¤ë¤À¤±¤Ç¤Ê¤¯¡¢Â¾¤Î¿Í¤¬¥³¡¼¥É¤òÆɤó¤ÀºÝ¤Ë¤âʬ¤«¤ê¤ä¤¹¤¯¤Ê¤ë¡£ ¡¡¡¦¥×¥í¥°¥é¥à¤ËÃÖ¤´¹¤¨¤¿¸å¤Ë¤â¥³¥á¥ó¥È¤¬»Ä¤ë¤Î¤Ç¡¢¤½¤ì¤òŬÅ٤˳èÍѤ¹¤ë¤³¤È¤Ç¡¢¥³¡¼¥É¤Î²ÄÆÉÀ¤ò¹â¤á¤ë¤³¤È¤¬¤Ç¤¤ë¡£
¡¡°Ê¾å¤Î¤è¤¦¤Ê¥Ý¥¤¥ó¥È¤ò°Õ¼±¤·¤Ê¤¬¤é¡¢¥³¥á¥ó¥È¤ò³èÍѤ¹¤ë¤³¤È¤Ç¡¢¹Í¤¨¤Æ¤¤¤ëÆ°ºî¤ò¥×¥í¥°¥é¥ß¥ó¥°¤ËÃÖ¤´¹¤¨¤ä¤¹¤¯¤Ê¤ê¤Þ¤¹¡£
¡¡¥¡¼¥Ü¡¼¥É¤Î¥¸¥ã¥ó¥×ÍѤΥܥ¿¥ó¤ò²¡¤·¤¿¤é¥¸¥ã¥ó¥×¤µ¤»¤ë¡¢¤È¤¤¤¦µ¡Ç½¤¬»×¤¤¤Ä¤¤¤¿¤Ê¤é¡¢¤½¤ì¤òÆüËܸì¤Î¥³¥á¥ó¥È¤Ç¥×¥í¥°¥é¥àÆâ¤Ë½ñ¤¹þ¤ß¤Þ¤¹¡£
¡¡¡¡// ¥¸¥ã¥ó¥×ÍѤΥ¡¼¤¬²¡¤µ¤ì¡Ö¤¿¤é¡× // ¥¸¥ã¥ó¥×¤¹¤ë
¡¡¡Ö¡Á¤·¤¿¤é¡×¡Ö¡Á¤Î¾ì¹ç¡×¡Ö¡Á¤Î¤È¤¡×¤È¤¤¤Ã¤¿µ¿Ìä·Á¤Çʸ¾Ï¤¬¤¢¤ë¾ì¹ç¤Ë¤Ï¡¢¤½¤ÎÉôʬ¤Ç°ìÅÙ¶èÀÚ¤ê¤Þ¤¹¡£
¤Ê¤¼¤Ê¤é¡¢¤³¤Î¤è¤¦¤Êµ½Ò¤Ï if ʸ¤ò³èÍѤ·¤¿Ê¬´ô¤Î½èÍý¤ÎÉôʬ¤ËÅö¤¿¤ë¤¿¤á¤Ç¤¹¡£
¡¡Ê¬´ô¤¬¤¢¤ë¡¢¤È¤¤¤¦¤³¤È¤Ï¡¢¼¡¤Î½èÍý¤ÏȯÀ¸¤¹¤ë¤«È¯À¸¤·¤Ê¤¤¤«¤Ëʬ¤«¤ì¤Þ¤¹¤Î¤Ç¡¢
¤½¤¦¤¤¤¦Éôʬ¤ò£±¹Ô¤Ç½ñ¤¤¤Æ¤·¤Þ¤¦¤È½èÍý¤¬ºî¤ì¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£
¡¡¤½¤Î¸å¡¢¤³¤ÎÆüËܸì¤ò¸«¤Æ¡¢½èÍý¤ò¹Í¤¨¤Ê¤¬¤é¥×¥í¥°¥é¥à¤ËÃÖ¤´¹¤¨¤Þ¤¹¡£
// ¥¸¥ã¥ó¥×ÍѤΥ¡¼¤¬²¡¤µ¤ì¤¿¤é if (Input.GetButtonDown("Jump")) { // ¥¸¥ã¥ó¥×¤¹¤ë Jump(); }
¡¡¤³¤Î¤è¤¦¤Ë¡¢ÆüËܸì¤Ç½ñ¤¤¤¿¥³¥á¥ó¥È¤ÎÉôʬ¤ò£±¤Ä¤º¤Ä¡¢¥³¥á¥ó¥È¤ò¥×¥í¥°¥é¥à¤ÎÌ¿Îá¤ËÃÖ¤´¹¤¨¤Æ¤¤¤±¤ë¤«¤ò¹Í¤¨¤Æ¡¢½ñ¤¤¤Æ¤ß¤Þ¤¹¡£
¡¡½èÍý¤¬Àµ¾ï¤ËÆ°¤¯¤«¡¢Æ°¤«¤Ê¤¤¤«¤ÏÊ̤ˤ·¤Æ¡¢¤Þ¤º¤Ï¡¢Æ¬¤ËÉ⤫¤ó¤À¥×¥í¥°¥é¥à¤ò½ñ¤¯¤è¤¦¤Ë¤·¤Þ¤¹¡£
¤½¤¦¤¹¤ë¤³¤È¤Ç½ù¡¹¤Ë¥³¥á¥ó¥È¤È¥×¥í¥°¥é¥à¤ÎÃÖ¤´¹¤¨¤¬½ÐÍè¤ë¤è¤¦¤Ë¤Ê¤ë¤¿¤á¤Ç¤¹¡£
¡¡¥×¥í¥°¥é¥à¤Ï¤È¤Ë¤«¤¯½ñ¤«¤Ê¤±¤ì¤Ð³Ø½¬½ÐÍè¤Þ¤»¤ó¡£
¡¡¥×¥í¥°¥é¥à¤Ï¥á¥½¥Ã¥É¤ÈÊÑ¿ô¤Ë¤è¤Ã¤Æ½ÐÍè¤Æ¤¤¤Þ¤¹¡£
¤½¤·¤Æ¥á¥½¥Ã¥É¤ÎÆâÉô¤Ï¹½Ê¸¤Ë¤è¤Ã¤Æ½ñ¤«¤ì¡¢¤½¤ÎÃæ¤Ç¤ÏÊÑ¿ô¤¬ÍøÍѤµ¤ì¤Æ¤¤¤Þ¤¹¡£
¡¡ÊÑ¿ô¤Ë¤ÏÍÍ¡¹¤Ê¥Ç¡¼¥¿·¿¤¬ÍÑ°Õ¤µ¤ì¤Æ¤¤¤Æ¡¢¥²¡¼¥à¤ò¿Ê¤á¤ë¾å¤ÇɬÍפʾðÊó¤ò´ÉÍý¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
¡¡ÊÑ¿ô¤òºî¤ë¾ì¹ç¤Ë¤Ï»öÁ°¤Ë¡¢¤½¤ÎÌò³ä¤È¡¢Ìò³ä¤Ë±þ¤¸¤¿Ì¾Á°¤ò¤Ä¤±¤ë¤³¤È¤¬½ÅÍפǤ¹¡£
¡¡
¡¡²¼µ¤Î¥µ¥ó¥×¥ë¥×¥í¥°¥é¥à¤ò»È¤Ã¤Æ¡¢ÊÑ¿ô¤ÎÌò³ä¤ò¹Í¤¨¤Æ¤ß¤Þ¤¹¡£
Ìò³ä¤òÀßÄꤷ¤Æ¤ª¤¯¤³¤È¤Ë¤è¤ê¡¢¥×¥í¥°¥é¥àÆâ¤Î¤É¤ÎÉôʬ¤Ç³èÍѤ¹¤ë¤«¤â¸«¤¨¤Æ¤¯¤ë¤¿¤á¤Ç¤¹¡£
¡¡Àè¤Û¤É¤Î¥Ü¥¿¥ó¤ò²¡¤·¤¿¤é¥¸¥ã¥ó¥×(¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò¾åÊý¸þ¤Ë°ÜÆ°)¤µ¤»¤ë¥×¥í¥°¥é¥à¤ò¥Ù¡¼¥¹¤Ë¡¢Ìò³ä¤ò»ý¤Ã¤¿ÊÑ¿ô¤òÄɲä·¤¿¤â¤Î¤Ç¤¹¡£
¤Þ¤º¤ÏÁ´Ê¸¤òÄ󼨤·¡¢¤½¤Î¸å¡¢³Æ¹Ô¤´¤È¤ËÀâÌÀ¤·¤Þ¤¹¡£
PlayerJump.cs
using UnityEngine; public class PlayerJump : MonoBehaviour { ¡¡bool isJumping = false ¡¡Rigidbody rb; ¡¡float jumpSpeed = 100.0f; ¡¡void Start () { ¡¡¡¡¡¡¡¡TryGetComponent(out rb); ¡¡¡¡} ¡¡ void Update () { ¡¡¡¡¡¡if(Input.GetButtonDown("Jump")&& isJumping == false) { ¡¡¡¡¡¡¡¡¡¡¡¡Jump(); ¡¡¡¡¡¡¡¡} ¡¡} ¡¡ void Jump () { ¡¡ ¡¡rb.velocity = Vector3.up * jumpSpeed; ¡¡¡¡isJumping = true; ¡¡} ¡¡ private void OnCollisionEnter(Collision collision) { ¡¡if(collision.gameObject.CompareTag("Floor")) { ¡¡ isJumping = false; ¡¡ } ¡¡} }
¡¡¤³¤Î¥¹¥¯¥ê¥×¥È¤ò¥¢¥¿¥Ã¥Á¤·¤¿¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ï¡¢¥Ü¥¿¥ó¤ò²¡¤¹¤³¤È¤Ç¥¸¥ã¥ó¥×½ÐÍè¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
// Unity¤Î¥¨¥ó¥¸¥ó¤ò»ÈÍѤ¹¤ë¤¿¤á¤Î¥é¥¤¥Ö¥é¥ê¡¼¤ò¥¤¥ó¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£ using UnityEngine;
// ¥¯¥é¥¹¤ÎÀë¸À¤ò¤·¤Æ¤¤¤Þ¤¹¡£MonoBehaviour¥¯¥é¥¹¤ò·Ñ¾µ¤¹¤ë¤³¤È¤Ç¡¢¤³¤Î¥¹¥¯¥ê¥×¥È¤ò¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤Ç¤¤Þ¤¹¡£ public class PlayerJump : MonoBehaviour {
//¡¡ÊÑ¿ô¤ÎÀë¸À¤Ç¤¹¡£¤³¤ì¤é¤ÎÊÑ¿ô¤Ë¤ÏÌÀ³Î¤ÊÌò³ä¤¬¤¢¤ê¤Þ¤¹¡£ //¡¡isJumping¤Ï¡¢¸½ºß¥×¥ì¥¤¥ä¡¼¤¬¥¸¥ã¥ó¥×¤·¤Æ¤¤¤ë¤«¤É¤¦¤«¤ò¼¨¤¹¥Ö¡¼¥ëÃͤǤ¹¡£ //¡¡rb¤Ï¡¢¥×¥ì¥¤¥ä¡¼¤ÎʪÍýÆÃÀ¤ò´ÉÍý¤¹¤ë¤¿¤á¤Î Rigidbody ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î»²¾È¤Ç¤¹¡£ //¡¡jumpSpeed¤Ï¡¢¥×¥ì¥¤¥ä¡¼¤¬¥¸¥ã¥ó¥×¤¹¤ëºÝ¤Î®ÅÙÃͤò¼¨¤·¤Þ¤¹¡£ bool isJumping = false; Rigidbody rb; float jumpSpeed = 100.0f;
//¡¡¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤¬ºÇ½é¤Ë¥¢¥¯¥Æ¥£¥Ö¤Ë¤Ê¤Ã¤¿¤È¤¤Ë¸Æ¤Ó½Ð¤µ¤ì¤ë¥á¥½¥Ã¥É¤Ç¤¹¡£ //¡¡TryGetComponent¥á¥½¥Ã¥É¤ò»ÈÍѤ·¤Æ¡¢Rigidbody¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ò¼èÆÀ¤· rb ÊÑ¿ô¤ËÂåÆþ¤·¤Æ¤¤¤Þ¤¹¡£ void Start () { ¡¡¡¡TryGetComponent(out rb); }
//¡¡Ëè¥Õ¥ì¡¼¥à¸Æ¤Ó½Ð¤µ¤ì¤ë¥á¥½¥Ã¥É¤Ç¤¹¡£ //¡¡Input.GetButtonDown¥á¥½¥Ã¥É¤ò»ÈÍѤ·¤Æ¡¢¥×¥ì¥¤¥ä¡¼¤¬¥¸¥ã¥ó¥×¥Ü¥¿¥ó¤ò²¡¤·¤¿¤«¤É¤¦¤«¤ò³Îǧ¤·¡¢isJumping¤¬false¤Ç¤¢¤ë¾ì¹ç¤ËJump¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡£ void Update () { ¡¡if(Input.GetButtonDown("Jump")&& isJumping == false) { Jump();} }
//¡¡¥¸¥ã¥ó¥×¤Î¤¿¤á¤Î¥á¥½¥Ã¥É¤Ç¤¹¡£ // ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ËÂФ·¤Æ¾åÊý¸þ¤ËʪÍýŪ¤ÊÎϤò¤«¤±¤Þ¤¹¡£¤½¤¦¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢¥²¡¼¥à²èÌ̤Ǥϥץ쥤¥ä¡¼¤¬¥¸¥ã¥ó¥×¤·¤Æ¤¤¤ë¤è¤¦¤Ë¸«¤¨¤Þ¤¹¡£ //¡¡Rigidbody¤Î®ÅÙ(velocity)¤òÀßÄê(Vector3.up * jumpSpeed)¤·¤Æ¡¢isJumping¥Õ¥é¥°¤òtrue¤ËÀßÄꤷ¤Þ¤¹¡£ void Jump () { rb.velocity = Vector3.up * jumpSpeed; isJumping = true; }
// ¥×¥ì¥¤¥ä¡¼¤¬¾²¤Ë¾×Æͤ·¤¿¾ì¹ç¤Ë¸Æ¤Ó½Ð¤µ¤ì¤ë¥á¥½¥Ã¥É¤Ç¤¹¡£ // CompareTag¥á¥½¥Ã¥É¤ò»ÈÍѤ·¤Æ¡¢¾×Æͤ·¤¿¥ª¥Ö¥¸¥§¥¯¥È¤¬¡ÖFloor¡×¤È¤¤¤¦¥¿¥°¤ò»ý¤Ã¤Æ¤¤¤ë¤«¤É¤¦¤«¤ò³Îǧ¤·¤Æ¤¤¤Þ¤¹¡£ // isJumping¥Õ¥é¥°¤òfalse¤ËÀßÄꤷ¤Æ¡¢¥×¥ì¥¤¥ä¡¼¤¬ºÆ¤Ó¥¸¥ã¥ó¥×¤Ç¤¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£ private void OnCollisionEnter(Collision collision) { if(collision.gameObject.CompareTag("Floor")) { isJumping = false; } }
¡¡¥×¥ì¥¤¥ä¡¼¤¬¥¸¥ã¥ó¥×¤¹¤ë¤³¤È¤¬¤Ç¤¤ëÍýͳ¤Ï¡¢¥×¥ì¥¤¥ä¡¼¥¥ã¥é¥¯¥¿¡¼¤ËÎϤ¬Æ¯¤¯¤«¤é¤Ç¤¹¡£
¥¸¥ã¥ó¥×Ãæ¤Ï¡¢¥×¥ì¥¤¥ä¡¼¥¥ã¥é¥¯¥¿¡¼¤Ë¾å¸þ¤¤ÎÎϤ¬Æ¯¤¤¤Æ¤¤¤ë¤¿¤á¡¢¥¥ã¥é¥¯¥¿¡¼¤Ï¶õÃæ¤ËÉ⤫¤Ó¾å¤¬¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¤·¤«¤·¡¢¥×¥ì¥¤¥ä¡¼¤¬¶õÃæ¤Ë¤¤¤ë´Ö¤ËºÆÅÙ¥¸¥ã¥ó¥×¤·¤Æ¤·¤Þ¤¦¤È¡¢¥¥ã¥é¥¯¥¿¡¼¤Ï¤Þ¤¹¤Þ¤¹¹â¤¯Èô¤ó¤Ç¤·¤Þ¤¦¤¿¤á¡¢²èÌ̳°¤ËÈô¤Ó½Ð¤·¤Æ¤·¤Þ¤¦²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡£
¤½¤³¤Ç¡¢¥×¥í¥°¥é¥à¤Ç¤Ï¡¢¥×¥ì¥¤¥ä¡¼¤¬¥¸¥ã¥ó¥×Ãæ¤Ç¤¢¤ë¤«¤É¤¦¤«¤òȽÃǤ¹¤ë¤¿¤á¤ÎÊÑ¿ô isJumping ¤ò»È¤¤¤Þ¤¹¡£
¡¡¤³¤ì¤¬ÊÑ¿ô¤ÎÌò³ä¤Ç¤¹¡£
¡¡isJumping ÊÑ¿ô¤Ë¤Ï¡¢2¤Ä¤ÎÃͤ¬¤¢¤ê¤Þ¤¹¡£
¡¡true ¤Ï¡¢¥×¥ì¥¤¥ä¡¼¤¬¡Ö¥¸¥ã¥ó¥×¤·¤Æ¤¤¤ë¾õÂ֡סÖÃÏÌ̤ˤϤĤ¤¤Æ¤¤¤Ê¤¤¾õÂ֡פÎξÊý¤Ç¤¢¤ë¤³¤È¤òɽ¸½¤·¤Þ¤¹¡£
¡¡false ¤Ï¡¢¥×¥ì¥¤¥ä¡¼¤¬¡Ö¥¸¥ã¥ó¥×¤·¤Æ¤¤¤Ê¤¤¾õÂ֡סÖÃÏÌ̤ËÃåÃϤ·¤Æ¤¤¤ë¾õÂ֡פÎξÊý¤Ç¤¢¤ë¤³¤È¤òɽ¸½¤·¤Þ¤¹¡£
¡¡¤³¤Î¤è¤¦¤Ë¡¢bool ¤ÎÃͤˤϡ¢Á°¤â¤Ã¤ÆÌò³ä¤òÍ¿¤¨¤Æ¤ª¤¤Þ¤¹(¼«Ê¬¤ÎÃæ¤Ç¤É¤¦¤¤¤¦É÷¤Ë»È¤¦¤Î¤«¤ò¹Í¤¨¤Æ¤ª¤¯)
¤½¤¦¤·¤Ê¤¤¤È¡¢¥×¥í¥°¥é¥àÆâÉô¤Ç¤Î»È¤¤Êý¤Î¥¤¥á¡¼¥¸¤¬¤ï¤«¤Ê¤¤¤¿¤á¤Ç¤¹¡£
¡¡¤Ç¤Ï¡¢¼ÂºÝ¤Ë¤É¤Î¤è¤¦¤Ë»È¤¦¤³¤È¤Ç¡¢¥¸¥ã¥ó¥×¤ÎÀ©¸æ¤¬¹Ô¤ï¤ì¤Æ¤¤¤ë¤Î¤«¤ò¡¢¥×¥í¥°¥é¥à¤ò¸«¤Ê¤¬¤é¹Í¤¨¤Þ¤¹¡£
¡¡¤Þ¤º¡¢isJumping ¤ÎÃͤ¬ false ¤Ç¤Ê¤±¤ì¤Ð¡¢¥¸¥ã¥ó¥×ÍѤΥܥ¿¥ó¤ò²¡¤·¤Æ¤â¥¸¥ã¥ó¥×¤ò¹Ô¤¤¤Þ¤»¤ó¡£
void Update () { ¡¡if(Input.GetButtonDown("Jump")&& isJumping == false) {¡¡¡¡//¡¡¢«¡¡¤³¤³ ¡¡¡¡¡¡¡¡Jump(); ¡¡¡¡} }
¡¡¥×¥ì¥¤¥ä¡¼¤¬¥¸¥ã¥ó¥×¤ò¤¹¤ë¤È¡¢isJumping ¤ÎÃÍ¤Ï true ¤Ë¤Ê¤ê¤Þ¤¹¡£
void Jump () { rb.velocity = Vector3.up * jumpSpeed; isJumping = true;¡¡¡¡//¡¡¢«¡¡¤³¤³ }
¡¡¤³¤Î»þÅÀ¤ÇºÇ½é¤Ë½ÐÍ褿¥Ü¥¿¥ó¤Î½èÍý¤Ï¡¢µ¡Ç½¤ò¤·¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£
²¿¸Î¤Ê¤é¡¢isJumping ¤ÎÃͤ¬ true ¤ËÀÚ¤êÂؤï¤Ã¤Æ¤¤¤ë¤Î¤Ç¡¢¥Ü¥¿¥ó¤ò²¡¤·¤¿¸å¤Ë¤¢¤ë isJumping == false ¤ÎÉôʬ¤òËþ¤¿¤µ¤Ê¤¯¤Ê¤ë¤«¤é¤Ç¤¹¡£
¡¡¤½¤·¤Æ¡¢¥×¥ì¥¤¥ä¡¼¤¬ÃÏÌ̤ËÃåÃϤ¹¤ë¤È¡¢isJumping ¤ÎÃÍ¤Ï false ¤ËÌá¤ê¤Þ¤¹¡£
private void OnCollisionEnter(Collision collision) { if(collision.gameObject.CompareTag("Floor")) { isJumping = false;¡¡¡¡//¡¡¢« } }
¡¡¤³¤Î»ÅÁȤߤˤè¤Ã¤Æ¡¢¥×¥ì¥¤¥ä¡¼¤¬¶õÃæ¤Ë¤¤¤ë´Ö¤ËºÆÅÙ¥¸¥ã¥ó¥×¤ò¤·¤Æ¤·¤Þ¤¦¤³¤È¤òËɤ°¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¡¡ºÇ½é¤ËÀâÌÀ¤·¤¿¤è¤¦¤Ë¡¢Ê£¿ô¤Î¹½Ê¸¤ÈÊÑ¿ô¤òÁȤ߹ç¤ï¤»¤Æ»ÅÁȤߤòºî¤ë¤³¤È¤ò¥í¥¸¥Ã¥¯¤òÁȤà¤È¤¤¤¤¤Þ¤¹¡£
¡¡¤³¤Î¤è¤¦¤Ë¡¢¥×¥í¥°¥é¥à¤ÎÃæ¤ÇÊÑ¿ô¤ò»È¤¦¤³¤È¤Ç¡¢¥×¥ì¥¤¥ä¡¼¤ÎÆ°ºî¤òÀ©¸æ¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
ÊÑ¿ô¤ÎÃͤˤè¤Ã¤Æ¡¢¥×¥ì¥¤¥ä¡¼¤¬¤É¤Î¤è¤¦¤Ê¹ÔÆ°¤ò¤¹¤ë¤«¤ò·èÄꤹ¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¤½¤·¤Æ¡¢¥×¥í¥°¥é¥à¤òÆɤळ¤È¤Ç¡¢ÊÑ¿ô¤¬¤É¤Î¤è¤¦¤Ë»È¤ï¤ì¤Æ¤¤¤ë¤«¤òÍý²ò¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¡¡isJumping¤Ï¡¢¥×¥ì¥¤¥ä¡¼¤¬¸½ºß¥¸¥ã¥ó¥×Ã椫¤É¤¦¤«¤ò¼¨¤¹¤¿¤á¤ÎÊÑ¿ô¤Ç¤¹¡£
½é´üÃͤÏfalse¤ËÀßÄꤵ¤ì¡¢¥×¥ì¥¤¥ä¡¼¤¬¥¸¥ã¥ó¥×¤¹¤ë¤Ètrue¤ËÀßÄꤵ¤ì¤Þ¤¹¡£¤½¤·¤Æ¡¢¥×¥ì¥¤¥ä¡¼¤¬ÃÏÌ̤ËÃåÃϤ¹¤ë¤È¡¢ºÆ¤Ófalse¤ËÀßÄꤵ¤ì¤Þ¤¹¡£
¡¡isJumpingÊÑ¿ô¤Î»ÈÍÑÊýË¡¤Ï¡¢¥×¥ì¥¤¥ä¡¼¤¬¥¸¥ã¥ó¥×Ãæ¤ËºÆÅÙ¥¸¥ã¥ó¥×¤¹¤ë¤³¤È¤òËɻߤ¹¤ë¤¿¤á¤Ç¤¹¡£
Î㤨¤Ð¡¢¥×¥ì¥¤¥ä¡¼¤¬¶õÃæ¤Ë¤¤¤ë¾ì¹ç¡¢À©¸æ¤¬¤Ê¤±¤ì¤Ð²¿Å٤Ǥ⥸¥ã¥ó¥×¤ò¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¡¡¤·¤«¤·¡¢¤â¤·¥¸¥ã¥ó¥×Ãæ¤ËºÆÅÙ¥¸¥ã¥ó¥×¤¹¤ë¤³¤È¤¬¤Ç¤¤Æ¤·¤Þ¤¦¤È¡¢¥×¥ì¥¤¥ä¡¼¤¬²èÌ̳°¤ËÈô¤Ó½Ð¤·¤Æ¤·¤Þ¤Ã¤¿¤ê¡¢ÁÛÄê³°¤Î¾ì½ê¤Ë°ÜÆ°¤·¤Æ¤·¤Þ¤¦²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡£
¤½¤Î¤¿¤á¡¢isJumpingÊÑ¿ô¤ò»ÈÍѤ·¤Æ¡¢¥×¥ì¥¤¥ä¡¼¤¬ÃÏÌ̤ËÌá¤ë¤Þ¤Ç¡¢ºÆÅÙ¥¸¥ã¥ó¥×¤ò¤Ç¤¤Ê¤¯¤¹¤ë»ÅÁȤߤ¬¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
¡¡isJumpingÊÑ¿ô¤Î¹Í¤¨Êý¤òÍý²ò¤¹¤ë¤¿¤á¤Ë¤Ï¡¢Ê̤ÎÎã¤ò¸µ¤Ë¹Í¤¨¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£
¡¡Î㤨¤Ð¡¢Åż֤¬±Ø¤ËÅþÃ夹¤ëÁ°¤Ë¥É¥¢¤¬ÊĤޤäƤ·¤Þ¤¦¤³¤È¤òËɻߤ¹¤ë¤¿¤á¤Ë¡¢È⤬³«¤¤¤Æ¤¤¤ë¤«¤É¤¦¤«¤ò¼¨¤¹ÊÑ¿ô¤ò»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
È⤬³«¤¤¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢ºÆÅ٥ɥ¢¤ò³«¤±¤ë¤³¤È¤¬¤Ç¤¤Þ¤»¤ó¡£
Ʊ¤¸¤è¤¦¤Ë¡¢¥×¥ì¥¤¥ä¡¼¤¬¥¸¥ã¥ó¥×¤·¤Æ¤¤¤ë´Ö¤ÏºÆÅÙ¥¸¥ã¥ó¥×¤ò¤Ç¤¤Ê¤¯¤¹¤ë¤¿¤á¤Ë¡¢isJumpingÊÑ¿ô¤ò»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¡¡¤³¤Î¥×¥í¥°¥é¥à¤Ç¤Ï¡¢¥×¥ì¥¤¥ä¡¼¤¬¥¸¥ã¥ó¥×¤¹¤ë¤È¤¤Ë¤Ï¡¢¥×¥ì¥¤¥ä¡¼¤¬ÃÏÌ̤ˤ¤¤ë¾õÂ֤Ǥʤ±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
¤½¤Î¤¿¤á¡¢¥×¥í¥°¥é¥à¤Ç¤Ï¡¢¥¸¥ã¥ó¥×¤¬¤Ç¤¤ë¤«¤É¤¦¤«¤òȽÃǤ¹¤ë¤¿¤á¤Î¾ò·ïʬ´ô¤ò¹Ô¤Ã¤Æ¤¤¤Þ¤¹¡£
¡¡if(Input.GetButtonDown("Jump") && isJumping == false) ¤È¤¤¤¦Éôʬ¤¬¡¢¤½¤Î¾ò·ïʬ´ô¤ËÅö¤¿¤ê¤Þ¤¹¡£
¤³¤ì¤Ï¡¢¡ÖJump ¥Ü¥¿¥ó¤¬²¡¤µ¤ì¤¿¤«¤É¤¦¤«¤ò³Îǧ¤·¡¢¤«¤Ä¡¢¥×¥ì¥¤¥ä¡¼¤¬¥¸¥ã¥ó¥×¤·¤Æ¤¤¤Ê¤¤¾õÂÖ(ÃÏÌ̤ˤ¤¤ë¾õÂÖ)¤Ç¤¢¤ë¤«¤É¤¦¤«¤ò³Îǧ¤¹¤ë¡×¤È¤¤¤¦°ÕÌ£¤Ç¤¹¡£
¤è¤Ã¤Æ¡¢¥¸¥ã¥ó¥×¤·¤Æ¤¤¤Ê¤¤¾õÂ֤Ǥ¢¤ë¤È¤¤Ë¸Â¤ê¡¢¥¸¥ã¥ó¥×¤¬½ÐÍè¤ë¤è¤¦¤ËÀ©¸æ¤ò¹Ô¤Ã¤Æ¤¤¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¡¤½¤·¤Æ¡¢¥¸¥ã¥ó¥×¤¬¤Ç¤¤ë¤ÈȽÃǤµ¤ì¤¿¾ì¹ç¤Ë¤Ï¡¢Jump() ¤È¤¤¤¦¥á¥½¥Ã¥É¤¬¸Æ¤Ó½Ð¤µ¤ì¤Þ¤¹¡£
¤³¤Î¥á¥½¥Ã¥É¤Ç¤Ï¡¢ rb.velocity = Vector3.up * jumpSpeed ¤Î½èÍý¤Ë¤è¤Ã¤Æ¥×¥ì¥¤¥ä¡¼¤Ë¾å¸þ¤¤ÎÎϤòÍ¿¤¨¤Æ¥¸¥ã¥ó¥×¤µ¤»¡¢
¤µ¤é¤Ë isJumping ¤ÎÃͤò true ¤ËÊѹ¹¤·¤Æ¤¤¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢¡Ö¥¸¥ã¥ó¥×¤·¤Æ¤¤¤ÆÃÏÌ̤ˤϤ¤¤Ê¤¤¾õÂ֡פˤ·¤Æ¤¤¤Þ¤¹¡£
¡¡¤¿¤À¤·¡¢¤³¤Î¤Þ¤Þ¤Ë¤·¤Æ¤·¤Þ¤¦¤È¡¢¤º¤Ã¤È¡Ö¥¸¥ã¥ó¥×¤·¤Æ¤¤¤ë¾õÂ֡פˤʤäƤ·¤Þ¤Ã¤Æ¡¢¥¸¥ã¥ó¥×Ãæ°Ê³°¤Ç¤¢¤Ã¤Æ¤â¡¢¥¸¥ã¥ó¥×¤¬¤Ç¤¤Ê¤¤¾õÂÖ¤¬Â³¤¤¤Æ¤·¤Þ¤¦¤Î¤Ç¡¢
OnTriggerEnter ¥á¥½¥Ã¥É¤òÍøÍѤ·¤Æ¡¢ÃÏÌÌÍѤΥ²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ËÀÜ¿¨¤·¤¿¤é(ÃÏÌ̤ËÃåÃϤ·¤¿¤é)¡¢¥×¥ì¥¤¥ä¡¼¤¬ÃÏÌ̤ËÃåÃϤ·¤¿¤ÈȽÃǤ·¡¢
isJumping ¤ÎÃͤò false ¤ËÌ᤹¤³¤È¤Ç¡¢¡Ö¥×¥ì¥¤¥ä¡¼¤¬ÃÏÌ̤ˤ¤¤ë¾õÂ֡פˤʤê¤Þ¤¹¡£
¡¡¤³¤Î¤è¤¦¤Ë¡¢isJumping ÊÑ¿ô¤ò if ʸ¤ÈÁȤ߹ç¤ï¤»¤Æ¡¢Å¬Àڤʥ¿¥¤¥ß¥ó¥°¤ÇÃͤò true ¤ä false ¤ËÊѹ¹¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢
¥¸¥ã¥ó¥×¤ÎÀ©¸æ¤¬¤Ç¤¤ë¤è¤¦¤Ê½Û´Ä¤·¤¿»ÅÁȤߡ¢¥í¥¸¥Ã¥¯¤òºî¤Ã¤Æ¤¤¤Þ¤¹¡£
¡¡¥×¥í¥°¥é¥à¤òºî¤ë¤È¤¤Ë¤Ï¡¢¤É¤Î¤è¤¦¤ÊÆ°ºî¤ò¼Â¸½¤·¤¿¤¤¤«¤ò¹Í¤¨¡¢¤½¤ì¤ò¼Â¸½¤¹¤ë¤¿¤á¤ËɬÍפʽç½ø¤ä¾ò·ï¤Ê¤É¤ò·è¤á¤Æ¤¤¤¯¤³¤È¤¬½ÅÍפǤ¹¡£
¤½¤·¤Æ¡¢¤½¤Î·è¤Þ¤ê¤´¤È¤ò¥×¥í¥°¥é¥à¤Î·Á¤Çɽ¸½¤¹¤ë¤³¤È¤Ç¡¢¥³¥ó¥Ô¥å¡¼¥¿¤ËÍý²ò¤·¤Æ¤â¤é¤¤¡¢ÌÜŪ¤ÎÆ°ºî¤ò¼Â¸½¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¡¡°Ê¾å¤Ç¤¹¡£
- ¥«¥Æ¥´¥ê¡§
- ¿Ê³Ø/¥¹¥¯¡¼¥ë
- ¥×¥í¥°¥é¥ß¥ó¥°
¥³¥á¥ó¥È¤ò¤«¤¯