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

¡¡¤³¤Î¼ê½ç¤«¤é¤Ï¡¢À½ºî¤·¤¿¥²¡¼¥à¤òÌÌÇò¤¯¤¹¤ë¤¿¤á¤ÎÍ×ÁǤÎÄɲᢤª¤è¤Ó³Ø½¬ÆâÍƤòȯŸ¤µ¤»¤ë¤¿¤á¤Î¶µºà¤Ë¤Ç¤¹¡£

¡¡¥×¥í¥°¥é¥à¤¬¤·¤Ã¤«¤ê¤ÈÆɤá¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Ê¤¤¤È¡¢¤³¤³¤«¤é¤ÎȯŸÊÔ¤ÏÆñ¤·¤¤ÆâÍƤˤʤê¤Þ¤¹¡£
¤Þ¤¿¡¢¿·¤·¤¤µ»½Ñ¤¬¤¿¤¯¤µ¤ó½Ð¤Æ¤­¤Þ¤¹¤Î¤Ç¡¢¥í¥¸¥Ã¥¯¤òÆɤ߲ò¤­¡¢¾¯¤·¤º¤ÄÍý²ò¤ò¤·¤Æ¤¤¤¯¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£



¡¼²ÖÎؤμ«Æ°À¸À®¤ÎÀ©¸æ½èÍý¤Î¼ÂÁõ¡¼

¡¡¡¦²ÖÎؤμ«Æ°À¸À®¤ÎÀ©¸æ½èÍý¤òÄɲ乤ë

¡¡¤³¤Î¼ê½ç¤Ç¤Ï¡¢²ÖÎؤΥ²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò¥é¥ó¥À¥à¤Ê°ÌÃÖ¤ËÀ¸À®¤Ë¤·¤Æ¡¢Ëè²ó°Û¤Ê¤ë¥¹¥Æ¡¼¥¸¤ò¼«Æ°Åª¤ËºîÀ®¤¹¤ëµ¡Ç½¤ò¼ÂÁõ¤·¤Þ¤¹¡£
²¼µ­¤Î²èÁü¤Î¤è¤¦¤Ë¡¢¼«Æ°À¸À®¤ò¹Ô¤¦¤¿¤á¤Î¥¹¥¤¥Ã¥Á¤òÍÑ°Õ¤·¡¢¤³¤Î¥¹¥¤¥Ã¥Á¤¬¥ª¥ó¤Î¤È¤­¤À¤±¡¢¥²¡¼¥à¤ò¼Â¹Ô¤¹¤ë¤È¥¹¥Æ¡¼¥¸¤ò¼«Æ°ºîÀ®¤¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£

¡ãÀßÄê¡ä



¡ã¼ÂÁõÆ°²è¡¡¥²¡¼¥à¼Â¹Ô¤ÈƱ»þ¤Ë²ÖÎؤ¬¥é¥ó¥À¥à¤Ê°ÌÃ֤ȥµ¥¤¥º¤ÇÀßÃÖ¤µ¤ì¤ë¡ä
https://gyazo.com/c259862aeca622f3311e68fbd82e0b3a

¡ã¼ÂÁõÆ°²è¡¡³Æ²ÖÎؤΥǡ¼¥¿¡£Â礭¤µ¤äÆÀÅÀ¡¢°ÜÆ°ÀßÄ꤬¼«Æ°¤ÇÀßÄꤵ¤ì¤Æ¤¤¤ë¡ä
https://gyazo.com/9e8921d70f6b6cbc926351c27247f714



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

¡¡¡¦Range°À­
¡¡¡¦ifʸ¤Î¾ò·ï¼°¤ËÌá¤êÃͤò»ý¤Ä¥á¥½¥Ã¥É¤òÍøÍѤ¹¤ë¾ì¹ç¤Î¼ÂÁõÎã
¡¡¡¦Start¥á¥½¥Ã¥É¤ÎÌá¤êÃͤòvoid¤«¤éIEnumerator·¿¤Ë¤·¤Æ»ÈÍѤ¹¤ë½èÍý
¡¡¡¦yield return StartCoroutine()½èÍý¤Ë¤è¤ëÂÔµ¡½èÍý
¡¡¡¦GameObject ·¿¤Ç¤Ï¤Ê¤¯¤Æ¼«ºî¥¯¥é¥¹¤Ç¥×¥ì¥Õ¥¡¥Ö¤ò¥¤¥ó¥¹¥¿¥ó¥¹¤¹¤ëÊýË¡
¡¡¡¦°ú¿ô¤Ë¾ò·ï¼°¤òÍøÍѤ¹¤ëÊýË¡


£±¡¥Àß·×


¡¡¤³¤Î¼ê½ç¤Ç¤Ï¡¢²ÖÎؤΥ²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò¥é¥ó¥À¥à¤Ê°ÌÃÖ¤ËÀ¸À®¤Ë¤·¤Æ¡¢Ëè²ó°Û¤Ê¤ë¥¹¥Æ¡¼¥¸¤ò¼«Æ°Åª¤ËºîÀ®¤¹¤ëµ¡Ç½¤ò¼ÂÁõ¤·¤Þ¤¹¡£

¡¡¶¯À©Åª¤Ë¼«Æ°À¸À®¤¹¤ë¤Î¤Ç¤Ï¤Ê¤¯¤Æ¡¢Àè¤Û¤É¤Î²èÁü¤Î¤è¤¦¤Ë¡¢¼«Æ°À¸À®ÍѤÎȽÄêÃͤòÍÑ°Õ¤·¤Æ¡¢¤½¤ì¤ò¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤Ëɽ¼¨¤·¤Þ¤¹¡£
¤³¤Á¤é¤Î¥¹¥¤¥Ã¥Á¤¬¥ª¥ó¤Î¤È¤­¤À¤±¡¢¥²¡¼¥à¤ò¼Â¹Ô¤¹¤ë¤È¥¹¥Æ¡¼¥¸¤ò¼«Æ°ºîÀ®¤¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£



¡¡²ÖÎؤϡ¢¿åÌÌÃÏÅÀ¤ò¥¹¥¿¡¼¥ÈÃÏÅÀ¤È¤·¡¢¥­¥ã¥é¤Î¤¤¤ëÃÏÅÀ¤Þ¤Ç¤Î´Ö¤Ë¡¢¥é¥ó¥À¥à¤Ê¿ôÇÛÃÖ¤µ¤ì¤ë»ÅÁȤߤò¼è¤ê¤Þ¤¹¡£
À¸À®¤µ¤ì¤ë¿ô¤ä¹â¤µ¤ò¸ÇÄêÃͤˤ·¤Ê¤¤¤¿¤á¡¢¥­¥ã¥é¤Î°ÌÃ֤˱þ¤¸¤Æ¡¢²ÖÎؤ¬À¸À®¤µ¤ì¤ë°ÌÃ֤⼫ưŪ¤Ë¿­½Ì¤·¤Þ¤¹¡£

¡¡£±¤Ä£±¤Ä¤Î²ÖÎؤι⤵¤Ï¥é¥ó¥À¥à¤ÇÀßÄꤵ¤ì¡¢Æ±¤¸¹â¤µ¤Ë¤ÏÀ¸À®¤µ¤ì¤Ê¤¤¤è¤¦¤Ë¤·¤Æ¤¤¤Þ¤¹¡£(¤³¤³¤Ï¸å¤Ç¼«Í³¤ËÀ߷פò¹Í¤¨¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£)

¡¡À¸À®¤µ¤ì¤¿²ÖÎؤΥ²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ï¡¢¤Þ¤º¡¢¾å²¼º¸±¦¤Î¤É¤Î°ÌÃÖ¤ËÀ¸À®¤¹¤ë¤«¤ò¥é¥ó¥À¥à¤ÇÀßÄꤷ¤Þ¤¹¡£
¤³¤ÎÀ¸À®ÈϰϤϡ¢¥­¥ã¥é¤Î°ÜÆ°ÈϰϤÎÀ©¸Â¤ËÍøÍѤ·¤¿¡¢LimitLeftBottom ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤È LimitRightTop ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òÍøÍѤ·¤Þ¤¹¡£
¤½¤¦¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢¥­¥ã¥é¤Î°ÜÆ°ÈÏ°ÏÆâ¤Ç¤Î¤ß¡¢²ÖÎؤΰÌÃÖ¤¬¥é¥ó¥À¥à¤ÇÀßÄꤵ¤ì¤ë¤è¤¦¤Ë¤Ê¤ë¤¿¤á¤Ç¤¹¡£



¡¡¤½¤Î¸å¡¢²ÖÎؤ¬¡¢°ÜÆ°¤¹¤ë²ÖÎؤʤΤ«¡¢¤¢¤ë¤¤¤Ï°ÜÆ°¤·¤Ê¤¤²ÖÎؤʤΤ«¤â¡¢¥é¥ó¥À¥à¤ÇÀßÄꤷ¤Þ¤¹¡£
¤³¤ì¤Ï³ä¹ç¤òÀßÄê¤Ç¤­¤ë¤è¤¦¤Ë¤·¡¢¤³¤Î³ä¹ç¤Ë±þ¤¸¤Æ¡¢°ÜÆ°¤¹¤ë¡¢¤·¤Ê¤¤¤òȽÄꤷ¤Þ¤¹¡£100¡ó¤Î¤¦¤Á¡¢²¿¡ó¤È¤¤¤¦ÀßÄêÊýË¡¤ò»È¤¤¤Þ¤¹¡£
¤½¤Î¤¿¤á¡¢0 ¤ËÀßÄꤹ¤ì¤Ð¤¹¤Ù¤Æ¸ÇÄê¤Î²ÖÎؤˤʤê¤Þ¤¹¤·¡¢100 ¤ËÀßÄꤹ¤ì¤Ð¤¹¤Ù¤Æ°ÜÆ°¤¹¤ë²ÖÎؤˤʤê¤Þ¤¹¡£


°ÜÆ°¤¹¤ë²ÖÎØ¡¢Â礭¤µ¤¬ÊѲ½¤¹¤ë²ÖÎؤγä¹ç¤ÎÀßÄê



