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

¡¡°Ê²¼¤ÎÆâÍƤǽçÈ֤˼ÂÁõ¤ò¿Ê¤á¤Æ¤¤¤­¤Þ¤¹¡£

ȯŸ£¹¡¡¡Ý¥¨¥Í¥ß¡¼¤Î°ÜÆ°ÊýË¡¤Ë¹ç¤ï¤»¤¿°ÜÆ°½èÍý¤Î¼ÂÁõ­¡¡Ý
£±£·¡¥EnemyController ¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¡¢¥¨¥Í¥ß¡¼¤Î¼ïÎà¤Ë±þ¤¸¤¿°ÜÆ°ÊýË¡¤òºîÀ®¤·¡¢À©¸æ¤òÄɲ乤뭡¡¡¡¼Ä¾¿Ê¡¼
£±£¸¡¥EnemyController ¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¡¢¥¨¥Í¥ß¡¼¤Î¼ïÎà¤Ë±þ¤¸¤¿°ÜÆ°ÊýË¡¤òºîÀ®¤·¡¢À©¸æ¤òÄɲ乤뭢¡¡¡¼¼Ø¹Ô¡¼



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

¡¡¡¦DOTween¤ÎÊä´Öµ¡Ç½¤È¼ÂÁõÎã­¥¡¡¡¼DOLocalMoveX ¥á¥½¥Ã¥É¡¢SetLoops ¥á¥½¥Ã¥É¡¢SetEase ¥á¥½¥Ã¥É¡¼



£±£·¡¥EnemyController ¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¡¢¥¨¥Í¥ß¡¼¤Î¼ïÎà¤Ë±þ¤¸¤¿°ÜÆ°ÊýË¡¤òºîÀ®¤·¡¢À©¸æ¤òÄɲ乤뭡¡¡¡Ýľ¿Ê¡Ý

£±¡¥Àß·×


¡¡¥¨¥Í¥ß¡¼¤Î°ÜÆ°¤Ç¤¹¤¬¡¢¸½ºß¤Ï¥Ü¥¹¤Ï°ìÄêÃÏÅÀ¤ÇÄä»ß¡¢¤½¤ì°Ê³°¤Î¥¨¥Í¥ß¡¼¤Ïľ¿Ê¤·¤Æ¤¯¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
¥¨¥Í¥ß¡¼¤Î°ÜÆ°ÊýË¡¤Î¾ðÊó¤¬ EnemyData ¥¯¥é¥¹¤ËÀßÄꤵ¤ì¤Þ¤·¤¿¤Î¤Ç¡¢¤³¤Î moveType ÊÑ¿ô¤Ë¹ç¤ï¤»¤Æ°ÜÆ°ÊýË¡¤òÊѹ¹¤¹¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£

¡¡¤Þ¤º¤ÏºÇ½é¤Ëľ¿Ê¤¹¤ë°ÜÆ°ÍѤΥ᥽¥Ã¥É¤òºîÀ®¤·¡¢MoveType.Staright ¤Î¥¨¥Í¥ß¡¼¤Î°ÜÆ°¤ò¼Â¹Ô¤Ç¤­¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£
¤Þ¤¿¤³¤Î¼ê½ç¤Î¼ÂÁõ¤Ë¹ç¤ï¤»¤Æ¡¢Update ¥á¥½¥Ã¥É¤Ë¤Æ¼Â¹Ô¤·¤Æ¤¤¤¿°ÜÆ°¤Î½èÍý¤Ïºï½ü¤·¤Þ¤¹¡£

¡¡¤³¤ì¤«¤é¿ô¼ïÎà¤Î¥¨¥Í¥ß¡¼¤Î°ÜÆ°ÊýË¡¤ò EnemyController ¥¹¥¯¥ê¥×¥È¤Ë¼ÂÁõ¤·¤Æ¤¤¤­¤Þ¤¹¤¬¡¢ÅÓÃæ¤Ç½èÍý¤òÊ̤Υ¹¥¯¥ê¥×¥È¤Ëµ­½ÒÊѹ¹¤·¤Þ¤¹¡£
¤½¤ÎÁ°Äó¤Ç½èÍý¤òµ­½Ò¤·¤Æ¤¤¤­¤Þ¤¹¡£


