i-school - ´ðÁÃŪ¤Ê¥í¥¸¥Ã¥¯¤Î¹Í¤¨Êý¤Èºî¤êÊý­¡
¡¡if ¥¹¥Æ¡¼¥È¥á¥ó¥È(if ʸ)¤È bool ÃͤòÍøÍѤ·¤¿¡¢´ðÁÃŪ¤Ê¥í¥¸¥Ã¥¯¤Î¹½À®¤ò³Ø½¬¤·¤Þ¤¹¡£



¥í¥¸¥Ã¥¯¤òÁȤà


¡¡¥í¥¸¥Ã¥¯¤òÁȤà¤È¤Ï¡¢¥×¥í¥°¥é¥à¤òºî¤ë¤¿¤á¤ËɬÍפʡ¢½ç½ø¤ä¾ò·ï¤Ê¤É¤Î·è¤Þ¤ê¤´¤È¤ä»ÅÁȤߤò¹Í¤¨¤ë¤³¤È¤Ç¤¹¡£

¡¡¥×¥í¥°¥é¥à¤Ï¡¢¥³¥ó¥Ô¥å¡¼¥¿¤¬Íý²ò¤Ç¤­¤ëÌ¿Îá¤Î½¸¤Þ¤ê¤Ç¤¢¤ê¡¢¤½¤ì¤ò½çÈ֤˼¹Ԥ¹¤ë¤³¤È¤ÇÌÜŪ¤ÎÆ°ºî¤ò¼Â¸½¤·¤Þ¤¹¡£
¤½¤Î¤¿¤á¡¢¥×¥í¥°¥é¥à¤òºî¤ë¤È¤­¤Ë¤Ï¡¢¤É¤Î¤è¤¦¤Ê½çÈÖ¤ÇÌ¿Îá¤ò¼Â¹Ô¤¹¤ë¤«¤ä¡¢¤¢¤ë¾ò·ï¤òËþ¤¿¤·¤¿¤È¤­¤Ë¤É¤Î¤è¤¦¤ÊÌ¿Îá¤ò¼Â¹Ô¤¹¤ë¤«¤Ê¤É¤ò¹Í¤¨¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£


¤É¤ó¤Ê¤³¤È¤ò¥×¥í¥°¥é¥à¤Ë¤µ¤»¤¿¤¤¤Î¤«¹Í¤¨¤ë


¡¡¥×¥í¥°¥é¥à¤ò½ñ¤¯¤Ë¤Ï¡¢¤Þ¤º¡¢¤É¤ó¤Ê¤³¤È¤ò¥×¥í¥°¥é¥à¤Ë¤µ¤»¤¿¤¤¤Î¤«¤ò¹Í¤¨¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
¤Þ¤º¤É¤Î¤è¤¦¤ÊÆ°ºî¤ò¥×¥í¥°¥é¥à¤Ç¼Â¸½¤·¤¿¤¤¤«¤ò¹Í¤¨¡¢¤½¤ì¤ò½ñ¤­½Ð¤¹¤³¤È¤¬ÂçÀڤǤ¹¡£
Î㤨¤Ð¡¢¥²¡¼¥à¤Ç¤¢¤ì¤Ð¡¢¡Ö¥×¥ì¥¤¥ä¡¼¤òÆ°¤«¤·¤¿¤¤¡×¡ÖŨ¥­¥ã¥é¥¯¥¿¡¼¤òÀ¸À®¤·¤¿¤¤¡×¡Ö¥¹¥³¥¢¤ò·×»»¤·¤¿¤¤¡×¤Ê¤É¤ÎÆ°ºî¤òÆüËܸì¤Ç¹Í¤¨¤Þ¤¹¡£