¡¡À¸À®¤µ¤ì¤¿²ÖÎؤ¬°ÜÆ°¤¹¤ë²ÖÎؤǤ¢¤ë¾ì¹ç¡¢¤½¤Î°ÜÆ°¤¹¤ë»þ´Ö¤äµ÷Î¥¤ò¥é¥ó¥À¥à¤Ë¤¹¤ë¤«¡¢¤¢¤ë¤¤¤Ï¸ÇÄêÃͤˤ¹¤ë¤«¤òȽÄꤷ¤Þ¤¹¡£
¤³¤ì¤â100%¤Î³ä¹ç¤òÀßÄꤷ¤Æ¡¢¥é¥ó¥À¥à¤Ë¤Ê¤ë¤Î¤«¡¢¸ÇÄê¤Ë¤¹¤ë¤Î¤«¤òÀßÄê½ÐÍè¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£
¸ÇÄêÃͤξì¹ç¤Ë¤Ï¡¢¤¤¤Þ¤Þ¤Ç¤ÈƱ¤¸¤è¤¦¤ËÀßÄꤵ¤ì¤¿Ãͤ¬¤½¤Î¤Þ¤ÞÍøÍѤµ¤ì¤Þ¤¹¡£¥é¥ó¥À¥à¤Ë¤Ê¤Ã¤¿¾ì¹ç¤Ë¤Ï
°ÜÆ°»þ´Ö¤Èµ÷Î¥¤ÎºÇ¾®ÃͤȺÇÂçÃͤòÀßÄꤷ¤Æ¤ª¤­¡¢¤½¤ÎÈÏ°ÏÆâ¤Ç¥é¥ó¥À¥à¤ÊÃͤò¼«Æ°Åª¤Ë¼èÆÀ¤¹¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£


°ÜÆ°»þ´Ö¤Èµ÷Î¥¤òÈÏ°ÏÆâ¤Ç¥é¥ó¥À¥à¤ÊÃͤˤ¹¤ë



¡¡
¡¡Æ±¤¸¤è¤¦¤Ë¡¢²ÖÎؤÎÂ礭¤µ¤â¡¢³ä¹ç¤òÀßÄꤷ¤Æ¡¢¤½¤Î³ä¹ç¤ÇȽÄꤷ¤Æ¡¢²ÖÎؤÎÂ礭¤µ¤ò¥é¥ó¥À¥à¤ÊÂ礭¤µ¤ËÀßÄꤷ¤Þ¤¹¡£
¿ô»ú¤ÇºÙ¤«¤¯ÀßÄꤹ¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¤¬¡¢º£²ó¤ÏÇÛÎó¤òÍÑ°Õ¤·¡¢¥é¥ó¥À¥à¤ÊÃͤò²¿¼ïÎफÅÐÏ¿½ÐÍè¤ë¤è¤¦¤Ë¤·¤Æ¤ª¤­¤Þ¤¹¡£

¡¡¤Þ¤¿²ÖÎؤÎÂ礭¤µ¤¬Â礭¤¯¤Ê¤ë¤Û¤ÉÆÀÅÀ¤ò¾®¤µ¤¯¡¢Â礭¤µ¤¬¾®¤µ¤¯¤Ê¤ë¤Û¤ÉÆÀÅÀ¤¬¹â¤¯¤Ê¤ë¤è¤¦¤Ë¤âÀßÄꤷ¤Þ¤¹¡£


²ÖÎؤÎÂ礭¤µ¤ÈÆÀÅÀ¤ÎÇÜΨ¤òÅÐÏ¿¤¹¤ë



¡¡¤³¤Î£²¤Ä¤ÎÇÛÎó¤Ï¡¢Element ¤ÎƱ¤¸Í×ÁÇÈÖ¹æƱ»Î¤¬Æ±´ü¤¹¤ë¤è¤¦¤ËÀßÄê¤ò¹Ô¤¤¤Þ¤¹¡£
¤³¤Î²èÁü¤ÎÎã¤Ç¤¢¤ì¤Ð¡¢FlowerSizes ¤Î Element 0 ¤ÎÃͤòÍøÍѤ¹¤ë¾ì¹ç¤Ë¤Ï¡¢PointRate ¤Î Element 0 ¤ÎÃͤòÍøÍѤ¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
¤Ä¤Þ¤ê¡¢²ÖÎؤÎÂ礭¤µ¤ò 1.5 ÇܤÈÂ礭¤¯¤¹¤ëÂå¤ï¤ê¤Ë¡¢ÆÀÅÀ¤Ï 0.7 Çܤȡ¢¾®¤µ¤¯¤Ê¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£


¡¡¤³¤ì¤é¤Î½èÍý¤ò£±¤Ä¤Î²ÖÎؤòÀ¸À®¤¹¤ë¤¿¤Ó¤Ë¡¢¼«Æ°Åª¤Ë½èÍý¤ò¹Ô¤Ã¤Æ²ÖÎؤòʤ٤Ƥ¤¤­¤Þ¤¹¡£

¡¡¤Ç¤Ï¡¢¤³¤Î¼ê½ç¤Ë¤Ä¤¤¤Æ¡¢¤É¤Î¤è¤¦¤Ë¤¹¤ì¤Ð¼ÂÁõ¤¬¤Ç¤­¤ë¤Î¤«¡¢¥í¥¸¥Ã¥¯¤ò¹Í¤¨¤Æ¤ß¤Þ¤·¤ç¤¦¡£


£²¡¥½èÍý¤Îή¤ì


¡¡²ÖÎؤÎÀ¸À®½èÍý¤Ç¤¹¤¬¡¢²ÖÎؤΥ²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ï¥×¥ì¥Õ¥¡¥Ö¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢¤³¤Á¤é¤ò»È¤Ã¤Æ¥¯¥í¡¼¥ó¤ò¥¤¥ó¥¹¥¿¥ó¥¹¤·¤Þ¤¹¡£
¥¤¥ó¥¹¥¿¥ó¥¹¤Î½èÍý¤Ï¥²¡¼¥à¤Î¿Ê¹Ô´ÉÍý¤ò¹Ô¤Ã¤Æ¤¤¤ë GameManager ¥¹¥¯¥ê¥×¥È¤ËÀ©¸æ¤ò¹Ô¤ï¤»¤Þ¤¹¡£

¡¡²ÖÎؤϿåÌ̤«¤é¥­¥ã¥é¤Î¤¤¤ë°ÌÃÖ(¹â¤µ)¤òÌÜɸ¤Ëʤ٤Ƥ¤¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¤Î¤Ç¡¢¿åÌ̤ò²ÖÎؤÎÀ¸À®ÃÏÅÀ¤Î¥¹¥¿¡¼¥ÈÃÏÅÀ¤È¤·¤ÆÅÐÏ¿¤·¡¢
²ÖÎؤò£±¤ÄÀ¸À®¤¹¤ë¤´¤È¤Ë¡¢¤³¤ÎÀ¸À®°ÌÃÖ¤ò¾¯¤·¤º¤Ä¾å¾º¤µ¤»¤Æ¤¤¤­¤Þ¤¹¡£À¸À®ÃÏÅÀ + 3 ¤Î°ÌÃ֤DzÖÎؤòÀ¸À®¤·¤¿¤é¡¢
¼¡¤Ï¤µ¤é¤Ë ¸½ºß¤ÎÀ¸À®ÃÏÅÀ + 3 ¤Î°ÌÃÖ¡¢¤È¤¤¤¦¤è¤¦¤ËÀ¸À®¤¹¤ë°ÌÃÖ¤ò¾¯¤·¤º¤Ä¾å¤Ë¾å¤Ë¹¹¿·¤·¤Æ¤¤¤­¤Þ¤¹¡£

¡¡¤½¤·¤Æ¡¢¤³¤ÎÀ¸À®ÃÏÅÀ¤¬¥­¥ã¥é¤Î¹â¤µ¤Þ¤ÇÅþ㤷¤¿¤é¡¢²ÖÎؤÎÀ¸À®¤ò½ªÎ»¤¹¤ë¤è¤¦¤Ë¥ë¡¼¥×½èÍý¤ò»È¤Ã¤ÆÀ©¸æ¤ò¹Ô¤¤¤Þ¤¹¡£

¡¡¤³¤Î¤è¤¦¤Ë²ó¿ô¤Ç¤Î»ØÄ꤬Æñ¤·¤¤¾ì¹ç¤Ë¤Ï for ʸ¤Ç¤Ï¤Ê¤¯¡¢while ʸ¤òÍøÍѤ·¤Æ¥ë¡¼¥×½èÍý¤ò¹Ô¤¤¤Þ¤¹¡£
¤¿¤À¤·¡¢while ʸ¤Ë¤è¤ë½èÍý¤Ï½èÍý¤òÀ©¸æ¤ò´Ö°ã¤¨¤ë¤È̵¸Â¥ë¡¼¥×¤¬È¯À¸¤·¤Æ¤·¤Þ¤¤¡¢Unity ¤¬¥Õ¥ê¡¼¥º¤·¤Þ¤¹¡£µ¤¤òÉÕ¤±¤Þ¤·¤ç¤¦¡£


²ÖÎؤòÀ¸À®¤·¤¿¤é¡¢°ÌÃÖ¤ò¥é¥ó¥À¥à¤ËÀßÄꤷ¤Þ¤¹¡£Y ¼´¤Î¹â¤µ¤Î¾ðÊó¤Ï¤¹¤Ç¤ËÀ¸À®ÃÏÅÀ¤¬¤¢¤ê¤Þ¤¹¤Î¤Ç¡¢X ¼´¤È Z ¼´¤Î¾ðÊ󤬤¢¤ì¤Ð¡¢¥é¥ó¥À¥à¤Ê°ÌÃÖ¤ËÀßÄê¤Ç¤­¤Þ¤¹¡£
¤³¤Á¤é¤Ë¡¢¥­¥ã¥é¤Î°ÜÆ°ÈϰϤòÀ©¸Â¤·¤Æ¤¤¤ë¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î°ÌÃÖ¾ðÊó¤ò»²¾È¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢¥­¥ã¥é¤Î°ÜÆ°¤Ç¤­¤ëÈÏ°ÏÆâ¤Ç¾å²¼º¸±¦¤Î°ÌÃ֤˥é¥ó¥À¥à¤ËÀßÃÖ¤·¤Þ¤¹¡£
¡¡
¡¡¤³¤³¤Þ¤Ç¤ò GameManager ¥¹¥¯¥ê¥×¥È¤Ë¤è¤Ã¤ÆÀ©¸æ¤µ¤»¤Þ¤¹¡£¤¢¤È¤Î½èÍý¤Ï¡¢²ÖÎؤΥ²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë FlowerCircle ¥¹¥¯¥ê¥×¥È¤Ë½èÍý¤òÄɲä·¤ÆÀ©¸æ¤·¤Þ¤¹¡£