£²¡¥EnemyController ¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¡¢MoveType.Staright ¤Î¾ì¹ç¤Î°ÜÆ°½èÍý¤òÄɲ乤ë


¡¡MoveType ·¿¤Ë¤è¤Ã¤Æ°ÜÆ°ÊýË¡¤òÊѹ¹¤¹¤ë¤Ë¤Ï¤É¤Î¤è¤¦¤Ë¤¹¤ì¤Ð¤¤¤¤¤Ç¤·¤ç¤¦¤«¡£

¡¡¤³¤Î·¿¤òɾ²Á¤·¡¢EnemyData ¥¯¥é¥¹¤Î moveType ÊÑ¿ô¤ÎÃͤò³Îǧ¤¹¤ë¤³¤È¤Ç¡¢¤³¤Î¥¨¥Í¥ß¡¼¤Î°ÜÆ°ÊýË¡¤¬¤ï¤«¤ê¤Þ¤¹¤Î¤Ç¡¢
°ÜÆ°ÊýË¡¤ò³Îǧ¤¹¤ë¤¿¤á¤Î¥á¥½¥Ã¥É¤òÍÑ°Õ¤·¡¢¤½¤ÎÃæ¤Ç¥¨¥Í¥ß¡¼¤Î moveType ÊÑ¿ô¤ò³Îǧ¤·¡¢MoveType.Staright ¤Î¾ì¹ç¤À¤±
ľ¿Ê¤Î½èÍý¤ò¼Â¹Ô¤¹¤ë¡¢¤È¤¤¤¦¥í¥¸¥Ã¥¯¤Ë¤¹¤ì¤Ð¤è¤µ¤½¤¦¤Ç¤¹¡£

¡¡Ä¾¿Ê¤Î½èÍý¤Ï¤¹¤Ç¤Ë Update ¥á¥½¥Ã¥ÉÆâ¤Ë¤¢¤ê¤Þ¤¹¤¬¡¢¤³¤Î½èÍý¤Ïºï½ü¤·¤Þ¤¹¤Î¤Ç¡¢DOTween ¤Î¥á¥½¥Ã¥É¤òÍøÍѤ·¤Æ°ÜÆ°¤ò¼ÂÁõ¤·¤Æ¤ß¤Þ¤·¤ç¤¦¡£
¥²¡¼¥à²èÌ̤ξåÊý¸þ¤«¤é²¼Êý¸þ¤Ø¤Îľ¿Ê¤Ç¤¹¤Î¤Ç¡¢Y ¼´¤Î¾ðÊó¤À¤±¤òÀ©¸æ¤¹¤ì¤Ð¥¨¥Í¥ß¡¼¤òľ¿Ê°ÜÆ°¤µ¤»¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£
°Ê¾å¤Î¤³¤È¤«¤é¡¢¼ê½ç£²£µ¤Ç³Ø½¬¤·¤¿ DOLocalMoveY ¥á¥½¥Ã¥É¤¬ÍøÍѤǤ­¤ë¤È»×¤¤¤Þ¤¹¤Î¤Ç¡¢Éü½¬¤ò´Þ¤á¤Æ¼ÂÁõ¤ò¤·¤Æ¤¯¤À¤µ¤¤¡£

¡¡DOTween ¤Ç¤Ï½èÍý¤ò¹Ô¤¦ºÝ¤Î»þ´Ö¤òÀßÄꤷ¤Þ¤¹¤Î¤Ç¡¢¤³¤Á¤é¤Ë¤â EnemyData ¥¯¥é¥¹¤ËÄɲä·¤¿ moveDuration ÊÑ¿ô¤òÍøÍѤ¹¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£
moveDuration ÊÑ¿ô¤Î»þ´Ö¤ò¤«¤±¤ÆÌÜɸÃÏÅÀ¤Þ¤Ç°ÜÆ°¤¹¤ë½èÍý¤Ë¤Ê¤ê¤Þ¤¹¤Î¤Ç¡¢¿ô»ú¤¬¾®¤µ¤¤¤Û¤ÉÁ᤯°ÜÆ°¤·¤ÆµòÅÀ¤ËÅþ㤹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£

