ºÇ½ª¹¹¿·¡§
orika_ex_miyako 2022ǯ01·î17Æü(·î) 16:08:17ÍúÎò
¡¡¥×¥í¥°¥é¥à¤¬¤·¤Ã¤«¤ê¤ÈÆɤá¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Ê¤¤¤È¡¢¤³¤³¤«¤é¤ÎȯŸÊÔ¤ÏÆñ¤·¤¤ÆâÍƤˤʤê¤Þ¤¹¡£
¤Þ¤¿¡¢¿·¤·¤¤µ»½Ñ¤¬¤¿¤¯¤µ¤ó½Ð¤Æ¤¤Þ¤¹¤Î¤Ç¡¢¥í¥¸¥Ã¥¯¤òÆɤ߲ò¤¡¢¾¯¤·¤º¤ÄÍý²ò¤ò¤·¤Æ¤¤¤¯¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£
¡¡¡¦²ÖÎؤμ«Æ°À¸À®¤ÎÀ©¸æ½èÍý¤òÄɲ乤ë
¡¡¤³¤Î¼ê½ç¤Ç¤Ï¡¢²ÖÎؤΥ²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò¥é¥ó¥À¥à¤Ê°ÌÃÖ¤ËÀ¸À®¤Ë¤·¤Æ¡¢Ëè²ó°Û¤Ê¤ë¥¹¥Æ¡¼¥¸¤ò¼«Æ°Åª¤ËºîÀ®¤¹¤ëµ¡Ç½¤ò¼ÂÁõ¤·¤Þ¤¹¡£
²¼µ¤Î²èÁü¤Î¤è¤¦¤Ë¡¢¼«Æ°À¸À®¤ò¹Ô¤¦¤¿¤á¤Î¥¹¥¤¥Ã¥Á¤òÍÑ°Õ¤·¡¢¤³¤Î¥¹¥¤¥Ã¥Á¤¬¥ª¥ó¤Î¤È¤¤À¤±¡¢¥²¡¼¥à¤ò¼Â¹Ô¤¹¤ë¤È¥¹¥Æ¡¼¥¸¤ò¼«Æ°ºîÀ®¤¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
¡ãÀßÄê¡ä