¡¡FlowerCircle ¥¹¥¯¥ê¥×¥È¤Ë¡¢²ÖÎؤνé´üÀßÄê¤ò¹Ô¤¦¥á¥½¥Ã¥É¤òÍÑ°Õ¤·¤Æ¤ª¤¤¤Æ¡¢¤½¤ì¤ò GameManager ¥¹¥¯¥ê¥×¥È¤«¤é¸Æ¤Ó½Ð¤¹¥í¥¸¥Ã¥¯¤Ë¤·¤Þ¤¹¡£
¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤¹ºÝ¤Ë¤Ï¡¢²ÖÎؤ¬°ÜÆ°¤¹¤ë¤Î¤«¡¦¤·¤Ê¤¤¤Î¤«¡¢Â礭¤µ¤¬ÊѤï¤ë¤Î¤«¡¦Ä̾ï¤ÎÂ礭¤µ¤Ê¤Î¤«¡¢¤È¤¤¤¦¾ðÊó¤òÍð¿ô¤òÍøÍѤ·¤ÆȽÄê¤ò¹Ô¤¤¤Þ¤¹¡£
¡¡
¡¡¤³¤¦¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢FlowerCircle ¥¹¥¯¥ê¥×¥È¤ËÍÑ°Õ¤·¤Æ¤ª¤¤¤¿¥á¥½¥Ã¥É¤¬°ÜÆ°²ÄÈÝ¡¢¥µ¥¤¥ºÊѹ¹¤Î²ÄÈݤξðÊó¤ò¼õ¤±¼è¤Ã¤ÆÍøÍѤ¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£

¡¡°ÜÆ°¤¹¤ë²ÖÎؤξì¹ç¤Ë¤Ï¡¢°ÜÆ°¤¹¤ë»þ´Ö¤Èµ÷Î¥¤¬¸ÇÄêÃͤ«¡¢¥é¥ó¥À¥à¤Ë¤¹¤ë¤Î¤«¤ò¡¢Íð¿ô¤òÍøÍѤ·¤ÆȽÄê¤ò¹Ô¤¤¡¢ÀßÄꤷ¤Þ¤¹¡£

¡¡Â礭¤µ¤òÊѹ¹¤¹¤ë²ÖÎؤξì¹ç¤Ë¤Ï¡¢¤É¤ÎÂ礭¤µ¤Ë¤¹¤ë¤Î¤«¡¢Íð¿ô¤òÍøÍѤ·¤Æ¡¢ÅÐÏ¿¤·¤Æ¤¢¤ë¾ðÊ󤫤éÊѹ¹¤¹¤ë¥µ¥¤¥º¤òÀßÄꤷ¤Þ¤¹¡£
¹ç¤ï¤»¤Æ¡¢ÆÀÅÀ¤âÊѹ¹¤¹¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£

¡¡
¡¡¤³¤³¤Þ¤Ç¤Î½èÍý¤¬¡¢²ÖÎؤ¬£±¤ÄÀ¸À®¤µ¤ì¤Æ¡¢¥é¥ó¥À¥à¤ËÀßÄ꤬¹Ô¤ï¤ì¤ë¤Þ¤Ç¤Î°ìÏ¢¤Î½èÍý¤Îή¤ì¤Ë¤Ê¤ê¤Þ¤¹¡£
¤³¤ì¤ò¡¢²ÖÎؤÎÀ¸À®°ÌÃ֤ξðÊ󤬡¢¥­¥ã¥é¤Î¤¤¤ëÃÏÅÀ¤ËÅþ㤹¤ë¤Þ¤Ç·«¤êÊÖ¤¹¤³¤È¤Ç¡¢¾å²¼Êý¸þ¤Ë²ÖÎؤò¥é¥ó¥À¥à¤ËÀ¸À®¤·¤Æ¡¢¥¹¥Æ¡¼¥¸¤òÀ¸À®¤·¤Þ¤¹¡£



¡¡ºÇ½é¤Ë FlowerCircle ¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¤Æ¡¢ÊÑ¿ô¤ÎÄɲᢥ᥽¥Ã¥É¤ÎÄɲäò¹Ô¤¤¡¢À¸À®¤µ¤ì¤¿²ÖÎؤ¬ GameManager ¥¹¥¯¥ê¥×¥È¤«¤é¤ÎÌ¿Îá¤Ë¤è¤ê¡¢
¼õ¤±¼è¤Ã¤¿¾ðÊó¤ò¸µ¤Ë¡¢¼«Ê¬¤Ç°ÜÆ°¤ÎÀßÄê¤È¡¢Â礭¤µ¤ÎÊѹ¹¤ò¹Ô¤¦¤è¤¦¤ËÀ©¸æ½èÍý¤òÄɲä·¤Þ¤¹¡£

¡¡¤½¤Î¸å¡¢GameManager ¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¤Æ¡¢ÊÑ¿ô¤ÎÄɲäȡ¢¥á¥½¥Ã¥É¤ÎÄɲäò¹Ô¤¤¡¢²ÖÎؤòÀ¸À®¤¹¤ëÀ©¸æ½èÍý¤òÄɲä·¤Þ¤¹¡£


£³¡¥FlowerCircle ¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤¹¤ë


¡¡Àë¸À¥Õ¥£¡¼¥ë¥É¤Ë¤Ï¿·¤·¤¯£µ¤Ä¤ÎÊÑ¿ô¤òÄɲ䷤Ƥ¤¤Þ¤¹¡£½èÍý¤ÎÆâÍƤò³Îǧ¤·¡¢¤É¤ÎÉôʬ¤ÇÍøÍѤ·¤Æ¤¤¤ë¤Î¤«¤òÆɤ߲ò¤¤¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£
ÊÑ¿ô¤ÎÀâÌÀ¤Ï¡¢¥¢¥µ¥¤¥ó¾ðÊó¤ÎÉôʬ¤Ç¾Ü¤·¤¯ÀâÌÀ¤·¤Æ¤¤¤Þ¤¹¤¬¡¢¼«Ê¬¤Î½èÍý¤ò¸«¤¿¾ì¹ç¤ÎÊÑ¿ô¤Î½èÍý¤È¸«Èæ¤Ù¤Æ¤¯¤À¤µ¤¤¡£


¡¡½¾Íè¤Î¥á¥½¥Ã¥ÉÆâ¤ËÄɵ­¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢Âå¤ï¤ê¤Ë¿·¤·¤¤¥á¥½¥Ã¥É¤ò£´¤ÄÄɲ䷤Ƥ¤¤Þ¤¹¡£
¤¤¤º¤ì¤â²ÖÎؤ¬°ÜÆ°¤¹¤ë¾ì¹ç¤ËÀ©¸æ½èÍý¤ò¹Ô¤¦¥á¥½¥Ã¥É·²¤Ç¤¹¡£

¡¡SetUpMovingFlowerCircle ¥á¥½¥Ã¥É¤Ï GameManager ¥¹¥¯¥ê¥×¥È¤«¤é²ÖÎؤÎÀ¸À®¸å¤Ë¤¹¤°¤Ë¸Æ¤Ó½Ð¤µ¤ì¤ë¥á¥½¥Ã¥É¤Ç¤¹¡£
bool ·¿¤Î°ú¿ô¤ò£²¤ÄÍÑ°Õ¤·¤Æ¤ª¤ê¡¢¤½¤ÎÃͤòÍøÍѤ·¤Æ¡¢²ÖÎؤ¬°ÜÆ°¤¹¤ë¤Î¤«¡¢°ÜÆ°¤¹¤ë¾ì¹ç¤Ë¤Ï¥é¥ó¥À¥à¤ÊÃͤǰÜÆ°¤¹¤ë¤Î¤«¡¢
½é´ü¤Î¸ÇÄêÃͤǰÜÆ°¤¹¤ë¤Î¤«¤òȽÄꤷ¤ÆÀßÄꤹ¤ë¾ì½ê¤Ç¤¹¡£¤½¤Î¸å¤Ë¡¢Â礭¤µ¤òÊѤ¨¤ëÌ¿Î᤬Íè¤Æ¤¤¤ì¤ÐÂ礭¤µ¤ÈÆÀÅÀ¤âÊѹ¹¤·¤Þ¤¹¡£

¡¡Â¾¤Î£³¤Ä¤Î¥á¥½¥Ã¥É¤Ï¡¢¤³¤Î¥á¥½¥Ã¥ÉÆ⤫¤é¸Æ¤Ó½Ð¤µ¤ì¤ë½èÍý¤Ë¤Ê¤Ã¤Æ¤¤¤Æ¡¢¾åµ­¤Î¤¦¤Á¡¢
¥é¥ó¥À¥à°ÜÆ°¤ÎȽÄê½èÍý¡¢¥é¥ó¥À¥à°ÜÆ°¤Î¾ì¹ç¤ÎÃͤÎÀßÄê½èÍý¡¢Â礭¤µ¤ÈÆÀÅÀ¤òÀßÄꤹ¤ë½èÍý¤ò¡¢¤½¤ì¤¾¤ì¥á¥½¥Ã¥É¤Ëʬ³ä¤·¤ÆÀ©¸æ¤·¤Æ¤¤¤Þ¤¹¡£


FlowerCircle.cs

¡¡<=¡¡¥¯¥ê¥Ã¥¯¤¹¤ë¤È³«¤­¤Þ¤¹



¡¡¥¹¥¯¥ê¥×¥È¤Î½¤Àµ¤¬½ªÎ»¤·¤¿¤é¡¢¥Ò¥¨¥é¥ë¥­¡¼¤Ë¤¢¤ë FlowerCircle ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤ò³Îǧ¤·¤Þ¤¹¡£
¿·¤·¤¯Äɲä·¤¿ÊÑ¿ô·²¤¬Äɲ䵤ì¤Æ¤¤¤ë¤«³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£


FlowerCircle ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¡¡¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü



£´¡¥¡ãRange°À­¡ä


¡¡Range(¥ì¥ó¥¸) °À­¤Ï¡¢int ·¿¤ä float ·¿¤ÎÊÑ¿ô¤òÀë¸À¤¹¤ëºÝ¤Ë»ÈÍѤ¹¤ë°À­¤Ç¤¹¡£
Àë¸À¤·¤¿ÊÑ¿ô¤ÎÃͤò¡¢°ú¿ô¤Ç»ØÄꤷ¤¿ÈÏ°Ï (ºÇ¾®ÃÍ, ºÇÂçÃÍ) ¤È¤·¤ÆÀ©¸Â¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£¤Þ¤¿¡¢¤½¤Î¾ì¹ç¡¢¤³¤Î¾ðÊó¤Ï¥¹¥é¥¤¥À¡¼¤È¤·¤Æ¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£

  [SerializeField, Header("°ÜÆ°¤¹¤ë»þ´Ö¤Èµ÷Î¥¤ò¥é¥ó¥À¥à¤Ë¤¹¤ë³ä¹ç"), Range(0, 100)]
  private int randomMovingPercent;