¡¡¤³¤Î°ÜÆ°ÊýË¡¤Î³Îǧ¤È°ÜÆ°¤Î½èÍý¤Ï¥¨¥Í¥ß¡¼¤¬ºÇ½é¤Ë¹Ô¤¦ÀßÄê¤Î£±¤Ä¤Ë¤Ê¤ê¤Þ¤¹¤Ç¤Î¡¢SetUpEnemy ¥á¥½¥Ã¥ÉÆâ¤Ë½èÍý¤òÄɲ乤ë¥í¥¸¥Ã¥¯¤Ç¹Í¤¨¤Æ¤¯¤À¤µ¤¤¡£


EnemyController.cs


¡¡¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¤¿¤é¥»¡¼¥Ö¤·¤Þ¤¹¡£


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


¡¡½èÍý¤Î¼ÂÁõ¤¬´°À®¤·¤¿¤Î¤Ç¡¢¥²¡¼¥à¤ò¼Â¹Ô¤·¤ÆÀ©¸æ¤ò³Îǧ¤·¤Þ¤¹¡£

¡¡EnemyDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Î EnemyData ¥¯¥é¥¹Æâ¤Î MoveType ÊÑ¿ô¤Ë
Straight ¤òÀßÄꤷ¤Æ¤¤¤ë¥¨¥Í¥ß¡¼¤Î¾ì¹ç¤Î¤ß¡¢Ä¾¿Ê°ÜÆ°¤ò¹Ô¤¦¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ì¤ÐÀ©¸æÀ®¸ù¤Ç¤¹¡£


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


¡¡°Ê¾å¤Ç¼ÂÁõ´°Î»¤Ç¤¹¡£¡¡


£±£¸¡¥EnemyController ¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¡¢¥¨¥Í¥ß¡¼¤Î¼ïÎà¤Ë±þ¤¸¤¿°ÜÆ°ÊýË¡¤òºîÀ®¤·¡¢À©¸æ¤òÄɲ乤뭢¡¡¡¼¼Ø¹Ô¡¼

£±¡¥Àß·×


¡¡Â³¤¤¤Æ¡¢¼¡¤ÏÊ̤ΰÜÆ°½èÍý¤òÄɲ䷤ơ¢Æ±¤¸¤è¤¦¤Ë MoveType ·¿¤Ë¤è¤Ã¤Æʬ´ô¤·¤Æ¼«Æ°Åª¤Ë°ÜÆ°ÊýË¡¤òÀßÄꤷ¡¢¼Â¹Ô¤Ç¤­¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£

¡¡¹Í¤¨Êý¤ÏÀè¤Û¤É¤Îľ¿Ê½èÍý¤Î¾ì¹ç¤ÈƱ¤¸¤Ç¤¹¡£MoveType ·¿¤Ë¤è¤ëʬ´ô¤òÄɲä·¡¢°ÜÆ°ÍѤΥ᥽¥Ã¥É¤ò¹Í¤¨¤Æ¤¤¤­¤Þ¤·¤ç¤¦¡£


£²¡¥EnemyController ¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¡¢MoveType.Meandering ¤Î¾ì¹ç¤Î°ÜÆ°½èÍý¤òÄɲ乤ë


¡¡¤¹¤Ç¤ËºîÀ®¤·¤Æ¤¢¤ë MoveType ·¿¤Ë¤è¤ëʬ´ô¤ò¹Ô¤¦¥á¥½¥Ã¥ÉÆâ¤Ë¡¢¿·¤·¤¯ MoveType.Meandering ¤Î¾ì¹ç¤Îʬ´ô¤òÄɲä·¡¢
¤½¤Îʬ´ôÆâ¤Ç¡¢¼Ø¹Ô¤¹¤ë¤è¤¦¤Ê°ÜÆ°¤Î½èÍý¤òµ­½Ò¤·¤Æ°ÜÆ°¤ò¹Ô¤¦¤è¤¦¤Ë¤·¤Þ¤¹¡£

