ºÇ½ª¹¹¿·¡§ orika_ex_miyako 2023ǯ05·î10Æü(¿å) 22:23:16ÍúÎò
¡¡¡¦±ü¹ÔÊý¸þ¤Ø¤Î°ÜÆ°»þ¤Ë¤Ï¥¥ã¥é¤Î¸þ¤¤¬ÊѤï¤é¤Ê¤¤ ¡¡¡¦¥¨¥ê¥¢Æâ¤Ç¤Î°ÜÆ°ÈϰϤËÀ©¸Â¤¬¤¢¤ë(¥Ù¥ë¥È¥¹¥¯¥í¡¼¥ë)
¡¡¤³¤³¤Ç¤Ï¸þ¤¤òÊѤ¨¤º¤Ë±ü¹Ô°ÜÆ°¤ò¤¹¤ëºÝ¤Ë¸þ¤¤òÊѤ¨¤º¤Ë°ÜÆ°¤¹¤ë½èÍý¤È¡¢°ÜÆ°ÈϰϤÎÀ©¸Â½èÍý¤ò¼ÂÁõ¤·¤Þ¤¹¡£
¡¡£³£Ä¶õ´Ö¤Ç¤Î°ÜÆ°¤Ë¤Ê¤ë¤¿¤á¡¢X¼´¤Çº¸±¦°ÜÆ°¤ò¡¢Z¼´¤Ç±ü¹Ô°ÜÆ°¤ò¹Ô¤¦¤è¤¦¤Ë¤·¤Þ¤¹¡£
¡¡¤³¤Î¤È¤°ÜÆ°¤Ë¹ç¤ï¤»¤ÆÁ´Êý°Ì¤Ë¥¥ã¥é¤Î¸þ¤¤òÊѤ¨¤Æ¤·¤Þ¤¦¤È±ü¹Ô°ÜÆ°¤ò¤·¤¿ºÝ¤Ë¡¢¥¥ã¥é¤¬ÀµÌ̤ò¸þ¤¤¤Æ¤·¤Þ¤Ã¤¿¤ê¡¢ÇØÃæ¤ò¸«¤»¤Æ¤·¤Þ¤Ã¤¿¤ê¤·¤Þ¤¹¡£
¤³¤Î¤Þ¤Þ¤Ç¤âÌäÂê¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢¥Ù¥ë¥È¥¹¥¯¥í¡¼¥ë¥¢¥¯¥·¥ç¥ó¤È¤¤¤¦¥²¡¼¥àÀ¤Ë¹ç¤ï¤»¤Æ¡¢¥¥ã¥é¤Î¸þ¤¤Ïº¸±¦Êý¸þ¤Î¤ß¸ÇÄê¤ò¤·¤¿¤¤½ê¤Ç¤¹¡£
¡¡¥¥ã¥é¤Î°ÜÆ°»þ¤Ë¸þ¤¤Ë´Ø¤¹¤ëÀ©¸æ¤ò¹Ô¤¦¤³¤È¤Ç¤³¤ÎÌäÂê¤ò²ò¾Ã¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
¡¡¥¥ã¥é¤Î°ÜÆ°ÈϰϤǤ¹¤¬¡¢¥Ù¥ë¥È¥¹¥¯¥í¡¼¥ë¥¢¥¯¥·¥ç¥ó¤Ë¤Ï¤½¤Î̾¤ÎÄ̤ꡢ¥¨¥ê¥¢Ã±°Ì¤Ç¤Î°ÜÆ°ÈϰϤËÀ©¸Â¤¬¤¢¤ê¤Þ¤¹¡£
¤½¤·¤Æ¤½¤Î¥¨¥ê¥¢¤ÎŨ¤òÁ´ÌǤµ¤»¤ë¤³¤È¤Ç¼¡¤Î¥¨¥ê¥¢¤Ø¤Î°ÜÆ°¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¡¤³¤ÎÉôʬ¤â¥¥ã¥é¤Î°ÜÆ°¤ÎÉôʬ¤ËÀ©¸æ¤ò¹Ô¤¦¤³¤È¤Ç¥í¥¸¥Ã¥¯¤ò¹Í¤¨¤Þ¤¹¡£
¡¡°ÜÆ°ÈϰϤϸÇÄêÃͤˤ»¤º¡¢³Æ¥¨¥ê¥¢¤´¤È¤Ë°ÜÆ°¤Ç¤¤ëÈϰϤξðÊó¤ò»ý¤¿¤»¤ë¤³¤È¤¬¤Ç¤¤ì¤ÐÀ©¸æ¤¬²Äǽ¤Ç¤¹¡£
¡¡¤Þ¤º¤ÏÀ©¸Â¤¬¤Ç¤¤ë¤«¤É¤¦¤«¤«¤é¸¡¾Ú¤·¤Æ¤¤¤Ã¤Æ¡¢¤½¤Î¸å¡¢¼ÂºÝ¤Ë¥¨¥ê¥¢¤Î°ÜÆ°ÈϰϤòÈ¿±Ç¤·¤Æ¤¤¤¯¼ê½ç¤Ç¼ÂÁõ¤·¤Æ¤¤¤¤Þ¤¹¡£
¼ÂÁõÆ°²è¡¡¾å²¼°ÜÆ°¤Ç¤Ï¸þ¤¤òÊѤ¨¤Ê¤¤
https://gyazo.com/d2f497e5fb3b6ef5b6629c0fb146f1f5
¼ÂÁõÆ°²è¡¡²èÌ̤κ¸±¦¤Ë¤Ï°ÜÆ°À©¸Â¤¬¤¢¤ë
https://gyazo.com/5053e9bfca1585283e2035df5885cf91
¡¡£±¡¥°ÜÆ°À©¸ÂÍѤΥ¯¥é¥¹¤òºîÀ®¤¹¤ë ¡¡£²¡¥¥¥ã¥é¤ò´ÉÍý¤¹¤ëPlayerController¥¯¥é¥¹¤òºîÀ®¤¹¤ë
¡¡£±¡¥MonoBehaviour¥¯¥é¥¹¤ò·Ñ¾µ¤·¤Ê¤¤¥¯¥é¥¹¤ÎºîÀ®¡¢Æþ¤ì»Ò¥¯¥é¥¹¤ÎºîÀ® ¡¡£²¡¥Mathf.Clamp¥á¥½¥Ã¥É ¡¡£³¡¥const½¤¾þ»Ò
¡¡MonoBehaviour¤Î·Ñ¾µ¤¬¤¢¤ê¤Þ¤»¤ó¤Î¤Ç¡¢¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤¹¤ë¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó¤¬
¤¤¤º¤ì¤Î¥¹¥¯¥ê¥×¥È¤«¤é¤Ç¤â¥¤¥ó¥¹¥¿¥ó¥¹¤·¤ÆÍøÍѤ¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
¡¡¤Þ¤¿¥¯¥é¥¹¤ÎÃæ¤Ë¥¯¥é¥¹¤¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¤è¤¦¤Êºî¤ê¤Î¥¯¥é¥¹¤òÆþ¤ì»Ò¡Ê¥Í¥¹¥È¡Ë¥¯¥é¥¹¤È¸À¤¤¤Þ¤¹¡£
£±¤Ä¤Î¥Õ¥¡¥¤¥ë¤È¤·¤ÆÍÑ°Õ¤¹¤ëɬÍפΤʤ¤¡¢»ÈÍÑÈϰϤθ¤é¤ì¤Æ¤¤¤ë¥¯¥é¥¹¤Ê¤É¤Ï¡¢¤³¤Î¤è¤¦¤ËÆþ¤ì»Ò¥¯¥é¥¹¤Ë¤·¤Æ»È¤¦¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
¡¡º£²ó¤ÏHorizontalLimit¥¯¥é¥¹¤ÈDepthLimit¥¯¥é¥¹¤òÆþ¤ì»Ò¥¯¥é¥¹¤È¤·¤ÆºîÀ®¤·¤Æ¤¤¤Þ¤¹¡£
¤³¤ì¤ÏMoveLimit¥¯¥é¥¹Æâ¤ËÍÑ°Õ¤·¤Æ¡¢¤Þ¤È¤á¤Æ»È¤¦¤³¤È¤òÁÛÄꤷ¤¿À߷פˤʤäƤ¤¤Þ¤¹¡£
¡¡
¡¡¤Þ¤¿³Æ¥¯¥é¥¹¤Ë¤Ï[Serializable]°À¤¬ÉÕÍ¿¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤Î°À¤òÉÕÍ¿¤¹¤ë¤È¡¢¤³¤Î¥¯¥é¥¹¤ò¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤Ç³Îǧ½ÐÍè¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¡Mathf ¹½Â¤ÂΤϡ¢Unity ¤¬ÍÑ°Õ¤·¤Æ¤¤¤ë¡¢¿ô³Ø´Ø¿ô¤ÎÊÑ¿ô¤ä¥á¥½¥Ã¥É¤ò¤Þ¤È¤á¤Æ¤¢¤ë¹½Â¤ÂΤǤ¹¡£
Ä̾ï¤Î Math ¥¯¥é¥¹¤È°Û¤Ê¤ê¡¢Ìá¤êÃÍ¤Ï float ·¿¤ÇÍÑ°Õ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
»²¹Í¥µ¥¤¥È
Unity ¸ø¼°¥¹¥¯¥ê¥×¥È¡¦¥ê¥Õ¥¡¥ì¥ó¥¹
Mathf
¡¡Clamp ¥á¥½¥Ã¥É¤Ï¡¢¡ÖÀ©¸æ¤·¤¿¤¤»ØÄêÃͤò¡¢»ØÄꤷ¤¿ÈÏ°ÏÆâ¤ÎºÇ¾®ÃÍ¡¢ºÇÂçÃͤ˼ý¤á¤Æ¤¯¤ì¤ë(ÃÖ¤´¹¤¨¤Æ¤¯¤ì¤ë)¡×½èÍý¤Ë¤Ê¤ê¤Þ¤¹¡£
¡ã¥á¥½¥Ã¥É¤ÎµË¡¡ä
À©¸æ¤·¤¿¤¤»ØÄêÃÍ = Mathf.Clamp(À©¸æ¤·¤¿¤¤»ØÄêÃÍ, ºÇ¾®ÃÍ, ºÇÂçÃÍ);¡¡
¡¡¤³¤Î¥á¥½¥Ã¥É¤òÍøÍѤ·¤Æ¡¢·×»»½èÍý¸å¤ÎÃͤòÀ©¸Â¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
¡¡¤½¤Î¤¿¤á¡¢²¼µ¤Î½èÍý¤Ï¡¢transform.position.x¤ÎÃͤò¡¢
moveLimit.horizontalLimit.left¡¡¡Á¡¡moveLimit.horizontalLimit.right¤Î´Ö¤ËÀ©¸Â¤¹¤ë¤È¤¤¤¦½èÍý¤Ë¤Ê¤ê¤Þ¤¹¡£
¤â¤·¤âºÇ¾®ÃͤȺÇÂçÃͤòĶ¤¨¤¿¾ì¹ç¤Ë¤Ï¡¢¼«Æ°Åª¤Ë¤½¤ÎÈÏ°ÏÆâ¤Ë¼ý¤Þ¤ë¤è¤¦¤ËÄ´À°¤·¤Æ¤¯¤ì¤Þ¤¹¡£
¡¡float posX = Mathf.Clamp(transform.position.x, moveLimit.horizontalLimit.left, moveLimit.horizontalLimit.right);
¡¡¤½¤Î·ë²Ì¡¢¾ï¤Ë¥×¥ì¥¤¥ä¡¼¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î°ÜÆ°ÈϰϤò¡¢À©¸Â¤µ¤ì¤¿ÈÏ°ÏÆâ¤Ë¼ý¤Þ¤ë¤è¤¦À©¸æ¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
»²¹Í¥µ¥¤¥È
Unity ¸ø¼°¥¹¥¯¥ê¥×¥È¥ê¥Õ¥¡¥ì¥ó¥¹
Mathf.Clamp
¡¡ÊÑ¿ô¤ÎÀë¸À¤È°ì½ï¤Ë¤Ä¤±¤ë¤³¤È¤¬¤Ç¤¤ë½¤¾þ»Ò¤Ç¤¹¡£¤³¤Î½¤¾þ»Ò¤ò»ý¤ÄÊÑ¿ô¤Ï¸ÇÄêÃͤȤʤꡢÊѹ¹¤¹¤ë¤³¤È¤¬½ÐÍè¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£
¤½¤Î¤¿¤á¡¢¥²¡¼¥àÃæ¤Ç¾ï¤Ë¸ÇÄêÃͤȤ·¤ÆÍøÍѤ·¤¿¤¤ÃͤòÍÑ°Õ¤¹¤ë¾ì¹ç¤ËÍøÍѤ¹¤ë¤ÈÊØÍø¤Ç¤¹¡£
¡¡º£²ó¤ÏString·¿¤ÎÃͤòÍÑ°Õ¤·¡¢²¿²ó¤«½ñ¤¯Ê¸»úÎó¤ÎÂǤÁ´Ö°ã¤¨¤ò̤Á³¤ËËɤ°¤è¤¦¤Ë¤·¤Æ¤¤¤Þ¤¹¡£
¡¡private const string HORIZONTAL = "Horizontal";
¡¡PlayerController¥¯¥é¥¹¤ò¥×¥ì¥¤¥ä¡¼¥¥ã¥é¥¯¥¿¡¼Ìò¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤¹¤ë¤È¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤Ë¥¢¥µ¥¤¥ó¾ðÊó¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
¡¡°Üư®Å٤Ȳóž®ÅÙ¤ÏŬµ¹¤ÊÃͤòÀßÄꤷ¤Æ¤¯¤À¤µ¤¤¡£
¡¡[Serializable]°À¤ò»ý¤Ä¥¯¥é¥¹¤Ç¤¢¤ë¤¿¤á¡¢MoveLimitÊÑ¿ô¤òÀë¸À¤¹¤ë¤È¡¢¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤Ëɽ¼¨¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
¤³¤³¤Ç¥¥ã¥é¤Î°ÜÆ°ÈϰϤò²¾¤ËÀßÄꤷ¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£
¡¡¤½¤Î¸å¡¢¥²¡¼¥à¤ò¼Â¹Ô¤·¤Æ¤ß¤Þ¤·¤ç¤¦¡£
Àè¤Û¤É»ØÄꤷ¤¿°ÜÆ°ÈÏ°ÏÆ⤷¤«¥¥ã¥é¤¬°ÜÆ°¤¬½ÐÍè¤Ê¤¯¤Ê¤Ã¤Æ¤¤¤ì¤ÐÀ®¸ù¤Ç¤¹¡£
- ¥«¥Æ¥´¥ê¡§
- ¿Ê³Ø/¥¹¥¯¡¼¥ë
- ¥×¥í¥°¥é¥ß¥ó¥°
¥³¥á¥ó¥È¤ò¤«¤¯