Range °À­ÍøÍÑ»þ¤Î¥¤¥ó¥¹¥Ú¥¯¥¿¡¼É½¼¨



»²¹Í¥µ¥¤¥È
Unity¸ø¼°¥¹¥¯¥ê¥×¥È¥ê¥Õ¥¡¥ì¥ó¥¹
RangeAttribute
https://docs.unity3d.com/ja/current/ScriptReferenc...
¥Æ¥é¥·¥å¡¼¥ë¥Ö¥í¥° ÍÍ
Unity¤ÎAttribute¡Ê°À­¡Ë¤Ë¤Ä¤¤¤Æ¤Þ¤È¤á¤Æ¥á¥â¤ë¡£
http://tsubakit1.hateblo.jp/entry/2015/01/03/20384...


£µ¡¥¡ãifʸ¤Î¾ò·ï¼°¤ËÌá¤êÃͤò»ý¤Ä¥á¥½¥Ã¥É¤òÍøÍѤ¹¤ë¾ì¹ç¤Î¼ÂÁõÎã¡ä


¡¡ifʸ¤Ë¤ÏÌá¤êÃͤò»ý¤Ä¥á¥½¥Ã¥É¤òÍøÍѤ¹¤ë¤³¤È¤Ç¡¢¤½¤ÎÌá¤êÃͤÎÃͤòɾ²Á¤·¤ÆȽÄê¤ò¹Ô¤¦¤³¤È¤¬½ÐÍè¤Þ¤¹¡£

  // ¥é¥ó¥À¥à¤Ê°ÜÆ°»þ´Ö¤äµ÷Î¥¤ò»È¤¦¤«¡¢Ìá¤êÃͤò»ý¤Ä¥á¥½¥Ã¥É¤òÍøÍѤ·¤ÆȽÄê
  if (DetectRandomMovingFromPercent()) {

      // ¥é¥ó¥À¥à¤Î¾ì¹ç¤Ë¤Ï¡¢°ÜÆ°»þ´Ö¤Èµ÷Î¥¤Î¥é¥ó¥À¥àÀßÄê¤ò¹Ô¤¦
      ChangeRandomMoveParameters();
  }


¡¡¤³¤³¤Ç¤Ï¡¢DetectRandomMovingFromPercent ¥á¥½¥Ã¥É¤ò¼Â¹Ô¤·¡¢¤³¤Î¥á¥½¥Ã¥É¤ÎÌá¤êÃͤ¬ bool ·¿¤Ç¤¢¤ë¤¿¤á¡¢¤½¤ÎÌá¤êÃͤòɾ²Á¤·¤Æ¾ò·ïʬ´ô¤ò¹Ô¤¤¤Þ¤¹¡£

  private bool DetectRandomMovingFromPercent() {
      // ½èÍý·ë²Ì¤ò  bool ÃͤÇÌ᤹¡£randomMovingPercent ¤ÎÃͤè¤ê¤âÂ礭¤±¤ì¤Ð¡¢false¡¢Æ±¤¸¤«¾®¤µ¤±¤ì¤Ð true
      return Random.Range(0, 100) <= randomMovingPercent;
  }

¡¡DetectRandomMovingFromPercent ¥á¥½¥Ã¥É¤Ë¤Ï bool ·¿¤ÎÌá¤êÃͤ¬¤¢¤ê¤Þ¤¹¤Î¤Ç¡¢
¤³¤Î¥á¥½¥Ã¥É¤Î½èÍý·ë²Ì¤¬¡¢ifʸ¤Î¾ò·ï¼°¤ËÂФ·¤Æ¤Îɾ²ÁÂоݤȤʤꡢ¾ò·ï¤òËþ¤¿¤¹¤«¡¢Ëþ¤¿¤·¤Æ¤¤¤Ê¤¤¤«¤òȽÄꤷ¤Þ¤¹¡£

¡¡½èÍý¤Î½çÈ֤Ȥ·¤Æ¤Ï

¡¡¡¡if ʸ¤Ë½èÍý¤¬Åþ㤹¤ë¡¡¢ª¡¡DetectRandomMovingFromPercent ¥á¥½¥Ã¥É¤ò¼Â¹Ô¤·¡¢¤½¤Î·ë²Ì¤Ç¤¢¤ë bool ·¿¤ÎÃͤ¬ if ʸÆâ¤Î¾ò·ï¼°¤ËÌá¤ë¡¡¢ª¡¡Ìá¤êÃͤò if ʸ¤¬É¾²Á¤·¤Æ¾ò·ïʬ´ô¤¹¤ë

¡¡¤È¤¤¤¦Î®¤ì¤Ë¤Ê¤ê¤Þ¤¹¡£


£¶¡¥FlowerCircle ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¥×¥ì¥Õ¥¡¥Ö¤ÎÀßÄê¤ò¹Ô¤¦


¡¡Prefabs ¥Õ¥©¥ë¥À¤Ë¤¢¤ë FlowerCircle ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òÁªÂò¤·¤Æ¡¢¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤Î°ìÈÖ¾å¤Ë¤¢¤ë Open Prefab ¥Ü¥¿¥ó¤ò²¡¤·¤Æ¥×¥ì¥Õ¥¡¥Ö¤ÎÊÔ½¸¥â¡¼¥É¤Ë¤·¤Þ¤¹¡£

¡¡FlowerCircle ¥¹¥¯¥ê¥×¥È¤Ë SerializeField °À­¤ÇÀë¸À¤·¤¿ÊÑ¿ô¤¬¥¢¥µ¥¤¥ó¾ðÊ󤬣µ¤ÄÄɲ䵤ì¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢½çÈÖ¤ËÀßÄê¤ò¹Ô¤¤¤Þ¤¹¡£
¡¡

FlowerCircle ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¡¡¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü



¡¡randomMovingPercent ÊÑ¿ô¤Ï Range °À­¤¬ÉÕ¤¤¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢¥¹¥é¥¤¥À¡¼¤ò»È¤Ã¤ÆÈÏ°ÏÆâ¤ÇÀßÄê¤ò¹Ô¤¤¤Þ¤¹¡£
¤³¤ÎÃͤϡ¢°ÜÆ°¤¹¤ë²ÖÎؤȤ·¤ÆÀ¸À®¤µ¤ì¤¿¾ì¹ç¤Ë¤Î¤ßÍøÍѤ¹¤ë¾ðÊó¤Ç¤¹¡£

¡¡°ÜÆ°¤¹¤ë²ÖÎؤȤ·¤ÆÀ¸À®¤µ¤ì¤¿¾ì¹ç¤Ë¡¢¤½¤Î°ÜÆ°¤¹¤ë»þ´Ö¤Èµ÷Î¥¤ò¥é¥ó¥À¥àÃͤˤ¹¤ë¤«¡¢¤¢¤ë¤¤¤Ï¸ÇÄêÃͤˤ¹¤ë¤«¤òÀßÄꤹ¤ë³ä¹ç¤Ç¤¹¡£

¡¡0 ¤Ë¤¹¤ì¤Ð¥é¥ó¥À¥à¤Ë°ÜÆ°¤¹¤ë²ÖÎؤϺî¤é¤ì¤Þ¤»¤ó¤Î¤Ç¡¢¾ï¤Ë¸ÇÄêÃͤȤ·¤Æ°ÜÆ°»þ´Ö¤Èµ÷Î¥¤¬ÀßÄꤵ¤ì¤Þ¤¹¡£
ºÇ½é¤Ï 50 °Ì¤Ë¤·¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡£¤½¤Î¾ì¹ç¡¢50% ¤Î³ÎΨ¤Ç¥é¥ó¥À¥à¤Ê°ÜÆ°»þ´Ö¤Èµ÷Î¥¤ò»ý¤Ã¤¿²ÖÎؤ¬ºî¤é¤ì¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
»Ä¤ë³ÎΨ¤Ë¤Ê¤Ã¤¿¾ì¹ç¤Ë¤Ï¡¢¸ÇÄêÃͤò»ý¤Ä°ÜÆ°¤¹¤ë²ÖÎؤˤʤê¤Þ¤¹¡£

¡¡durationRange ÊÑ¿ô¤Ï¡¢¾åµ­¤Î randomMovingPercent ÊÑ¿ô¤Î·ë²Ì¤Ë¤è¤Ã¤Æ¡¢°ÜÆ°¤¹¤ë²ÖÎؤΰÜÆ°»þ´Ö¤¬¥é¥ó¥À¥àÃͤˤʤë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£
¤½¤Î¾ì¹ç¤Î¥é¥ó¥À¥àÃͤÎÉý¤òÀßÄꤹ¤ë¾ðÊó¤Ç¤¹¡£Vector2 ·¿¤ÇÀë¸À¤·¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢X ¤ËºÇ¾®ÃÍ¡¢Y ¤ËºÇÂçÃͤòÀßÄꤷ¤Þ¤¹¡£
Vector2 ·¿¤Ï°ÌÃÖ¾ðÊó¤ËÍøÍѤ¹¤ë¤³¤È¤¬Â¿¤¤¤Ç¤¹¤¬¡¢¤³¤Î¤è¤¦¤Ë float ·¿¤ò£²¤Ä»È¤Ã¤ÆÀ©¸ÂÃͤòÀߤ±¤¿¤¤¾ì¹ç¤Ë¤âÍøÍѤǤ­¤Þ¤¹¡£

¡¡Â³¤¤¤Æ¤Î moveDistanceRange ÊÑ¿ô¤â¡¢¾åµ­¤ÈƱ¤¸¤Ç¡¢¥é¥ó¥À¥à¤Ë°ÜÆ°¤¹¤ë²ÖÎؤȤ·¤ÆÀ¸À®¤µ¤ì¤¿¾ì¹ç¤Ë¤ª¤±¤ë¡¢°ÜÆ°µ÷Î¥¤Î¥é¥ó¥À¥àÃͤòÀßÄꤹ¤ë¾ðÊó¤Ç¤¹¡£
Vector2 ·¿¤Ç¤¹¤Î¤ÇƱ¤¸¤è¤¦¤Ë¡¢¥é¥ó¥À¥àÃͤκǾ®ÃͤȺÇÂçÃͤòÀßÄꤷ¤Þ¤¹¡£