¡¡¼Ø¹Ô°ÜÆ°¤â DOTween ¤Îµ¡Ç½¤òÍøÍѤ¹¤ë¤³¤È¤Ç¼ÂÁõ¤Ç¤­¤Þ¤¹¡£
DOLocalMoveY ¥á¥½¥Ã¥É¤Ï¤½¤Î¤Þ¤ÞÍøÍѤ·¡¢¤½¤ì¤ËÄɲ䷤ơ¢º¸±¦¤Ë¹Ô¤Ã¤¿¤êÍ褿¤ê¤µ¤»¤Æ¡¢¥ë¡¼¥×¤¹¤ë¤è¤¦¤Ê½èÍý¤ò¹Í¤¨¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£

¡¡º¸±¦¤Î°ÜÆ°¤Ë¤Ï DOLocalMoveX ¥á¥½¥Ã¥É¡¢¥ë¡¼¥×½èÍý¤Ë¤Ï SetLoops ¥á¥½¥Ã¥É¤òÍøÍѤ·¤Þ¤·¤ç¤¦¡£
º¸±¦¤Î°ÜÆ°Éý¤ò¥¨¥Í¥ß¡¼¤´¤È¤ËÊѲ½¤µ¤»¤¿¤¤¾ì¹ç¤Ë¤Ï¡¢Random.Range ¥á¥½¥Ã¥É¤â³èÍѤ¹¤ë¤È¤¤¤¤¤Ç¤·¤ç¤¦¡£


EnemyController.cs


¡¡¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¤¿¤é¥»¡¼¥Ö¤·¤Þ¤¹¡£


£³¡¥¡ãDOTween¤ÎÊä´Öµ¡Ç½¤È¼ÂÁõÎã­¥¡¡¡¼DOLocalMoveX ¥á¥½¥Ã¥É¡¢SetLoops ¥á¥½¥Ã¥É¡¢SetEase ¥á¥½¥Ã¥É¡¼¡ä


¡¡¿·¤·¤¤DOTween¤Î½èÍý¤ò¼ÂÁõ¤·¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢³Æ¥á¥½¥Ã¥É¤ÎÀâÌÀ¤ò¤·¤Þ¤¹¡£



  // º¸±¦Êý¸þ¤Î°ÜÆ°¤ò¥ë¡¼¥×½èÍý¤¹¤ë¤³¤È¤Ç¹Ô¤Ã¤¿¤êÍ褿¤ê¤µ¤»¤ë¡£º¸±¦¤Î°ÜÆ°Éý¤Ï¥é¥ó¥À¥à¡¢°ÜÆ°´Ö³Ö¤ÏÅù®
  transform.DOLocalMoveX(transform.position.x + Random.Range(200.0f, 400.0f), 1f).SetLoops(-1, LoopType.Yoyo).SetEase(Ease.Linear);

¡¡º£²ó¤Î½èÍý¤Ï¡¢Ê£¿ô¤Î¥á¥½¥Ã¥É¤ò¤Ä¤Ê¤²¤Æ£±¹Ô¤Çµ­½Ò¤·¤Æ¤¤¤ë½èÍý¤Ë¤Ê¤ê¤Þ¤¹¡£
¥Ô¥ê¥ª¥É¤Î°ÌÃ֤ޤǤ¬£±¤Ä¤Î½èÍý¤Ë¤Ê¤Ã¤Æ¤ª¤ê¡¢¹ç·×¤Ç£³¤Ä¤Î DOTween ¤Î¥á¥½¥Ã¥É¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤Þ¤¹¡£

¡¡¤³¤Î¤è¤¦¤Ë¥Ô¥ê¥ª¥É¤òÍøÍѤ·¤Æ¡¢Á°¤Î¥á¥½¥Ã¥É¤Î½èÍý¤Ë³¤±¤Æ¼¡¤Î¥á¥½¥Ã¥É¤Î½èÍý¤ò½ñ¤¯¤È¡¢Á°¤Î¥á¥½¥Ã¥É¤Î½èÍý¤ò¼õ¤±¤Æ¼¡¤Î¥á¥½¥Ã¥É¤Î½èÍý¤¬¼Â¹Ô¤µ¤ì¤Þ¤¹¡£
¤³¤Îµ­½ÒÊýË¡¤ò¥á¥½¥Ã¥É¡¦¥Á¥§¡¼¥ó¤È¤¤¤¤¤Þ¤¹¡£