¡¡¤½¤·¤Æ¡¢¤½¤ì¤¾¤ì¤ÎÆ°ºî¤ò¼Â¸½¤¹¤ë¤¿¤á¤ËɬÍפʽèÍý¤ò¹Í¤¨¡¢¤½¤ì¤é¤ÎÆüËܸì¤ò¥×¥í¥°¥é¥à¤ÎÌ¿Îá¤ËÃÖ¤­´¹¤¨¤Æ¤¤¤­¤Þ¤¹¡£
¤½¤ÎºÝ¤Ë¤Ï¡¢¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤Îʸˡ¤ä¹½Ê¸¤Ë½¾¤¤¡¢Ì¿Îá¤ò½ñ¤¤¤Æ¤¤¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£

¡¡¥×¥í¥°¥é¥ß¥ó¥°¤Ï¡¢Æ¬¤ÎÃæ¤Ç¹Í¤¨¤Æ¤¤¤ëÆ°ºî¤ò¼Â¸½¤¹¤ë¤¿¤á¤Ë¤Ï¤É¤¦¤¹¤ë¤Î¤«¡¢ÌÀ³Î¤Ë¤¹¤ë¤³¤È¤¬½ÅÍפǤ¢¤ê¡¢¤½¤Î¤¿¤á¤Ë¤ÏÌäÂê²ò·èÎϤäÏÀÍýŪ»×¹ÍÎϤ¬É¬ÍפǤ¹¡£
¤³¤¦¤¤¤Ã¤¿²ò·èÎϤä»×¹ÍÎϤʤɤϡ¢Îý½¬¤ä·Ð¸³¤òÀѤळ¤È¤Ç¡¢½ù¡¹¤Ë¥¹¥­¥ë¤ò¸þ¾å¤µ¤»¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£


¥³¥á¥ó¥È¤ò½ñ¤¯


¡¡¤É¤Î¤è¤¦¤ÊÆ°ºî¤ò¥×¥í¥°¥é¥à¤Ë¤µ¤»¤¿¤¤¤Î¤«¡¢¼«Ê¬¤Î¹Í¤¨¤òÆüËܸì¤È¤·¤Æ½ñ¤­½Ð¤·¤Þ¤¹¡£
¤½¤Î¸å¡¢¤½¤ÎÆüËܸì¤Ç¹Í¤¨¤¿Éôʬ¤ò¥×¥í¥°¥é¥àÆâ¤Ë¥³¥á¥ó¥È¤È¤·¤Æ½ñ¤­¹þ¤ß¤Þ¤¹¡£

¡¡¥³¥á¥ó¥È¤ò³èÍѤ¹¤ëºÝ¤Ë¤Ï¡¢°Ê²¼¤Î¤è¤¦¤Ê¥Ý¥¤¥ó¥È¤Ëµ¤¤ò¤Ä¤±¤ë¤³¤È¤¬½ÅÍפǤ¹¡£

¡¡¡¦¥³¥á¥ó¥È¤Ï¡¢¼«Ê¬¤¬Íý²ò¤·¤ä¤¹¤¤¤è¤¦¤Ë¡¢´Ê·é¤«¤Äʬ¤«¤ê¤ä¤¹¤¯½ñ¤¯¤è¤¦¤Ë¿´³Ý¤±¤ë¡£
¡¡¡¦¥³¥á¥ó¥È¤ò³èÍѤ¹¤ë¤³¤È¤Ç¡¢¥³¡¼¥É¤Î½èÍýÆâÍƤò¼«Ê¬¼«¿È¤Ç¤âÍý²ò¤·¤ä¤¹¤¯¤Ê¤ë¤À¤±¤Ç¤Ê¤¯¡¢Â¾¤Î¿Í¤¬¥³¡¼¥É¤òÆɤó¤ÀºÝ¤Ë¤âʬ¤«¤ê¤ä¤¹¤¯¤Ê¤ë¡£
¡¡¡¦¥×¥í¥°¥é¥à¤ËÃÖ¤­´¹¤¨¤¿¸å¤Ë¤â¥³¥á¥ó¥È¤¬»Ä¤ë¤Î¤Ç¡¢¤½¤ì¤òŬÅ٤˳èÍѤ¹¤ë¤³¤È¤Ç¡¢¥³¡¼¥É¤Î²ÄÆÉÀ­¤ò¹â¤á¤ë¤³¤È¤¬¤Ç¤­¤ë¡£