¡¡flowerSizes ÊÑ¿ô¤ÏÇÛÎóÊÑ¿ô¤Ç¡¢²ÖÎؤÎÂ礭¤µ¤¬Êѹ¹¤Ë¤Ê¤ëȽÄê¤Ë¤ª¤¤¤Æ¡¢²¿¼ïÎफ¤ÎÂ礭¤µ¤ÎÀßÄê¤òÍÑ°Õ¤·¤Æ¤ª¤¤¤Æ¡¢¤½¤Î¤¦¤Á¤Î£±¤Ä¤ÎÂ礭¤µ¤òŬÍѤ·¤Þ¤¹¡£
Î㤨¤Ð¡¢£³¼ïÎà¤ÎÂ礭¤µ¤Î¾ðÊó¤ÎÅÐÏ¿¤¬¤¢¤ì¤Ð¡¢²ÖÎؤÎÂ礭¤µ¤ò¡¢¤½¤Î£³¼ïÎफ¤é£±¤Ä¥é¥ó¥À¥à¤ÇÁª¤ó¤ÇÀßÄꤷ¤Þ¤¹¡£
¤³¤ÎÃÍ¤Ï float ·¿¤Ç¤¹¡£¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î Scale ¤ÎÇÜΨ¤Ë¤Ê¤ê¤Þ¤¹¤Î¤Ç¡¢Î㤨¤Ð¡¢0.5 ¤ÈÀßÄꤹ¤ì¤Ð Scale ¤Ï 1 * 0.5 = 0,5 ¤ÎÂ礭¤µ¤Î²ÖÎؤˤʤê¤Þ¤¹¡£

¡¡pointRate ÊÑ¿ô¤âÇÛÎóÊÑ¿ô¤Ç¡¢¾åµ­¤Î flowerSizes ÊÑ¿ô¤ÎÍ×ÁÇ¿ô¤ÈƱ¤¸¿ô¤ÇÅÐÏ¿¤ò¹Ô¤¤¤Þ¤¹¡£Â礭¤µ¤¬£³¼ïÎà¤Ê¤é¡¢¤³¤Á¤é¤â3¼ïÎà¤Ë¤·¤ÆÀßÄê¤ò¹Ô¤¤¤Þ¤¹¡£
¤³¤Á¤é¤ÎÃͤϲÖÎؤλý¤ÄÆÀÅÀ¤Ë¤«¤«¤ëÇÜΨ¤Ç float ·¿¤Ç¤¹¡£Î㤨¤Ð¡¢2.5 ¤ÈÀßÄꤹ¤ì¤Ð¡¢point *= 2.5 ¤¬²ÖÎؤÎÆÀÅÀ¤Ë¤Ê¤ê¤Þ¤¹¡£


¡¡¤³¤ì¤é¤Ï¥²¡¼¥à¤òÍ·¤Ó¤Ê¤¬¤éÄ´À°¤ò¹Ô¤Ã¤Æ¤¤¤­¤Þ¤·¤ç¤¦¡£

¡¡ÀßÄ꤬½ªÎ»¤·¤¿¤é¡¢Â³¤¤¤Æ GameManager ¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¡¢²ÖÎؤòÀ¸À®¤¹¤ë½èÍý¤È¡¢¤¤¤ÞÄɲä·¤¿ FlowerCircle ¥¹¥¯¥ê¥×¥È¤Î
SetUpMovingFlowerCircle ¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤¹½èÍý¤ò¼ÂÁõ¤·¤Þ¤¹¡£


£·¡¥GameManager ¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¤Æ¡¢²ÖÎؤò¼«Æ°À¸À®¤¹¤ë½èÍý¤òÄɲ乤ë


¡¡¿·¤·¤¤ÊÑ¿ô¤ò£¶¤³Àë¸À¤·¤Þ¤¹¡£¤¹¤Ù¤Æ SerializeField°À­¤ÇÀë¸À¤·¤Þ¤¹¤Î¤Ç¡¢¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤è¤êÀßÄê¤ä¥¢¥µ¥¤¥ó¤ò¹Ô¤¨¤ë¤è¤¦¤Ë¤·¤Æ¤¤¤Þ¤¹¡£
¤É¤Î¤è¤¦¤Êµ¡Ç½¤ò»ý¤Ã¤Æ¤¤¤Æ¡¢¤É¤Î¤è¤¦¤ËÍøÍѤµ¤ì¤Æ¤¤¤ë¤«¤ò³Îǧ¤·¤Ê¤¬¤é½èÍý¤ò½ñ¤¤¤Æ¤¯¤À¤µ¤¤¡£ÀâÌÀ¤Ï¸å½Ò¤Î¥¢¥µ¥¤¥ó¤ÎºÝ¤Ë¤·¤Æ¤¤¤Þ¤¹¡£

¡¡½¾Íè¤Î¥á¥½¥Ã¥É¤Ë¤ÏÊѹ¹¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢¿·¤·¤¯£²¤Ä¤Î¥á¥½¥Ã¥É¤òÄɲ䷤Ƥ¤¤Þ¤¹¡£

¡¡Start ¥á¥½¥Ã¥É¤òÍÑ°Õ¤·¤Æ¡¢¥²¡¼¥à¤Î³«»Ï»þ¤Ë¡¢²ÖÎؤò¼«Æ°À¸À®¤¹¤ëµ¡Ç½¤òÍøÍѤ¹¤ë¤«È½Äê¤ò¹Ô¤¤¤Þ¤¹¡£
¤â¤·¤â¼«Æ°À¸À®¤ò¹Ô¤¦ÀßÄê¤Ë¤Ê¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢¤â¤¦£±¤Ä¿·¤·¤¯ÍÑ°Õ¤¹¤ë CreateRandomStage ¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤·¤Æ¡¢²ÖÎؤÎÀ¸À®½èÍý¤ò¼Â¹Ô¤·¤Þ¤¹¡£

¡¡¤³¤Î CreateRandomStage ¥á¥½¥Ã¥É¤Ï¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥É¤È¤Ê¤Ã¤Æ¤ª¤ê¡¢¤³¤ÎÃæ¤Ç¥ë¡¼¥×½èÍý¤òÍøÍѤ·¤Æ
¿åÌ̤«¤é¥­¥ã¥é¤Î°ÌÃ֤ޤǤδ֤˲ÖÎؤòÀ¸À®¤¹¤ëÀ©¸æ¤ò¹Ô¤Ã¤Æ¤¤¤Þ¤¹¡£

¡¡¤³¤Î¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥É¤Ï Start ¥á¥½¥Ã¥ÉÆâ¤Ç yield return ¤Î¤Ä¤¤¤¿¸Æ¤Ó½Ð¤·Ì¿Îá¤Ë¤è¤Ã¤Æ½èÍý¤ò¼Â¹Ô¤¹¤ë¤¿¤á¡¢
¤³¤Î²ÖÎؤÎÀ¸À®½èÍý¤¬½ªÎ»¤·¤Æ¥¹¥Æ¡¼¥¸¤¬´°À®¤¹¤ë¤Þ¤Ç¤Ï¡¢Â¾¤Î½èÍý¤¬°ì»þÃæÃǤµ¤ì¤ë¤è¤¦¤ËÀ©¸æ¤ò¹Ô¤Ã¤Æ¤¤¤Þ¤¹¡£
¤½¤¦¤¹¤ë¤³¤È¤Ç¡¢¥²¡¼¥à³«»Ï»þ¤Ë²ÖÎؤ¬¤Þ¤ÀÁ´Éô¤Ç¤­¤Æ¤¤¤Ê¤¤¡¢¤È¤¤¤¦¾õÂÖ¤ò̤Á³¤ËËɤ°¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£


GameManager.cs(¼«Ê¬¤ÇºîÀ®¤·¤Æ¤¤¤ë¥¹¥¯¥ê¥×¥È¤¬¤¢¤ë¾ì¹ç¤Ë¤Ï¡¢¤½¤Î¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤¹¤ë)

¡¡<=¡¡¥¯¥ê¥Ã¥¯¤¹¤ë¤È³«¤­¤Þ¤¹



¡¡¥¹¥¯¥ê¥×¥È¤Î½¤Àµ¤¬½ªÎ»¤·¤¿¤é¡¢GameManager ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤è¤ê¡¢GameManager ¥¹¥¯¥ê¥×¥È¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£
¿·¤·¤¯Àë¸À¤·¤ÆÄɲä·¤¿ÊÑ¿ô·²¤¬É½¼¨¤µ¤ì¤Æ¤¤¤ì¤ÐÌäÂꤢ¤ê¤Þ¤»¤ó¡£


GameManager ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¡¡¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü



£¸¡¥¡ãStart¥á¥½¥Ã¥É¤ÎÌá¤êÃͤò void ¤«¤é IEnumerator ·¿¤Ë¤·¤Æ»ÈÍѤ¹¤ë½èÍý¡ä


¡¡Ä̾ï¤Î Start ¥á¥½¥Ã¥É¤ÎÌá¤êÃÍ¤Ï void ¤Ç¤¹¤¬¡¢ÍÑÅӤ˱þ¤¸¤ÆÌá¤êÃͤò IEnumerator·¿ ¤ËÊѹ¹¤·¤ÆÍøÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
¤½¤Î¾ì¹ç¡¢Ä̾ï¤ÈƱ¤¸¤è¤¦¤Ë¥²¡¼¥à¤Î¼Â¹Ô¤ÈƱ»þ¤ËStart¥á¥½¥Ã¥É¤¬¸Æ¤Ð¤ì¤ëÉôʬ¤ÏÊѤï¤ê¤Þ¤»¤ó¤¬¡¢
¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥É¤È¤·¤Æµ¡Ç½¤¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¤Î¤Ç¡¢Start ¥á¥½¥Ã¥ÉÆâ¤ÇÃÙ±ä½èÍý¤äÂÔµ¡½èÍý¤Ê¤É¤ò¼ÂÁõ¤¹¤ë¤³¤È¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£

¡¡º£²ó¤Î¥±¡¼¥¹¤Ç¤Ï¡¢Start ¥á¥½¥Ã¥ÉÆâ¤Ë¡¢¥¹¥Æ¡¼¥¸Æâ¤Ë²ÖÎؤò¥é¥ó¥À¥à¤Ê°ÌÃÖ¤ËÀ¸À®¤¹¤ë½èÍý¤¬¤¢¤ê¤Þ¤¹¤Î¤Ç¡¢
¤³¤Á¤é¤Î½èÍý¤ò¤¹¤Ù¤Æ½ªÎ»¤·¤Æ¤«¤é¼¡¤Î½èÍý¤Ø¤È°Ü¤ë¡¢¤È¤¤¤¦½ç½øΩ¤Æ¤¿À©¸æ¤ò¹Ô¤¤¤¿¤¤¤¿¤á¡¢¤³¤Î½èÍý¤ò¼ÂÁõ¤·¤Æ¤¤¤Þ¤¹¡£


£¹¡¥¡ãyield return StartCoroutine()½èÍý¤Ë¤è¤ëÂÔµ¡½èÍý¡ä