¡¡º£²ó¤Î¾ì¹ç¡¢transform ¤ËÂФ·¤Æ DOLocalMoveX ¥á¥½¥Ã¥É¤¬ºÇ½é¤Ë¼Â¹Ô¤µ¤ì¤Æ¡¢¤½¤Î½èÍý·ë²Ì¤òÍøÍѤ·¤Æ¡¢¼¡¤Î SetLoops ¥á¥½¥Ã¥É¤¬¼Â¹Ô¤µ¤ì¤Þ¤¹¡£
¤µ¤é¤Ë ¥Ô¥ê¥ª¥É¤Ç¼¡¤Î¥á¥½¥Ã¥É¤¬Â³¤¤¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢¤½¤Î£²¤Ä¤Î½èÍý·ë²Ì¤ò¼õ¤±¤Æ¡¢ºÇ¸å¤Ë SetEase ¥á¥½¥Ã¥É¤¬¼Â¹Ô¤µ¤ì¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£

¡¡¥×¥í¥°¥é¥à¤Ï¾å¤«¤é²¼¤Ë¼Â¹Ô¤µ¤ì¤Æ¤¤¤­¤Þ¤¹¤¬¡¢£±¹Ô¤Ë½ñ¤«¤ì¤¿½èÍý¤Î¾ì¹ç¤Ï¡¢¼êÁ°(º¸Â¦)¤è¤ê¡¢¥Ô¥ê¥ª¥Éñ°Ì¤Ç¶èÀڤäƼ¹Ԥµ¤ì¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
¤³¤ì¤Ï¾¤Î½èÍý¤ÈƱÍͤǤ¹¡£¤·¤Ã¤«¤ê¤È½èÍý¤Î½çÈÖ¤òÄɤ¨¤ë¤è¤¦¤Ë¡¢Æɤ߲ò¤¤¤Æ¤ß¤Þ¤·¤ç¤¦¡£


£±¡¥DOLocalMoveX (float endValue, float duration)

¡¡¤Þ¤º¤ÏºÇ½é¤Ï DOLocalMoveX¥á¥½¥Ã¥É¤Ç¤¹¡£
¤³¤Î½èÍý¤Ï DOLocalMoveY ¥á¥½¥Ã¥É¤ÈƱ¤¸°ú¿ô¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¤¬¡¢ÂоݤȤʤ뼴¤¬ X ¼´¤Î°ÜÆ°½èÍý¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£

  transform.DOLocalMoveX(transform.position.x + Random.Range(200.0f, 400.0f), 1f)

¡¡Âè1°ú¿ô¤Ë¤ÏÌÜɸ¤È¤¹¤ë°ÌÃÖ¾ðÊó¤ò float ·¿¤Ç»ØÄꤷ¤Þ¤¹¡£
º£²ó¤Ï transform.position.x + Random.Range(200.0f, 400.0f) ¤Ç»ØÄꤷ¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢ X ¼´¤Î¤ß¤ËÂФ·¤Æ¡¢¥é¥ó¥À¥à¤ÊÃͤò²Ã»»¤·¤¿·ë²Ì¤òÌÜɸÃͤξðÊó¤òÍ¿¤¨¤é¤ì¤Æ¤¤¤Þ¤¹¡£

¡¡Âè2°ú¿ô¤Ë¤ÏÂè1°ú¿ô¤ÎÌÜɸ°ÌÃÖ¤ËÅþ㤹¤ë¤Þ¤Ç¤Ë¤«¤«¤ë»þ´Ö¤Ç¤¹¡£float ·¿¤Ç»ØÄꤷ¤Þ¤¹¡£
º£²ó¤Ï 1.0f ¤ò»ØÄꤷ¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢1 Éäò¤«¤±¤Æ X ¼´Êý¸þ¤Ë°ÜÆ°¤ò¹Ô¤¦¤è¤¦¤Ë¤·¤Æ¤¤¤Þ¤¹¡£