¡¡°Ê¾å¤Î¤è¤¦¤Ê¥Ý¥¤¥ó¥È¤ò°Õ¼±¤·¤Ê¤¬¤é¡¢¥³¥á¥ó¥È¤ò³èÍѤ¹¤ë¤³¤È¤Ç¡¢¹Í¤¨¤Æ¤¤¤ëÆ°ºî¤ò¥×¥í¥°¥é¥ß¥ó¥°¤ËÃÖ¤­´¹¤¨¤ä¤¹¤¯¤Ê¤ê¤Þ¤¹¡£



¡¡¥­¡¼¥Ü¡¼¥É¤Î¥¸¥ã¥ó¥×ÍѤΥܥ¿¥ó¤ò²¡¤·¤¿¤é¥¸¥ã¥ó¥×¤µ¤»¤ë¡¢¤È¤¤¤¦µ¡Ç½¤¬»×¤¤¤Ä¤¤¤¿¤Ê¤é¡¢¤½¤ì¤òÆüËܸì¤Î¥³¥á¥ó¥È¤Ç¥×¥í¥°¥é¥àÆâ¤Ë½ñ¤­¹þ¤ß¤Þ¤¹¡£


¡¡¡¡// ¥¸¥ã¥ó¥×ÍѤΥ­¡¼¤¬²¡¤µ¤ì¡Ö¤¿¤é¡×


    // ¥¸¥ã¥ó¥×¤¹¤ë



¡¡¡Ö¡Á¤·¤¿¤é¡×¡Ö¡Á¤Î¾ì¹ç¡×¡Ö¡Á¤Î¤È¤­¡×¤È¤¤¤Ã¤¿µ¿Ìä·Á¤Çʸ¾Ï¤¬¤¢¤ë¾ì¹ç¤Ë¤Ï¡¢¤½¤ÎÉôʬ¤Ç°ìÅÙ¶èÀÚ¤ê¤Þ¤¹¡£
¤Ê¤¼¤Ê¤é¡¢¤³¤Î¤è¤¦¤Êµ­½Ò¤Ï 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 ¤ËÊѹ¹¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢
¥¸¥ã¥ó¥×¤ÎÀ©¸æ¤¬¤Ç¤­¤ë¤è¤¦¤Ê½Û´Ä¤·¤¿»ÅÁȤߡ¢¥í¥¸¥Ã¥¯¤òºî¤Ã¤Æ¤¤¤Þ¤¹¡£



¡¡¥×¥í¥°¥é¥à¤òºî¤ë¤È¤­¤Ë¤Ï¡¢¤É¤Î¤è¤¦¤ÊÆ°ºî¤ò¼Â¸½¤·¤¿¤¤¤«¤ò¹Í¤¨¡¢¤½¤ì¤ò¼Â¸½¤¹¤ë¤¿¤á¤ËɬÍפʽç½ø¤ä¾ò·ï¤Ê¤É¤ò·è¤á¤Æ¤¤¤¯¤³¤È¤¬½ÅÍפǤ¹¡£
¤½¤·¤Æ¡¢¤½¤Î·è¤Þ¤ê¤´¤È¤ò¥×¥í¥°¥é¥à¤Î·Á¤Çɽ¸½¤¹¤ë¤³¤È¤Ç¡¢¥³¥ó¥Ô¥å¡¼¥¿¤ËÍý²ò¤·¤Æ¤â¤é¤¤¡¢ÌÜŪ¤ÎÆ°ºî¤ò¼Â¸½¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£



¡¡°Ê¾å¤Ç¤¹¡£