¡¡¥³¥ë¡¼¥Á¥ó(Coroutine)¤È¤Ï°ìÄê¤Î»þ´Ö¤ä¾ò·ï¤ò¤â¤È¤Ë¡¢½èÍý¤òÃæÃÇ¡¦ºÆ³«¡¦½ªÎ»¤µ¤»¤ë¤³¤È¤¬¤Ç¤­¤ë½èÍý¤Î¤³¤È¤Ç¤¹¡£

¡¡¥³¥ë¡¼¥Á¥ó¤Ë¤Ä¤¤¤Æ¤Î¾ÜºÙ¤ÊÀâÌÀ¤Ï³ä°¦¤·¤Þ¤¹¡£¤³¤Á¤é¤Îµ­»ö¤ä¡¢¥µ¥¤¥È¤Ç¹­¤¯¾ðÊó¤ò¼èÆÀ¤Ç¤­¤Þ¤¹¤Î¤Ç¡¢¤½¤Á¤é¤ò»²¹Í¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£
XR-HU3ÍÍ
¡ÚUnity¡Û¥³¥ë¡¼¥Á¥ó¤Ç½èÍý¤òÃæÃÇ¡¦ºÆ³«¡¦Ää»ß¤µ¤»¤ëÊýË¡¤ò³Ø¤Ö
https://xr-hub.com/archives/20368


¡¡¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥ÉÆâ¤Ë¤Ï¡¢yield ¤òÍøÍѤ·¤¿½èÍý¤òµ­½Ò¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
Î㤨¤Ð¡¢¿ôÉô֤ÎÃÙ±ä½èÍý¤ä¡¢¾ò·ïãÀ®¤Þ¤ÇÂÔµ¡¤µ¤»¤ë½èÍý¤Ê¤É¤ò¡¢¤³¤Î yield ¤òÍøÍѤ¹¤ë¤È¼ÂÁõ¤Ç¤­¤Þ¤¹¡£
¡¡º£²ó¤Ï £²¤«½ê¤Ç³¤±¤Æ½èÍý¤ò¹Ô¤Ã¤Æ¤¤¤Þ¤¹¡£

  // ¤³¤Î½èÍý¤¬½ªÎ»¤¹¤ë¤Þ¤Ç¡¢¼¡¤Î½èÍý¤ÏÆ°¤«¤Ê¤¤
  yield return StartCoroutine(CreateRandomStage());

¡¡Ä̾ï¤Î¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥É¤Î¸Æ¤Ó½Ð¤·¤È°ã¤¤¤Þ¤·¤Æ¡¢¸Æ¤Ó½Ð¤¹Á°¤Ë yield return ¤¬¤¢¤ê¤Þ¤¹¡£
¤³¤Î¾ì¹ç¡¢¸Æ¤Ó½Ð¤µ¤ì¤¿¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥É¤Î½èÍý¤¬¤¹¤Ù¤Æ½ªÎ»¤¹¤ë¤Þ¤Ç¡¢¤³¤³¤Ç¥×¥í¥°¥é¥à¤ò°ì»þÃæÃǤ·¤ÆÂÔµ¡¤µ¤»¤ë¡¢¤È¤¤¤¦½èÍý¤¬¼Â¹Ô¤µ¤ì¤Þ¤¹¡£

¡¡¸Æ¤Ó½Ð¤¹¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥É¤Î½èÍý¤Ï¡¢
¡ÖCreateRandomStage ¥á¥½¥Ã¥É¤ò¼Â¹Ô¤¹¤ë¡£¤½¤Î¥á¥½¥Ã¥É¤Î½èÍý¤¬¤¹¤Ù¤Æ½ªÎ»¤¹¤ë¤Þ¤Ç¡¢¥×¥í¥°¥é¥à¤ò°ì»þÃæÃǤµ¤»¤ë¡×

¤È¤¤¤¦ÆâÍƤǤ¹¡£

¡¡¤½¤Î·ë²Ì¡¢¥¹¥Æ¡¼¥¸¤Î²ÖÎؤÎÀ¸À®¤¬½ªÎ»¤·¤Æ¤«¤é¡¢¤Ï¤¸¤á¤Æ¼¡¤Î½èÍý¤¬¹Ô¤ï¤ì¤ë¤È¤¤¤¦½èÍý¤¬¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£

¡¡¥×¥í¥°¥é¥à¤Ï¾å¤«¤é²¼¤Ø¤Èή¤ì¤Æ½èÍý¤µ¤ì¤Æ¤¤¤­¤Þ¤¹¤¬¡¢¤³¤Î¤è¤¦¤ÊÃæÃǽèÍý¤ò¶´¤à¤³¤È¤Ë¤è¤Ã¤Æ¡¢
º£²ó¤Î¾ì¹ç¤Ç¤¢¤ì¤Ð¥¹¥Æ¡¼¥¸¤¬ºîÀ®¤µ¤ì¤ëÁ°¤Ë¥²¡¼¥à¤¬¤É¤ó¤É¤ó¤ÈÀè¤Ë¿Ê¹Ô¤·¤Æ¤·¤Þ¤¦¤Î¤òÀ©¸æ¤·¤ÆËɤ¤¤Ç¤¤¤Þ¤¹¡£


£±£°¡¥¡ãGameObject ·¿¤Ç¤Ï¤Ê¤¯¤Æ¼«ºî¥¯¥é¥¹¤Ç¥×¥ì¥Õ¥¡¥Ö¤ò¥¤¥ó¥¹¥¿¥ó¥¹¤¹¤ëÊýË¡¡ä

¡¡
¡¡Instantiate ¥á¥½¥Ã¥É¤Ë¤ÏÌá¤êÃͤ¬¤¢¤ê¡¢¤½¤Î·¿¤Ï Object ·¿¤Ç¤¹¡£(GameObject ·¿¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó)
Object ·¿¤È¤Ï¡¢¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¤Ë¼«Æ°Åª¤Ë¥µ¥Ý¡¼¥È¤µ¤ì¤ë¥¯¥é¥¹(·¿)¤Ç¤¹¡£¤³¤ì¤Ï¡¢C# ¥×¥í¥°¥é¥à¤Ë¤ª¤±¤ë´ðËÜ¥¯¥é¥¹¤È¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£

MicroSoft
Object ¥¯¥é¥¹
https://docs.microsoft.com/ja-jp/dotnet/api/system...


¡¡¤½¤Î¤¿¤á¡¢Unity ¤Ë¤ª¤¤¤ÆºîÀ®¤µ¤ì¤Æ¤¤¤ë¥¯¥é¥¹(·¿)¡¼GameObject ·¿¡¢Transform ·¿¡¢Rigidbody ·¿¤Ê¤É¡¼¤Ï¡¢¤¹¤Ù¤Æ¤³¤Î Object ¥¯¥é¥¹¤Î¾ðÊó¤òÍ­¤·¤Æ¤¤¤Þ¤¹¡£
ÍøÍÑÉÑÅ٤ι⤤ ToString ¥á¥½¥Ã¥É¤â¡¢¤³¤Î Object ·¿¤Ë¤è¤Ã¤ÆÄ󶡤µ¤ì¤Æ¤¤¤ë¥á¥½¥Ã¥É¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¡


¡¡Instantiate ¥á¥½¥Ã¥É¤Ç¤ÏÂ裱°ú¿ô¤Ë»ØÄꤷ¤¿ Object ·¿¤Î¥¯¥í¡¼¥ó¤ÎÀ¸À®¤ò¹Ô¤¦¤È¤È¤â¤Ë¡¢À¸À®¤ò¹Ô¤Ã¤¿·¿¤òÌá¤êÃͤȤ·¤Æº¸ÊÕ¤ØÌᤷ¤Þ¤¹¡£
¤½¤Î¤¿¤á¡¢GameObject ·¿¤Ç¥¯¥í¡¼¥ó¤ÎÀ¸À®¤ò¹Ô¤¦¤È¡¢GameObject ·¿¤¬Ìá¤êÃͤȤ·¤ÆÌᤵ¤ì¤Þ¤¹¡£
GameObject ·¿¤Ï Object ·¿¤Î¾ðÊó¤òÍ­¤·¤Æ¤¤¤ë¤¿¤á¡¢¤³¤Î¤è¤¦¤Ë Object ·¿°Ê³°¤Î·¿¤Ç¤â»ØÄê½ÐÍè¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£

¡¡¤³¤Îµ¡Ç½¤Ï GameObject ·¿¤Ë¤Ï¸Â¤é¤Ê¤¤¤¿¤á¡¢¥¯¥í¡¼¥ó¤ÎÀ¸À®¤ò¹Ô¤¤¤¿¤¤¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¡¢¼«ºî¤·¤¿¥¹¥¯¥ê¥×¥È(¥¯¥é¥¹)¤¬¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï
¤½¤Î¥¹¥¯¥ê¥×¥È¤ò»È¤Ã¤Æ¡¢¥¯¥í¡¼¥ó¤ÎÀ¸À®¤ò¹Ô¤¦¤È¤È¤â¤Ë¡¢¤½¤Î¥¹¥¯¥ê¥×¥È¤Î·¿¤òÌá¤êÃͤȤ·¤ÆÌ᤹¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
¤³¤Î¾ì¹ç¡¢º¸ÊÕ¤ËÍÑ°Õ¤¹¤ë·¿¤â¥¹¥¯¥ê¥×¥È¤Î·¿¤òÍÑ°Õ¤¹¤ë¤³¤È¤ÇÌá¤êÃͤò¼õ¤±¤È¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£

¡¡¤³¤Î¾ì¹ç¤â GameObject ·¿¤ÈƱ¤¸¤Ç¡¢¼«ºî¤·¤¿¥¹¥¯¥ê¥×¥È(¥¯¥é¥¹)¤Ë¤Ï Object ·¿¤Î¾ðÊ󤬴ޤޤì¤Æ¤¤¤ë¤Î¤Ç¡¢Instantiate ¥á¥½¥Ã¥É¤ÎÂ裱°ú¿ô¤È¤·¤Æ»ØÄê¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£

¡¡¥¯¥é¥¹¤Ë¤è¤ëÀ¸À®¡¢¤È¤¤¤¦Ã±¸ì¤Ç¸«¤ë¤È¥¤¥á¡¼¥¸¤¬Ê¨¤­¤Ë¤¯¤¤¤«¤â¤·¤ì¤Þ¤»¤ó¤¬¡¢¤É¤Á¤é¤Î¾ì¹ç¤Ç¤¢¤Ã¤Æ¤â¡¢¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤¬À¸À®¤µ¤ì¤Þ¤¹¡£