£²¡¥SetLoops(int loops, LoopType loopType)

¡¡SetLoops¥á¥½¥Ã¥É¤Ï¡¢Â¾¤ÎDO¡Á¥á¥½¥Ã¥É¤Î¸å¤Ë¼Â¹Ô¤Ç¤­¤ë¥á¥½¥Ã¥É¤Ç¤¹¡£¤³¤ÎÌ¿ÎáñÂΤǼ¹Ԥ¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£

 transform.DOLocalMoveX(transform.position.x + Random.Range(200.0f, 400.0f), 1f).SetLoops(-1, LoopType.Yoyo)

¡¡°ì½ï¤ËÌ¿Îá¤ò¤·¤Æ¤¤¤ë¥á¥½¥Ã¥É¤ËÂФ·¤Æ¥ë¡¼¥×½èÍý¤òÉÕÍ¿¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
º£²ó¤Î½èÍý¤Ç¤Ï¡¢transform.DOLocalMoveX ¥á¥½¥Ã¥É¤ËÂФ·¤Æ¡¢¥ë¡¼¥×½èÍý¤ò¹Ô¤Ã¤Æ¤¤¤Þ¤¹¡£(SetEase¥á¥½¥Ã¥É¤âSetLoops¥á¥½¥Ã¥É¤ÈƱ¤¸¤ÇñÂΤǤÏÆ°¤«¤Ê¤¤¥á¥½¥Ã¥É¤Ç¤¹)

¡¡Âè1°ú¿ô¤Ï¥ë¡¼¥×½èÍý¤ò¹Ô¤¦²ó¿ô¤Ç¤¹¡£int·¿¤ÇÀßÄꤷ¤Þ¤¹¡£º£²ó¤Î¤è¤¦¤Ë -1 ¤ò»ØÄꤹ¤ë¤È¡¢¤½¤ì¤Ï̵¸Â¥ë¡¼¥×¤Ë¤Ê¤ê¤Þ¤¹¡£(¥ë¡¼¥×¤¬½ªÎ»¤·¤Þ¤»¤ó)
¤³¤Î¤è¤¦¤Ê¾ì¹ç¤ÏÌÀ¼¨Åª¤Ë½èÍý¤òÄä»ß¤µ¤»¤Ê¤¤¤È̵¸Â¤Ë¥ë¡¼¥×¤ò·«¤êÊÖ¤·¤Þ¤¹¡£

¡¡Âè2°ú¿ô¤Ç¤Ï¥ë¡¼¥×¤µ¤»¤ë¥¿¥¤¥×¤òLoopType¤È¤¤¤¦enum·¿¤«¤éÁªÂò¤·¤Þ¤¹¡£LoopType.Yoyo ¤Î¾ì¹ç¤Ï¡¢A => B , B => A¤È¤¤¤¦·Á¼°¤Ç¡¢ÌÜɸÃͤ«¤éºÆÅÙ¡¢¥¹¥¿¡¼¥ÈÃÏÅÀ¤ËÂФ·¤ÆÌá¤ë·Á¤Ç¥ë¡¼¥×¤ò·«¤êÊÖ¤·¤Þ¤¹¡£
¾¤Ë¤âLoopType¤¬¤¢¤ê¤Þ¤¹¤Î¤ÇÄ´¤Ù¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£¤³¤Î½èÍý¤Ë¤è¤Ã¤Æ¡¢º¸±¦Êý¸þ¤Ë¹Ô¤Ã¤¿¤êÍ褿¤ê¤·¤Æ¡¢¤½¤ì¤ò̵¸Â¤Ë¥ë¡¼¥×¤·¤Þ¤¹¡£


£³¡¥SetEase(EaseType easeType)