¡ã¼ÂÁõÆ°²è¡¡¥²¡¼¥à¼Â¹Ô¤ÈƱ»þ¤Ë²ÖÎؤ¬¥é¥ó¥À¥à¤Ê°ÌÃ֤ȥµ¥¤¥º¤ÇÀßÃÖ¤µ¤ì¤ë¡ä
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 ¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¤Æ¡¢ÊÑ¿ô¤ÎÄɲäȡ¢¥á¥½¥Ã¥É¤ÎÄɲäò¹Ô¤¤¡¢²ÖÎؤòÀ¸À®¤¹¤ëÀ©¸æ½èÍý¤òÄɲä·¤Þ¤¹¡£
¡¡Àë¸À¥Õ¥£¡¼¥ë¥É¤Ë¤Ï¿·¤·¤¯£µ¤Ä¤ÎÊÑ¿ô¤òÄɲ䷤Ƥ¤¤Þ¤¹¡£½èÍý¤ÎÆâÍƤò³Îǧ¤·¡¢¤É¤ÎÉôʬ¤ÇÍøÍѤ·¤Æ¤¤¤ë¤Î¤«¤òÆɤ߲ò¤¤¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£
ÊÑ¿ô¤ÎÀâÌÀ¤Ï¡¢¥¢¥µ¥¤¥ó¾ðÊó¤ÎÉôʬ¤Ç¾Ü¤·¤¯ÀâÌÀ¤·¤Æ¤¤¤Þ¤¹¤¬¡¢¼«Ê¬¤Î½èÍý¤ò¸«¤¿¾ì¹ç¤ÎÊÑ¿ô¤Î½èÍý¤È¸«Èæ¤Ù¤Æ¤¯¤À¤µ¤¤¡£
¡¡½¾Íè¤Î¥á¥½¥Ã¥ÉÆâ¤ËÄɵ¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢Âå¤ï¤ê¤Ë¿·¤·¤¤¥á¥½¥Ã¥É¤ò£´¤ÄÄɲ䷤Ƥ¤¤Þ¤¹¡£
¤¤¤º¤ì¤â²ÖÎؤ¬°ÜÆ°¤¹¤ë¾ì¹ç¤ËÀ©¸æ½èÍý¤ò¹Ô¤¦¥á¥½¥Ã¥É·²¤Ç¤¹¡£
¡¡SetUpMovingFlowerCircle ¥á¥½¥Ã¥É¤Ï GameManager ¥¹¥¯¥ê¥×¥È¤«¤é²ÖÎؤÎÀ¸À®¸å¤Ë¤¹¤°¤Ë¸Æ¤Ó½Ð¤µ¤ì¤ë¥á¥½¥Ã¥É¤Ç¤¹¡£
bool ·¿¤Î°ú¿ô¤ò£²¤ÄÍÑ°Õ¤·¤Æ¤ª¤ê¡¢¤½¤ÎÃͤòÍøÍѤ·¤Æ¡¢²ÖÎؤ¬°ÜÆ°¤¹¤ë¤Î¤«¡¢°ÜÆ°¤¹¤ë¾ì¹ç¤Ë¤Ï¥é¥ó¥À¥à¤ÊÃͤǰÜÆ°¤¹¤ë¤Î¤«¡¢
½é´ü¤Î¸ÇÄêÃͤǰÜÆ°¤¹¤ë¤Î¤«¤òȽÄꤷ¤ÆÀßÄꤹ¤ë¾ì½ê¤Ç¤¹¡£¤½¤Î¸å¤Ë¡¢Â礤µ¤òÊѤ¨¤ëÌ¿Î᤬Íè¤Æ¤¤¤ì¤ÐÂ礤µ¤ÈÆÀÅÀ¤âÊѹ¹¤·¤Þ¤¹¡£
¡¡Â¾¤Î£³¤Ä¤Î¥á¥½¥Ã¥É¤Ï¡¢¤³¤Î¥á¥½¥Ã¥ÉÆ⤫¤é¸Æ¤Ó½Ð¤µ¤ì¤ë½èÍý¤Ë¤Ê¤Ã¤Æ¤¤¤Æ¡¢¾åµ¤Î¤¦¤Á¡¢
¥é¥ó¥À¥à°ÜÆ°¤ÎȽÄê½èÍý¡¢¥é¥ó¥À¥à°ÜÆ°¤Î¾ì¹ç¤ÎÃͤÎÀßÄê½èÍý¡¢Â礤µ¤ÈÆÀÅÀ¤òÀßÄꤹ¤ë½èÍý¤ò¡¢¤½¤ì¤¾¤ì¥á¥½¥Ã¥É¤Ëʬ³ä¤·¤ÆÀ©¸æ¤·¤Æ¤¤¤Þ¤¹¡£
FlowerCircle.cs
¡¡¥¹¥¯¥ê¥×¥È¤Î½¤Àµ¤¬½ªÎ»¤·¤¿¤é¡¢¥Ò¥¨¥é¥ë¥¡¼¤Ë¤¢¤ë FlowerCircle ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤ò³Îǧ¤·¤Þ¤¹¡£
¿·¤·¤¯Äɲä·¤¿ÊÑ¿ô·²¤¬Äɲ䵤ì¤Æ¤¤¤ë¤«³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£
FlowerCircle ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¡¡¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü

¡¡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 (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 ʸ¤¬É¾²Á¤·¤Æ¾ò·ïʬ´ô¤¹¤ë
¡¡¤È¤¤¤¦Î®¤ì¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¡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 ¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤¹½èÍý¤ò¼ÂÁõ¤·¤Þ¤¹¡£
¡¡¿·¤·¤¤ÊÑ¿ô¤ò£¶¤³Àë¸À¤·¤Þ¤¹¡£¤¹¤Ù¤Æ SerializeField°À¤ÇÀë¸À¤·¤Þ¤¹¤Î¤Ç¡¢¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤è¤êÀßÄê¤ä¥¢¥µ¥¤¥ó¤ò¹Ô¤¨¤ë¤è¤¦¤Ë¤·¤Æ¤¤¤Þ¤¹¡£
¤É¤Î¤è¤¦¤Êµ¡Ç½¤ò»ý¤Ã¤Æ¤¤¤Æ¡¢¤É¤Î¤è¤¦¤ËÍøÍѤµ¤ì¤Æ¤¤¤ë¤«¤ò³Îǧ¤·¤Ê¤¬¤é½èÍý¤ò½ñ¤¤¤Æ¤¯¤À¤µ¤¤¡£ÀâÌÀ¤Ï¸å½Ò¤Î¥¢¥µ¥¤¥ó¤ÎºÝ¤Ë¤·¤Æ¤¤¤Þ¤¹¡£
¡¡½¾Íè¤Î¥á¥½¥Ã¥É¤Ë¤ÏÊѹ¹¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢¿·¤·¤¯£²¤Ä¤Î¥á¥½¥Ã¥É¤òÄɲ䷤Ƥ¤¤Þ¤¹¡£
¡¡Start ¥á¥½¥Ã¥É¤òÍÑ°Õ¤·¤Æ¡¢¥²¡¼¥à¤Î³«»Ï»þ¤Ë¡¢²ÖÎؤò¼«Æ°À¸À®¤¹¤ëµ¡Ç½¤òÍøÍѤ¹¤ë¤«È½Äê¤ò¹Ô¤¤¤Þ¤¹¡£
¤â¤·¤â¼«Æ°À¸À®¤ò¹Ô¤¦ÀßÄê¤Ë¤Ê¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢¤â¤¦£±¤Ä¿·¤·¤¯ÍÑ°Õ¤¹¤ë CreateRandomStage ¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤·¤Æ¡¢²ÖÎؤÎÀ¸À®½èÍý¤ò¼Â¹Ô¤·¤Þ¤¹¡£
¡¡¤³¤Î CreateRandomStage ¥á¥½¥Ã¥É¤Ï¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥É¤È¤Ê¤Ã¤Æ¤ª¤ê¡¢¤³¤ÎÃæ¤Ç¥ë¡¼¥×½èÍý¤òÍøÍѤ·¤Æ
¿åÌ̤«¤é¥¥ã¥é¤Î°ÌÃ֤ޤǤδ֤˲ÖÎؤòÀ¸À®¤¹¤ëÀ©¸æ¤ò¹Ô¤Ã¤Æ¤¤¤Þ¤¹¡£
¡¡¤³¤Î¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥É¤Ï Start ¥á¥½¥Ã¥ÉÆâ¤Ç yield return ¤Î¤Ä¤¤¤¿¸Æ¤Ó½Ð¤·Ì¿Îá¤Ë¤è¤Ã¤Æ½èÍý¤ò¼Â¹Ô¤¹¤ë¤¿¤á¡¢
¤³¤Î²ÖÎؤÎÀ¸À®½èÍý¤¬½ªÎ»¤·¤Æ¥¹¥Æ¡¼¥¸¤¬´°À®¤¹¤ë¤Þ¤Ç¤Ï¡¢Â¾¤Î½èÍý¤¬°ì»þÃæÃǤµ¤ì¤ë¤è¤¦¤ËÀ©¸æ¤ò¹Ô¤Ã¤Æ¤¤¤Þ¤¹¡£
¤½¤¦¤¹¤ë¤³¤È¤Ç¡¢¥²¡¼¥à³«»Ï»þ¤Ë²ÖÎؤ¬¤Þ¤ÀÁ´Éô¤Ç¤¤Æ¤¤¤Ê¤¤¡¢¤È¤¤¤¦¾õÂÖ¤ò̤Á³¤ËËɤ°¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
GameManager.cs(¼«Ê¬¤ÇºîÀ®¤·¤Æ¤¤¤ë¥¹¥¯¥ê¥×¥È¤¬¤¢¤ë¾ì¹ç¤Ë¤Ï¡¢¤½¤Î¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤¹¤ë)
¡¡¥¹¥¯¥ê¥×¥È¤Î½¤Àµ¤¬½ªÎ»¤·¤¿¤é¡¢GameManager ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤è¤ê¡¢GameManager ¥¹¥¯¥ê¥×¥È¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£
¿·¤·¤¯Àë¸À¤·¤ÆÄɲä·¤¿ÊÑ¿ô·²¤¬É½¼¨¤µ¤ì¤Æ¤¤¤ì¤ÐÌäÂꤢ¤ê¤Þ¤»¤ó¡£
GameManager ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¡¡¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü

¡¡Ä̾ï¤Î Start ¥á¥½¥Ã¥É¤ÎÌá¤êÃÍ¤Ï void ¤Ç¤¹¤¬¡¢ÍÑÅӤ˱þ¤¸¤ÆÌá¤êÃͤò IEnumerator·¿ ¤ËÊѹ¹¤·¤ÆÍøÍѤ¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¤½¤Î¾ì¹ç¡¢Ä̾ï¤ÈƱ¤¸¤è¤¦¤Ë¥²¡¼¥à¤Î¼Â¹Ô¤ÈƱ»þ¤ËStart¥á¥½¥Ã¥É¤¬¸Æ¤Ð¤ì¤ëÉôʬ¤ÏÊѤï¤ê¤Þ¤»¤ó¤¬¡¢
¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥É¤È¤·¤Æµ¡Ç½¤¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¤Î¤Ç¡¢Start ¥á¥½¥Ã¥ÉÆâ¤ÇÃÙ±ä½èÍý¤äÂÔµ¡½èÍý¤Ê¤É¤ò¼ÂÁõ¤¹¤ë¤³¤È¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¡º£²ó¤Î¥±¡¼¥¹¤Ç¤Ï¡¢Start ¥á¥½¥Ã¥ÉÆâ¤Ë¡¢¥¹¥Æ¡¼¥¸Æâ¤Ë²ÖÎؤò¥é¥ó¥À¥à¤Ê°ÌÃÖ¤ËÀ¸À®¤¹¤ë½èÍý¤¬¤¢¤ê¤Þ¤¹¤Î¤Ç¡¢
¤³¤Á¤é¤Î½èÍý¤ò¤¹¤Ù¤Æ½ªÎ»¤·¤Æ¤«¤é¼¡¤Î½èÍý¤Ø¤È°Ü¤ë¡¢¤È¤¤¤¦½ç½øΩ¤Æ¤¿À©¸æ¤ò¹Ô¤¤¤¿¤¤¤¿¤á¡¢¤³¤Î½èÍý¤ò¼ÂÁõ¤·¤Æ¤¤¤Þ¤¹¡£
¡¡¥³¥ë¡¼¥Á¥ó(Coroutine)¤È¤Ï°ìÄê¤Î»þ´Ö¤ä¾ò·ï¤ò¤â¤È¤Ë¡¢½èÍý¤òÃæÃÇ¡¦ºÆ³«¡¦½ªÎ»¤µ¤»¤ë¤³¤È¤¬¤Ç¤¤ë½èÍý¤Î¤³¤È¤Ç¤¹¡£
¡¡¥³¥ë¡¼¥Á¥ó¤Ë¤Ä¤¤¤Æ¤Î¾ÜºÙ¤ÊÀâÌÀ¤Ï³ä°¦¤·¤Þ¤¹¡£¤³¤Á¤é¤Îµ»ö¤ä¡¢¥µ¥¤¥È¤Ç¹¤¯¾ðÊó¤ò¼èÆÀ¤Ç¤¤Þ¤¹¤Î¤Ç¡¢¤½¤Á¤é¤ò»²¹Í¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£
XR-HU3ÍÍ
¡ÚUnity¡Û¥³¥ë¡¼¥Á¥ó¤Ç½èÍý¤òÃæÃÇ¡¦ºÆ³«¡¦Ää»ß¤µ¤»¤ëÊýË¡¤ò³Ø¤Ö
https://xr-hub.com/archives/20368
¡¡¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥ÉÆâ¤Ë¤Ï¡¢yield ¤òÍøÍѤ·¤¿½èÍý¤òµ½Ò¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
Î㤨¤Ð¡¢¿ôÉô֤ÎÃÙ±ä½èÍý¤ä¡¢¾ò·ïãÀ®¤Þ¤ÇÂÔµ¡¤µ¤»¤ë½èÍý¤Ê¤É¤ò¡¢¤³¤Î yield ¤òÍøÍѤ¹¤ë¤È¼ÂÁõ¤Ç¤¤Þ¤¹¡£
¡¡º£²ó¤Ï £²¤«½ê¤Ç³¤±¤Æ½èÍý¤ò¹Ô¤Ã¤Æ¤¤¤Þ¤¹¡£
// ¤³¤Î½èÍý¤¬½ªÎ»¤¹¤ë¤Þ¤Ç¡¢¼¡¤Î½èÍý¤ÏÆ°¤«¤Ê¤¤ yield return StartCoroutine(CreateRandomStage());
¡¡Ä̾ï¤Î¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥É¤Î¸Æ¤Ó½Ð¤·¤È°ã¤¤¤Þ¤·¤Æ¡¢¸Æ¤Ó½Ð¤¹Á°¤Ë yield return ¤¬¤¢¤ê¤Þ¤¹¡£
¤³¤Î¾ì¹ç¡¢¸Æ¤Ó½Ð¤µ¤ì¤¿¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥É¤Î½èÍý¤¬¤¹¤Ù¤Æ½ªÎ»¤¹¤ë¤Þ¤Ç¡¢¤³¤³¤Ç¥×¥í¥°¥é¥à¤ò°ì»þÃæÃǤ·¤ÆÂÔµ¡¤µ¤»¤ë¡¢¤È¤¤¤¦½èÍý¤¬¼Â¹Ô¤µ¤ì¤Þ¤¹¡£
¡¡¸Æ¤Ó½Ð¤¹¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥É¤Î½èÍý¤Ï¡¢
¡ÖCreateRandomStage ¥á¥½¥Ã¥É¤ò¼Â¹Ô¤¹¤ë¡£¤½¤Î¥á¥½¥Ã¥É¤Î½èÍý¤¬¤¹¤Ù¤Æ½ªÎ»¤¹¤ë¤Þ¤Ç¡¢¥×¥í¥°¥é¥à¤ò°ì»þÃæÃǤµ¤»¤ë¡×
¤È¤¤¤¦ÆâÍƤǤ¹¡£
¡¡¤½¤Î·ë²Ì¡¢¥¹¥Æ¡¼¥¸¤Î²ÖÎؤÎÀ¸À®¤¬½ªÎ»¤·¤Æ¤«¤é¡¢¤Ï¤¸¤á¤Æ¼¡¤Î½èÍý¤¬¹Ô¤ï¤ì¤ë¤È¤¤¤¦½èÍý¤¬¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
¡¡¥×¥í¥°¥é¥à¤Ï¾å¤«¤é²¼¤Ø¤Èή¤ì¤Æ½èÍý¤µ¤ì¤Æ¤¤¤¤Þ¤¹¤¬¡¢¤³¤Î¤è¤¦¤ÊÃæÃǽèÍý¤ò¶´¤à¤³¤È¤Ë¤è¤Ã¤Æ¡¢
º£²ó¤Î¾ì¹ç¤Ç¤¢¤ì¤Ð¥¹¥Æ¡¼¥¸¤¬ºîÀ®¤µ¤ì¤ëÁ°¤Ë¥²¡¼¥à¤¬¤É¤ó¤É¤ó¤ÈÀè¤Ë¿Ê¹Ô¤·¤Æ¤·¤Þ¤¦¤Î¤òÀ©¸æ¤·¤ÆËɤ¤¤Ç¤¤¤Þ¤¹¡£
¡¡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 ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¡¡¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü

¡¡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
¡¡°Ê¾å¤Ç¤³¤Î¼ê½ç¤Ï½ªÎ»¤Ç¤¹¡£
¡¡=>¡¡¼¡¤Ï¡¡È¯Å¸£²¡¡¡Ý¾ã³²Êª¤ÎÄɲáݡ¡¤Ç¤¹¡£
- ¥«¥Æ¥´¥ê¡§
- ¿Ê³Ø/¥¹¥¯¡¼¥ë
- ¥×¥í¥°¥é¥ß¥ó¥°
¥³¥á¥ó¥È¤ò¤«¤¯