GameObject·¿¤Ç¤Î¥¤¥ó¥¹¥¿¥ó¥¹½èÍý
    [SerializeField]
    private GameObject flowerCirclePrefab;


    // ²ÖÎؤΰÌÃÖ¤òÀßÄꤷ¤ÆÀ¸À®(GameObject ·¿¤Ç¥¤¥ó¥¹¥¿¥ó¥¹¤¹¤ë¤Î¤Ç¡¢Ìá¤Ã¤Æ¤¯¤ë·¿¤â GameObject ·¿)
    GameObject flowerCircleObj = Instantiate(flowerCirclePrefab, new Vector3(Random.Range(limitLeftBottom.position.x, limitRightTop.position.x), flowerHeight, Random.Range(limitLeftBottom.position.z, limitRightTop.position.z)),Quaternion.identity);

    // FlowerCircle ¥¹¥¯¥ê¥×¥È¤ò¼èÆÀ
    FlowerCircle flowerCircle = flowerCircleObj.GetComponent<FlowerCircle>();

    // ²ÖÎؤνé´üÀßÄê¤ò¸Æ¤Ó½Ð¤¹¡£°ú¿ô¤Ë¤Ïɾ²Á¸å¤ÎÌá¤êÃͤòÍøÍѤ¹¤ë¡£¤³¤Î¤È¤­¡¢°ÜÆ°¤¹¤ë¤«¤É¤¦¤«¡¢Â礭¤µ¤òÊѤ¨¤ë¤«¤É¤¦¤«¤Î¾ðÊó¤ò°ú¿ô¤È¤·¤ÆÅϤ¹
    flowerCircle.SetUpMovingFlowerCircle(Random.Range(0, 100) <= movingFlowerCirclePercent, Random.Range(0, 100) <= scalingFlowerCirclePercent);



¼«ºî¥¯¥é¥¹¤Ç¤Î¥¤¥ó¥¹¥¿¥ó¥¹½èÍý
    [SerializeField]
    private ResultPopUp resultPopUpPrefab;


    // ²ÖÎؤΰÌÃÖ¤òÀßÄꤷ¤ÆÀ¸À®(FlowerCircle ·¿¤Ç¥¤¥ó¥¹¥¿¥ó¥¹¤¹¤ë¤Î¤Ç¡¢Ìá¤Ã¤Æ¤¯¤ë·¿¤â FlowerCircle ·¿)
    FlowerCircle flowerCircle = Instantiate(flowerCirclePrefab, new Vector3(Random.Range(limitLeftBottom.position.x, limitRightTop.position.x), flowerHeight, Random.Range(limitLeftBottom.position.z, limitRightTop.position.z)),Quaternion.identity);
                     
    // ²ÖÎؤνé´üÀßÄê¤ò¸Æ¤Ó½Ð¤¹¡£°ú¿ô¤Ë¤Ïɾ²Á¸å¤ÎÌá¤êÃͤòÍøÍѤ¹¤ë
    flowerCircle.SetUpMovingFlowerCircle(Random.Range(0, 100) <= movingFlowerCirclePercent, Random.Range(0, 100) <= scalingFlowerCirclePercent);


¡¡°ã¤¤¤È¤·¤Æ¤Ï¡¢¥×¥ì¥Õ¥¡¥Ö¤È¤·¤ÆÅÐÏ¿¤¹¤ëºÝ¤Î·¿¤ä¡¢¥¤¥ó¥¹¥¿¥ó¥¹½èÍý¤ÎºÝ¤Îº¸ÊÕ¤ËÍÑ°Õ¤¹¤ë·¿¤¬°Û¤Ê¤ê¤Þ¤¹¡£

¡¡¤½¤·¤ÆºÇ¤âÂ礭¤Ê°ã¤¤¤Ï¡¢¥¯¥é¥¹¤Î¼èÆÀÊýË¡¤Ç¤¹¡£¥¤¥ó¥¹¥¿¥ó¥¹¤µ¤ì¤¿¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î»ý¤Ä¥¯¥é¥¹¤Î¾ðÊó¤òÍøÍѤ·¤¿¤¤¾ì¹ç¡¢
GameObject ·¿¤Ç¤¢¤ë¾ì¹ç¤Ë¤Ï°ìÅÙ¡¢GetComponet¥á¥½¥Ã¥É¤òÍøÍѤ·¤Æ¡¢Áàºî¤ò¹Ô¤¤¤¿¤¤¥¯¥é¥¹¤Î¾ðÊó¤ò¼èÆÀ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£

¡¡¤Ç¤¹¤¬²¼¤Î¥±¡¼¥¹¤Î¾ì¹ç¡¢¥¯¥é¥¹¤È¤·¤ÆÀ¸À®¤µ¤ì¤ë¤¿¤á¡¢GameObject ·¿¤Î¾ì¹ç¤ËɬÍ×¤Ê GetComponent¥á¥½¥Ã¥É¤Î½èÍý¤¬ÉÔÍפˤʤê¤Þ¤¹¡£

¡¡²¼¤Î¼«ºî¥¯¥é¥¹¤Ç¥¤¥ó¥¹¥¿¥ó¥¹½èÍý¤ò¤·¤¿¾ì¹ç¤Ë¤Ï¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¯¥í¡¼¥ó¤òÀ¸À®¤¹¤ëÉôʬ¤ÏƱ¤¸¤Ç¤¹¤¬¡¢Ìá¤êÃͤȤ·¤Æ FlowerCircle ¥¹¥¯¥ê¥×¥È¤ò¼õ¤±¼è¤Ã¤Æ¤¤¤ë¤¿¤á¡¢
GetComponent ¥á¥½¥Ã¥É¤ò¼Â¹Ô¤»¤º¤È¤â¡¢¤½¤Î¥¹¥¯¥ê¥×¥È¤Î¾ðÊó¤ò¼«Æ°Åª¤Ë¼èÆÀ½ÐÍè¤Æ¤¤¤Þ¤¹¡£

¡¡¤³¤Î¤è¤¦¤Ë GetComponent ¥á¥½¥Ã¥É½èÍý¤ò¾Êά¤¹¤ë½èÍý¤ò½ñ¤¯¤³¤È¤Ç¡¢½èÍýŪ¤Ë½Å¤¤ GetComponent ½èÍý¤ÎÉé²Ù¤ò¸º¤é¤¹¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
¤â¤·¤âÀ¸À®¤·¤¿¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¯¥í¡¼¥ó¤ËÂФ·¤Æ¡¢²¿¤«½èÍý¤ò¹Ô¤¤¤¿¤¤¤è¤¦¤Ê¾ì¹ç¤Ë¤Ï¡¢GameObject·¿¤À¤±¤Ç¤Ï¤Ê¤¯¡¢¼«ºî¥¯¥é¥¹¤Ë¤ÆÀ¸À®¤¹¤ë¤³¤È¤âǰƬ¤ËÃÖ¤¤¤ÆÀ߷פ·¤Æ¤ª¤­¤Þ¤·¤ç¤¦¡£


£±£±¡¥¡ã°ú¿ô¤Ë¾ò·ï¼°¤òÍøÍѤ¹¤ëÊýË¡¡ä


¡¡°ú¿ô¤Î»ØÄê¤Ë¤Ï¡¢Ìá¤êÃͤò»ý¤Ä½èÍý¤òÍøÍѤ¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£