¡¡SetEase ¥á¥½¥Ã¥É¤â¾¤Î DOTween ¤Î¥á¥½¥Ã¥É¤ËÉտ魯¤ë½èÍý¤Ç¤¹¡£¤³¤Î¤è¤¦¤Ë DOTween ¤Ç¤Ï DOTween ¤Î¥á¥½¥Ã¥ÉƱ»Î¤ò£±¤Ä¤Î½èÍý¤Î²ô¤È¤·¤Æ³¤±¤Æ½èÍý¤ò¹Ô¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
½èÍý¤ò³¤±¤ë¾ì¹ç¤Ë¤Ï¡¢Á°¤Î¥á¥½¥Ã¥É¤Î¸å¤Ë¥Ô¥ê¥ª¥É(¥É¥Ã¥È)¤ò½ñ¤¯¤³¤È¤Ç¡¢¼¡¤Î¥á¥½¥Ã¥É¤ò½ñ¤¯¤³¤È¤¬²Äǽ¤Ç¤¹¡£(ºÇ½é¤ËÀâÌÀ¤·¤¿¡¢¥á¥½¥Ã¥É¡¦¥Á¥§¡¼¥ó¤Îµ­½ÒÊýË¡¤Ç¤¹)

  transform.DOLocalMoveX(transform.position.x + Random.Range(200.0f, 400.0f), 1f).SetLoops(-1, LoopType.Yoyo).SetEase(Ease.Linear);

¡¡SetEase ¥á¥½¥Ã¥É¤Ç¤Ï Ease ¤È¤¤¤¦¥¢¥Ë¥á¡¼¥·¥ç¥ó¤µ¤»¤ëºÝ¤Î¥Ñ¥¿¡¼¥ó¤òÊѹ¹¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£Ease ¤Ï enum ¤ÇÀßÄꤵ¤ì¤Æ¤ª¤ê¡¢Ease.¥¿¥¤¥× ¤Î½ñ¼°¤Çµ­½Ò¤·¤Þ¤¹¡£
Èó¾ï¤Ë¿¤¯¤Î¼ïÎब¤¢¤ê¤Þ¤¹¡£º£²ó¤ÏºÇ¤â°ìÈÌŪ¤Ï Ease.Linear ¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤¹¡£

¡¡º£²ó¤Ï¡¢DOLocalMoveX ¥á¥½¥Ã¥É¤¬¼Â¹Ô¤µ¤ì¤Æ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤¬ X ¼´Êý¸þ¤Ø¤Î°ÜÆ°¤ò¼Â¹Ô¤·¤Æ¤¤¤ëÉôʬ¤Ë¡¢¤³¤Î SetEase ¥á¥½¥Ã¥É¤¬¼Â¹Ô¤µ¤ì¤Þ¤¹¤Î¤Ç
°ÜÆ°¤¹¤ëºÝ¤ÎÊä´Ö½èÍý¤ËÂФ·¤Æ¡¢¤É¤Î¤è¤¦¤Ê¥¿¥¤¥×¤Î¥¢¥Ë¥á¡¼¥·¥ç¥ó¤Î¥Ñ¥¿¡¼¥ó¤òÀßÄꤷ¤Æ°ÜÆ°¤ò¹Ô¤ï¤»¤ë¤«¤ò»ØÄꤷ¤Æ¤¤¤Þ¤¹¡£

¡¡°ÜÆ°¤¹¤ëºÝ¤Ë Linear ¤ò»ØÄꤹ¤ë¤È¡¢¥¹¥¿¡¼¥ÈÃÏÅÀ¤«¤éÌÜɸÃÏÅÀ¤Þ¤ÇÅþ㤹¤ë¤Þ¤Ç¤Î°Üư®ÅÙ¤òÅù®¤Ë»ØÄꤹ¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
¤½¤Î¤¿¤á¡¢½é®¤ÇÁ᤯¤Ê¤Ã¤¿¤ê¡¢½ªÎ»´ÖºÝ¤ËÃÙ¤¯¤Ê¤Ã¤¿¤ê¡¢¤È¤¤¤Ã¤¿¤è¤¦¤Ê°ÜÆ°¤ÎÊä´Ö½èÍý¤Ç¤Ï¤Ê¤¯¤Ê¤ê¡¢ºÇ½é¤«¤éÌÜɸÃÏÅÀ¤Ë¤Ä¤¯¤Þ¤Ç¤òÅù®¤Ç°ÜÆ°¤·¤Þ¤¹¡£