¡ã¸Æ¤Ó½Ð¤µ¤ì¤ë¥á¥½¥Ã¥É¡ä
¡¡public void SetUpMovingFlowerCircle(bool isMoving, bool isScaleChanging) {

¡¡¤³¤Á¤é¤Î SetUpMovingFlowerCircle ¥á¥½¥Ã¥É¤Ï¡¢°ú¿ô¤È¤·¤Æ bool ·¿¤Î¾ðÊó¤ò£²¤ÄÍ׵ᤷ¤Æ¤¤¤Þ¤¹¡£
¤½¤Î¤¿¤á¡¢¤³¤Î¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤¹¾ì¹ç¤Ë¤Ï¡¢bool ·¿¤Î¿¿µ¶ÃÍ(true/false) ¤òľÀÜ¡¢¤¢¤ë¤¤¤ÏÂåÆþ¤µ¤ì¤Æ¤¤¤ëÊÑ¿ô¤òÍøÍѤ·¤Æ»ØÄê¤Ç¤­¤Þ¤¹¡£

¡¡¤Þ¤¿¤½¤ì°Ê³°¤Ë¤â¡¢Ìá¤êÃͤ¬ bool ·¿¤Ç¤¢¤ë½èÍý¤Ë¤Ä¤¤¤Æ¤â¡¢¤³¤Á¤é¤Î°ú¿ô¤È¤·¤ÆÍøÍѤ¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£

¡ã¸Æ¤Ó½Ð¤¹½èÍý¡ä
  // ²ÖÎؤνé´üÀßÄê¤ò¸Æ¤Ó½Ð¤¹¡£°ú¿ô¤Ë¤Ïɾ²Á¸å¤ÎÌá¤êÃͤòÍøÍѤ¹¤ë¡£¤³¤Î¤È¤­¡¢°ÜÆ°¤¹¤ë¤«¤É¤¦¤«¡¢Â礭¤µ¤òÊѤ¨¤ë¤«¤É¤¦¤«¤Î¾ðÊó¤ò°ú¿ô¤È¤·¤ÆÅϤ¹
  flowerCircle.SetUpMovingFlowerCircle(Random.Range(0, 100) <= movingFlowerCirclePercent, Random.Range(0, 100) <= scalingFlowerCirclePercent);

¡¡Âè1°ú¿ô¤È¤·¤Æ»ØÄꤵ¤ì¤Æ¤¤¤ë½èÍý¤Ï¡¢°Ê²¼¤Î¾ò·ï¼°¤Ë¤Ê¤ê¤Þ¤¹¡£¾ò·ï¼°¤Ï¡¢Ìá¤êÃͤȤ·¤Æ bool ·¿¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£

  Random.Range(0, 100) <= movingFlowerCirclePercent

¡¡¤³¤Î¾ò·ï¼°¤Ï¡¢Random.Range ¥á¥½¥Ã¥É¤ò¼Â¹Ô¤·¡¢¤½¤ÎÌá¤êÃÍ¤È movingFlowerCirclePercent ÊÑ¿ô¤ÎÃͤȤòÈæ¤Ù¤Æ¡¢
movingFlowerCirclePercent ÊÑ¿ô¤ÎÃͤè¤ê¤âƱ¤¸¤«¾®¤µ¤¤ÃͤǤ¢¤ì¤Ð true ¤¬Ìᤵ¤ì¤Þ¤¹¡£Â礭¤¤ÃͤǤ¢¤ì¤Ð false ¤¬Ìᤵ¤ì¤Þ¤¹¡£
¤½¤Î·ë²Ì¤ò¡¢°ú¿ô¤È¤·¤ÆÅϤ·¤Æ¤¤¤ë½èÍý¤Ë¤Ê¤ê¤Þ¤¹¡£

¡¡Âè2°ú¿ô¤âƱ¤¸ÆâÍƤǤ¹¡£

¡¡¤³¤ì¤Ï¡¢°Ê²¼¤Î½èÍý¤ò£±¹Ô¤Ë¤Þ¤È¤á¤¿½èÍý¤Ç¤¢¤ë¤È¸À¤¨¤Þ¤¹¡£


  // ¥é¥ó¥À¥à¤ÊÃͤò£±¤Ä¼èÆÀ
  int movingValue = Random.Range(0, 100);

  // °ÜÆ°¤¹¤ë¤«¤É¤¦¤«¤òÀßÄꤹ¤ë¡£false ¤Ê¤é°ÜÆ°¤·¤Ê¤¤²ÖÎØ
  bool isMoving = false;

  // °ÜÆ°¤¹¤ë²ÖÎؤγÎΨÆâ¤Ë¥é¥ó¥À¥à¤ÊÃͤ¬´Þ¤Þ¤ì¤Æ¤¤¤ë¤Ê¤é
  if(movingValue <= movingFlowerCirclePercent){

      // °ÜÆ°¤¹¤ë²ÖÎؤȤ·¤ÆÀßÄꤹ¤ë
      isMoving = true;
  } 

  // ¥é¥ó¥À¥à¤ÊÃͤò£±¤Ä¼èÆÀ
  int scaleChangingValue = Random.Range(0, 100);

¡¡// Â礭¤µ¤òÊѤ¨¤ë¤«¤É¤¦¤«ÀßÄꤹ¤ë¡£false ¤Ê¤éÊѹ¹¤·¤Ê¤¤²ÖÎØ
  bool isScaleChanging = false;

  // Â礭¤µ¤òÊѹ¹¤¹¤ë²ÖÎؤγÎΨÆâ¤Ë¥é¥ó¥À¥à¤ÊÃͤ¬´Þ¤Þ¤ì¤Æ¤¤¤ë¤Ê¤é
  if(scaleChangingValue <= scalingFlowerCirclePercent){

¡¡¡¡¡¡// Â礭¤µ¤òÊѹ¹¤¹¤ë²ÖÎؤȤ·¤ÆÀßÄꤹ¤ë
      isScaleChanging = true;
  } 

  // ²ÖÎؤνé´üÀßÄê¤ò¸Æ¤Ó½Ð¤¹¡£¤³¤Î¤È¤­¡¢°ÜÆ°¤¹¤ë¤«¤É¤¦¤«¡¢Â礭¤µ¤òÊѤ¨¤ë¤«¤É¤¦¤«¤Î¾ðÊó¤ò°ú¿ô¤È¤·¤ÆÅϤ¹
  flowerCircle.SetUpMovingFlowerCircle(isMoving, isScaleChanging);


£±£²¡¥GameManager ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ÎÀßÄê¤ò¹Ô¤¦


¡¡¿·¤·¤¯Äɲ䵤줿ÊÑ¿ô¤ÎÀßÄê¤ò¥¢¥µ¥¤¥ó¤ò¹Ô¤¤¤Þ¤¹¡£


GameManager ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¡¡¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü



¡¡isRandomStaging ÊÑ¿ô¤Ë¥Á¥§¥Ã¥¯¤òÆþ¤ì¤Æ¥ª¥ó¤Ë¤¹¤ë¤³¤È¤Ç¡¢GameManager ¥¹¥¯¥ê¥×¥È¤Î Start ¥á¥½¥Ã¥ÉÆâ¤Î²ÖÎؤμ«Æ°À¸À®½èÍý¤¬¼Â¹Ô¤µ¤ì¤Þ¤¹¡£
º£²ó¤Ï¥Á¥§¥Ã¥¯¤òÆþ¤ì¤Æ¡¢true ¤Î¾õÂ֤ˤ·¤Æ¤¯¤À¤µ¤¤¡£

¡¡movingFlowerCirclePercent ÊÑ¿ô¤È¡¢scalinggFlowerCirclePercent ÊÑ¿ô¤Ï¤É¤Á¤é¤â Range °À­¤¬¤Ä¤¤¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢
À©¸ÂÈÏ°ÏÆâ¤Ç¤Î¤ß¡¢ÀßÄê¤ò¹Ô¤¦¤³¤È¤¬½ÐÍè¤Þ¤¹¡£À©¸ÂÃͤϤɤÁ¤é¤â 0 - 100 ¤Ç¤¹¡£º£²ó¤Ï¤É¤Á¤é¤â 50 ¤ËÀßÄꤷ¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡£
¤½¤Î¾ì¹ç¡¢50% ¤Î³ä¹ç¤Ç°ÜÆ°¤¹¤ë²ÖÎؤ¬À¸À®¤µ¤ì¡¢50% ¤Î³ä¹ç¤ÇÂ礭¤µ¤¬ÊѲ½¤¹¤ë²ÖÎؤ¬À¸À®¤µ¤ì¤Þ¤¹¡£Î¾Êý°ì½ï¤Ë¤Ê¤ë¾ì¹ç¤â¤¢¤ê¤Þ¤¹¡£

¡¡flowerCirclePrefab ÊÑ¿ô¤Ë¤Ï Prefabs ¥Õ¥©¥ë¥À¤Ë¤¢¤ë FlowerCircle ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤·¤ÆÅÐÏ¿¤·¤Þ¤¹¡£
() ¤ÎÉôʬ¤Ë¤Ï·¿¤¬É½¼¨¤µ¤ì¤Þ¤¹¤Î¤Ç¡¢¥¢¥µ¥¤¥ó¤µ¤ì¤¿·¿¤ò³Îǧ¤·¤Æ¤ª¤­¤Þ¤·¤ç¤¦¡£GameObject ·¿¤Ç¤Ï¤Ê¤¤¤Ï¤º¤Ç¤¹¡£
¡¡
¡¡limitLeftBottom ÊÑ¿ô¤È limitRightTop ÊÑ¿ô¤Ë¤Ï¡¢¥Ò¥¨¥é¥ë¥­¡¼¤Ë¤¢¤ëƱ̾¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤·¤ÆÅÐÏ¿¤·¤Þ¤¹¡£
¤³¤Î¾ðÊó¤òÍøÍѤ·¤Æ¡¢²ÖÎؤ¬À¸À®¤µ¤ì¤ëÈϰϤòÀßÄꤷ¤Þ¤¹¡£


¡¡°Ê¾å¤Ç¤¹¤Ù¤Æ¤ÎÀßÄ꤬´°Î»¤Ç¤¹¡£


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


¡¡ºÇ½é¤Ë¡¢¥Ò¥¨¥é¥ë¥­¡¼¤Ë¤¢¤ë Ways ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò°ìöÈóɽ¼¨¤Ë¤·¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡£¶õÃæ¤Ë¤¢¤ë²ÖÎؤ¬¸«¤¨¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£

¡¡¤½¤ì¤Ç¤Ï¡¢GameManager ¥¹¥¯¥ê¥×¥È¤Î¼«Æ°À¸À®¤Î¥¹¥¤¥Ã¥Á¤¬¥ª¥ó¤Ç¤¢¤ë¤³¤È¤ò³Îǧ¤·¤Æ¡¢¥²¡¼¥à¤ò¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£
¼Â¹Ô¤ÈƱ»þ¤Ë¡¢¥­¥ã¥é¤Î¤¤¤ëÃÏÅÀÉÕ¶á¤Þ¤Ç²ÖÎؤ¬À¸À®¤µ¤ì¤Æ¡¢°ÌÃÖ¤¬¥é¥ó¥À¥à¤Ë¡¢°ÜÆ°¤¹¤ë¤«¤·¤Ê¤¤¤«¤â¥é¥ó¥À¥à¤Ë¡¢Â礭¤µ¤ÈÆÀÅÀ¤â¥é¥ó¥À¥à¤Ë
¤½¤ì¤¾¤ìÀßÄꤵ¤ì¤Æ¤¤¤ì¤ÐÀ©¸æÀ®¸ù¤Ç¤¹¡£¥²¡¼¥à¤ò°ì»þÄä»ß¤·¤Æ¡¢¥¤¥ó¥¹¥¿¥ó¥¹¤µ¤ì¤¿²ÖÎؤΥ²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò£±¤Ä¤º¤Ä³Îǧ¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£

¡¡¤Þ¤¿¥²¡¼¥à¤ò²¿²ó¤«µ¯Æ°¤·¤Æ¡¢Ëè²ó¥é¥ó¥À¥à¤ËÀ¸À®¤µ¤ì¤ë¤«¡¢³Æ³ä¹ç¤òÊѤ¨¤¿¾ì¹ç¤Ë¡¢À©¸æ¤µ¤ì¤Æ¤¤¤ë¤«(°ÜÆ°¤¹¤ë²ÖÎؤò100%¤Ë¤·¤¿¤éÁ´Éô°ÜÆ°¤¹¤ë²ÖÎؤˤʤ뤫¡¢¤Ê¤É)¤ò
ÀßÄê¹àÌܤ¬¤¿¤¯¤µ¤ó¤¢¤ê¤Þ¤¹¤Î¤Ç¡¢½ç¼¡¸¡¾Ú¤·¤Æ¤¯¤À¤µ¤¤¡£


¡ã¼ÂÁõÆ°²è¡¡¥²¡¼¥à¼Â¹Ô¤ÈƱ»þ¤Ë²ÖÎؤ¬¥é¥ó¥À¥à¤Ê°ÌÃ֤ȥµ¥¤¥º¤ÇÀßÃÖ¤µ¤ì¤ë¡ä
https://gyazo.com/c259862aeca622f3311e68fbd82e0b3a

¡ã¼ÂÁõÆ°²è¡¡³Æ²ÖÎؤΥǡ¼¥¿¡£Â礭¤µ¤äÆÀÅÀ¡¢°ÜÆ°ÀßÄ꤬¼«Æ°¤ÇÀßÄꤵ¤ì¤Æ¤¤¤ë¡ä
https://gyazo.com/9e8921d70f6b6cbc926351c27247f714


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

¡¡=>¡¡¼¡¤Ï¡¡È¯Å¸£²¡¡¡Ý¾ã³²Êª¤ÎÄɲáݡ¡¤Ç¤¹¡£

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


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

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

Menu



´ðÁÃ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

private



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

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