¡¡
¡¡°Ê¾å¤¬º£²ó¼ÂÁõ¤·¤Æ¤¤¤ë¡¢DOTween¤Ç¤Î½èÍý¤Ë¤Ê¤ê¤Þ¤¹¡£ºÇ½é¤Ë¥¹¥¿¡¼¥È¤È¤Ê¤ë¸½ºßÃͤ«¤é±¦Êý¸þ¤Ø¤Î°ÜÆ°¤ò¹Ô¤¤¡¢
¤½¤Î¸å¡¢¥ë¡¼¥×½èÍý¤Ë¤è¤Ã¤Æ¡¢±¦Êý¸þ¤ÎÃÏÅÀ¤«¤éº¸Êý¸þ¤Î¥¹¥¿¡¼¥È¤·¤¿ X ¤Î°ÌÃÖ¤Þ¤ÇÌá¤Ã¤Æ¤¤¤¯½èÍý¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
¤³¤ì¤Ï¥ë¡¼¥×½èÍý¤Î»ØÄêÊýË¡¤ò Yoyo ¤Ë»ØÄꤷ¤Æ¤¤¤ë¤¿¤á¤Ç¤¹¡£

¡¡²ó¿ô̵À©¸Â¤Î¥ë¡¼¥×½èÍý¤¬¹Ô¤ï¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢¥¨¥Í¥ß¡¼¤òº¸±¦Êý¸þ¤ËÂФ·¤Æ¹Ô¤Ã¤¿¤êÍ褿¤ê¤µ¤»¤Æ¡¢¤½¤ì¤ò̵À©¸Â¤Î¥ë¡¼¥×²óž¤Î½èÍý¤ò¹Ô¤ï¤»¤ë½èÍý¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
¤Þ¤¿ Ease.Linear ¤ò»ØÄꤹ¤ë¤³¤È¤Ç¡¢º¸±¦¤Ë°ÜÆ°¤¹¤ëºÝ¤Ë¤ÏÅù®¤Ç°ÜÆ°¤ò¹Ô¤¦¤è¤¦¤Ë¤·¤Æ¤¤¤Þ¤¹¡£(°ÜÆ°¤ÎÅÓÃæ¤Ç®ÅÙ¤¬ÊѤï¤é¤Ê¤¤)


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

¡¡½èÍý¤Î¼ÂÁõ¤¬´°À®¤·¤¿¤Î¤Ç¡¢¥²¡¼¥à¤ò¼Â¹Ô¤·¤ÆÀ©¸æ¤ò³Îǧ¤·¤Þ¤¹¡£

¡¡EnemyDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Î EnemyData ¥¯¥é¥¹Æâ¤Î MoveType ÊÑ¿ô¤Ë
Meandering ¤òÀßÄꤷ¤Æ¤¤¤ë¥¨¥Í¥ß¡¼¤Î¾ì¹ç¤Ë¤Ï¡¢¼Ø¹Ô¤·¤Ê¤¬¤é°ÜÆ°¤ò¹Ô¤¦¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ì¤ÐÀ©¸æÀ®¸ù¤Ç¤¹¡£
¼Ø¹Ô¤¹¤ëºÝ¤Îº¸±¦¤ÎÉý¤Ï¥é¥ó¥À¥à¤Ç¤¹¤Î¤Ç¡¢º¸±¦¤ÎÉý¤¬¹­¤¤¥¨¥Í¥ß¡¼¤Û¤ÉÁÇÁ᤯ư¤¯¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£

¡¡Ä¾¿Ê°ÜÆ°¤Î¥¨¥Í¥ß¡¼¤È¤·¤Ã¤«¤ê¤Èʬ´ô¤¬¹Ô¤ï¤ì¤Æ¤¤¤ë¤³¤È¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£


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


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

¡¡¼¡¤Ï¡¡È¯Å¸£±£°¡¡¡Ý¥¨¥Í¥ß¡¼¤Î°ÜÆ°ÊýË¡¤Ë¹ç¤ï¤»¤¿°ÜÆ°½èÍý¤Î¼ÂÁõ­¢¡¼¡¡¤Ç¤¹¡£

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


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

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

Menu



´ðÁÃ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

private



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

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