ºÇ½ª¹¹¿·¡§
orika_ex_miyako 2020ǯ10·î21Æü(¿å) 19:54:28ÍúÎò
¼ê½ç£±£³¡¡¡¼¥²¡¼¥à´ÉÍýÍÑ¥¯¥é¥¹¤ÈUI¤È¤ÎϢư¤ò¼ÂÁõ¡¼
£²£³¡¥UI´ÉÍýÍѤÎUIManager¥¹¥¯¥ê¥×¥È¤òºîÀ®¤¹¤ë(¼êµå¤Î»Ä¿ô¥¢¥¤¥³¥ó¤ÎÀ¸À®¡¦´ÉÍý¤ò¹Ô¤¦) £²£´¡¥¥Ð¥È¥ë¥·¡¼¥ó´ÉÍýÍѤÎBattleManager¥¹¥¯¥ê¥×¥È¤òºîÀ®¤¹¤ë¡¡
¡¡¿·¤·¤¤³Ø½¬ÆâÍÆ¤Ï¡¢°Ê²¼¤ÎÄ̤ê¤Ç¤¹¡£
¡¦List¤Î»È¤¤Êý(Add¥á¥½¥Ã¥É¡¢forʸ¤ÈÁȤ߹ç¤ï¤»¤ë) ¡¦Start¥á¥½¥Ã¥É¤ÎÌá¤êÃͤòvoid¤«¤éIEnumerator·¿¤Ë¤·¤Æ»ÈÍѤ¹¤ë½èÍý ¡¦yield return StartCoroutine()½èÍý¤Ë¤è¤ëÂÔµ¡½èÍý
¡¡¡Ú£²£²¡Û¤ÎºÇ¸å¤ËºîÀ®¤·¤¿¼êµå¤Î»Ä¿ôÍÑ¥¢¥¤¥³¥ó¡¡IconRemainingBall ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òÍøÍѤ·¤Æ¡¢¼êµå¤Î»Ä¿ô¤ò²èÌ̾å¤ËUI¤È¤·¤ÆÉ½¼¨¤·¤Þ¤¹¡£
¡¡¥²¡¼¥à¤Î¼Â¹Ô¤ÈƱ»þ¤Ë¡¢¥×¥ì¥Õ¥¡¥Ö¤Ë¤Ê¤Ã¤Æ¤¤¤ë IconRemainingBall ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò¼êµå¤Î¿ô¤Ë¹ç¤ï¤»¤ÆÀ¸À®¤ò¹Ô¤¤¡¢¥¢¥¤¥³¥óɽ¼¨¤È¤·¤Þ¤¹¡£
¤½¤Î¸å¤Ï´ÉÍý¤ò¹Ô¤¤¤Þ¤¹¡£¼êµå¤Î»Ä¿ô¤Î¹¹¿·¤Ë¹ç¤ï¤»¤Æ²èÌ̤Υ¢¥¤¥³¥óɽ¼¨¤ò¹¹¿·¤·¤Þ¤¹¡£
¡¡¥á¥½¥Ã¥É¤ò£²¤ÄÍѰդ·¡¢Å¬µ¹¤Ê¥¿¥¤¥ß¥ó¥°¤Ç¸Æ¤Ó½Ð¤·¤Æ»È¤¤¤Þ¤¹¡£
¡¡GenerateIconRemainingBalls¥á¥½¥Ã¥É¤Ç¤Ï¡¢¼êµå¥¢¥¤¥³¥ó¤ò²èÌ̤ËÀ¸À®¤¹¤ë½èÍý¤ò¹Ô¤¤¤Þ¤¹¡£°ú¿ô¤Ë¤è¤Ã¤ÆÀ¸À®¤¹¤ë¿ô¤òÊѹ¹¤¹¤ë¤³¤È¤¬¤Ç¤¤ë¤è¤¦¤ÊÀ߷פˤʤäƤ¤¤Þ¤¹¡£
¤³¤ì¤Ï¼¡¤Î¼ê½ç¤ÇºîÀ®¤¹¤ë¡¢BattleManager¥¹¥¯¥ê¥×¥È¤ÎStart¥á¥½¥Ã¥É¤è¤ê¸Æ¤Ó½Ð¤µ¤ì¤ë¤³¤È¤Ç¼Â¹Ô¤µ¤ì¤Þ¤¹¡£
¡¡UpdateDisplayIconRemainingBall¥á¥½¥Ã¥É¤Ç¤Ï¡¢¼êµå¤Î¥¢¥¤¥³¥ó¤Îɽ¼¨¿ô¤ò¹¹¿·¤·¤Þ¤¹¡£
¼êµå¤¬Áý¤¨¤¿¤ê¡¢¸º¤Ã¤¿¤ê¤·¤¿¤ê¤·¤¿ºÝ¤Ë¸Æ¤Ó½Ð¤¹¤³¤È¤Ç¡¢²èÌ̤μêµå¥¢¥¤¥³¥ó¤Î¿ô¤ò¹¹¿·¤·¡¢¼ÂºÝ¤Î¼êµå¤Î¿ô¤È¥¢¥¤¥³¥ó¤Î¿ô¤È¤òƱ´ü¤¹¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£
UIManager.cs
¡¡List¥¯¥é¥¹¤Ï<T>¤Ë¥¸¥§¥Í¥ê¥Ã¥¯·¿¡ÊǤ°Õ¤Î·¿¡Ë¤ò»ØÄꤷ¤Æ¡¢Æ±¤¸¥Ç¡¼¥¿·¿¤ò¤Þ¤È¤á¤Æ´ÉÍý¤¹¤ë¥³¥ì¥¯¥·¥ç¥óµ¡Ç½¤ò»ý¤Ä¥¯¥é¥¹¤Ç¤¹¡£
ÇÛÎó¤È°Û¤Ê¤ê¡¢Í×ÁǤò¼«Í³¤ËÄɲᦺï½ü¤Ç¤¤Þ¤¹¡£(Í×ÁÇ¿ô¤¬²ÄÊѤ¹¤ë)
List¤òÍøÍѤ¹¤ë¾ì¹ç¤Ë¤ÏÇÛÎó¤ÈƱÍͤ˽é´ü²½¤¬É¬ÍפǤ¹¤¬¡¢List¤Ç¤Ï½é´ü²½»þ¤ËÍ×ÁÇ¿ô¤ÎÀë¸À¤¬ÉÔÍפǤ¹¡£
¡¡¤½¤Î¤¿¤á¡¢Í½¤áÍ×ÁÇ¿ô¤Î³ÎÄꤷ¤Æ¤¤¤ë¥Ç¡¼¥¿¤ò°·¤¦¾ì¹ç¤Ë¤ÏÇÛÎó¤ò¡¢Í×ÁÇ¿ô¤¬Ì¤³ÎÄê¤Ç¤¢¤Ã¤¿¤ê²ÄÊÑŤǤ¢¤ë¥Ç¡¼¥¿¤Ë¤Ä¤¤¤Æ¤ÏList¤òÍøÍѤ¹¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£
»²¹Í
.net columnÍÍ¡¡
¡Ú½é´ü²½¤ÎÊýË¡¡ÛC#¤ÇÇÛÎó¤ä¥ê¥¹¥È¤ò½é´ü²½¤¹¤ë¤Ë¤Ï¡©
https://www.fenet.jp/dotnet/column/language/713/
¡¡¤³¤³¤Ç¤Ïº£²óÍøÍѤ·¤Æ¤¤¤ëList¥¯¥é¥¹¤Î»ý¤Ä¥á¥½¥Ã¥É¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£
¡¡List¤ÎËöÈø¤Ë°ú¿ô¤Ç»ØÄꤷ¤¿Í×ÁÇ(¥Ç¡¼¥¿)¤òÄɲä·¤Þ¤¹¡£List¤ÇÀë¸À¤·¤Æ¤¤¤ë·¿¤ÈƱ¤¸·¿¤Ç¤¢¤ì¤ÐAdd¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
// ¼êµå¥¢¥¤¥³¥ó¤ò£±¤ÄÀ¸À®¤·¡¢iconÊÑ¿ô¤ËÂåÆþ GameObject icon = Instantiate(iconRemainingBallPrefab, remainingBallTran, false); // List¤ËÄɲÃ(List¤Î·¿¤ÈiconÊÑ¿ô¤Î·¿¤¬¤É¤Á¤é¤âGameObject·¿¤Ê¤Î¤ÇiconÊÑ¿ô¤òÄɲäǤ¤ë) iconRemainingBallList.Add(icon);
¡¡List¤ÏAdd¥á¥½¥Ã¥É¤òÍøÍѤ·¤Æ¡¢°ú¿ô¤Ë»ØÄꤷ¤¿¥Ç¡¼¥¿¤òListÆâ¤ËÍ×ÁǤȤ·¤ÆÄɲ䷤Ƥ¤¤¯¤³¤È¤¬²Äǽ¤Ç¤¹¡£
¡¡ºï½ü¤¹¤ë¾ì¹ç¤Ë¤Ï¤¤¤¯¤Ä¤«ÊýË¡¤¬¤¢¤ê¤Þ¤¹¤¬¡¢Remove¥á¥½¥Ã¥É¤òÍøÍѤ¹¤ì¤Ð¡¢Add¥á¥½¥Ã¥É¤ÈƱ¤¸¤è¤¦¤Ë°ú¿ô¤Ç»ØÄꤷ¤¿¥Ç¡¼¥¿¤òListÆâ¤«¤éºï½ü¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
»²¹Í
»ø¥¨¥ó¥¸¥Ë¥¢½ÎÍÍ
¡ÚC#ÆþÌç¡ÛList¤Î»È¤¤ÊýÁí¤Þ¤È¤á(ArrayList/Add/Remove/¥½¡¼¥È/¸¡º÷)
https://www.sejuku.net/blog/47378
¡¡List¤ÏÊ£¿ô¤ÎƱ¤¸·¿¤ò°·¤¦¥³¥ì¥¯¥·¥ç¥ó¤Ç¤¹¤Î¤Ç¡¢forʸ¤Ê¤É¤Î·«¤êÊÖ¤·½èÍý¤ÈÁêÀ¤¬¤¤¤¤¤Ç¤¹¡£
º£²ó¤Ï¼êµå¥¢¥¤¥³¥ó¤ÎÁí¿ô(List¤ÎÍ×ÁÇ¿ô¤ÎºÇÂçÃÍ)¤òÌÜɸÃͤˤ·¤Æforʸ¤ò¼Â¹Ô¤·¡¢²èÌ̤Ëɽ¼¨¤¹¤ë¼êµå¥¢¥¤¥³¥ó¤Î¿ô¤òÀ©¸æ¤·¤Æ¤¤¤Þ¤¹¡£
¡¡ÇÛÎó¤Î¾ì¹ç¤Ë¤ÏÍ×ÁÇ¿ô¤ÎºÇÂçÃͤÏLenght¤Ç¼èÆÀ¤Ç¤¤Þ¤·¤¿¤¬¡¢List¤Î¾ì¹ç¤Ë¤ÏCount¤Ç¼èÆÀ½ÐÍè¤Þ¤¹¡£
¤³¤ì¤ÏLenght¤ÈƱ¤¸¤¯ int·¿¤Ç¤¹¤Î¤Ç¡¢forʸ¤Î¾ò·ï¼°¤ËÍøÍѤǤ¤Þ¤¹¡£
¡¡for (int i = 0; i < iconRemainingBallList.Count; i++) { ¡¡¡¡//¡¡½èÍý }
¡¡¿·¤·¤¯³Ø½¬¤¹¤ëÆâÍÆ¤Ç¤¢¤Ã¤Æ¤â¡¢¤½¤ì¤òÍøÍѤ¹¤ëºÝ¤Ë¤Ï´ðÁù½Ê¸¤ò»È¤¤¤Þ¤¹¡£¤³¤ì¤é¤ÎÁȤ߹ç¤ï¤»¤ò¤É¤Î¤è¤¦¤Ë¹½ÃÛ¤·¤Æ¤¤¤¯¤«¤¬½ÅÍפˤʤê¤Þ¤¹¡£
¡¡¥Ò¥¨¥é¥ë¥¡¼¾å¤Ç±¦¥¯¥ê¥Ã¥¯¤ò¤·¤Æ¥á¥Ë¥å¡¼¤òɽ¼¨¤·¡¢Create Empty ¤òÁªÂò¤·¤Þ¤¹¡£Ì¾Á°¤ò UIManager ¤ËÊѹ¹¤·¤Þ¤¹¡£
¤³¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ÏCanvasÆâ¤Ë¤Ê¤¤¾õÂÖ¤ÇÌäÂꤢ¤ê¤Þ¤»¤ó¡£
¥Ò¥¨¥é¥ë¥¡¼²èÁü

¡¡Àè¤Û¤ÉºîÀ®¤·¤¿ UIManager ¥¹¥¯¥ê¥×¥È¤ò¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤·¤Æ¥¢¥¿¥Ã¥Á¤·¤Æ¤¯¤À¤µ¤¤¡£
UIManager¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òÁªÂò¤·¤Æ¡¢UIManager¥¹¥¯¥ê¥×¥È¤¬¥¢¥¿¥Ã¥Á¤µ¤ì¤¿¤«¤ò¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤Ë¤Æ³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£
°ú¤Â³¤¡¢¥¢¥µ¥¤¥ó¾ðÊó¤òÀßÄꤷ¤Æ¤¤¤¤Þ¤¹¡£
UIManager¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¡¡¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü

¡¡UIManager¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤«¤é¡¢UIManager¥¹¥¯¥ê¥×¥È¤Î¥¢¥µ¥¤¥ó¾ðÊó¤òÀßÄꤷ¤Þ¤¹¡£
¡¡IconRemainingBallList ÊÑ¿ô¤Ï Size 0 ¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¤¬¡¢¤³¤Á¤é¤Ï¤½¤Î¤Þ¤Þ¤ÇÌäÂꤢ¤ê¤Þ¤»¤ó¡£
¤³¤Á¤é¤Ë¤Ï¥²¡¼¥à¼Â¹Ô»þ¤Ë¡¢À¸À®¤µ¤ì¤¿¼êµå¥¢¥¤¥³¥ó¤Î¿ô¤À¤±¾ðÊ󤬯þ¤ê¹¹¿·¤µ¤ì¤Þ¤¹¡£
¡¡IconRemainingBallPrefab ÊÑ¿ô¤Ë¤Ï¡¢Prefabs ¥Õ¥©¥ë¥À¤è¤êºîÀ®¤·¤Æ¤ª¤¤¤¿ IconRemainingBall ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤·¤Æ¥¢¥µ¥¤¥ó¤·¤Þ¤¹¡£
¤³¤Î¾ðÊó¤ò»È¤Ã¤Æ¼êµå¤Î¥¢¥¤¥³¥ó¤òÀ¸À®¤·¤Þ¤¹¡£
¡¡RemainingBallTran ÊÑ¿ô¤Ë¤Ï¥Ò¥¨¥é¥ë¥¡¼¤Ë¤¢¤ë RemainingBallTran ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤·¤Æ¥¢¥µ¥¤¥ó¤·¤Þ¤¹¡£
¤³¤Î°ÌÃ֤˼êµå¥¢¥¤¥³¥ó¤ò»ØÄê¿ô¤À¤±À¸À®¤·¤Þ¤¹¡£
¡¡»ØÄê¿ô¡¢¤È¤¤¤¦¤³¤È¤ÏÊ£¿ô¤Î¥¢¥¤¥³¥ó¤òÀ¸À®¤¹¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¤Î¤Ç¡¢ËÜÍè¤Ç¤¢¤ì¤Ð¡¢Ê£¿ô¤Î¥ª¥Ö¥¸¥§¥¯¥È¤òƱ¤¸°ÌÃÖ¤ÇÀ¸À®¤¹¤ë¤ÈÅöÁ³½Å¤Ê¤Ã¤Æ¤·¤Þ¤¤¤Þ¤¹¡£
¡¡¤Ç¤¹¤¬¡¢¤³¤Î À¸À®°ÌÃ֤˻ØÄꤷ¤Æ¤¤¤ë RemainingBallTran ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ï GridLayoutGroup ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢
¥¢¥¤¥³¥ó¤¬¤¹¤Ù¤ÆÆ±¤¸°ÌÃÖ¤ËÀ¸À®¤µ¤ì¤Æ¤â¡¢¼«Æ°Åª¤ËÀ°Îó¤·¤ÆÊ¤Ùľ¤·¤Æ¤¯¤ì¤Þ¤¹¡£(¤¹¤Ç¤ËÊ£¿ôʤ־õÂ֤ϸ¡¾ÚºÑ¤Ç¤¹)
¡¡¤½¤Î¤¿¤áº£²ó¤ÏÀ¸À®»þ¤Ë°ÌÃÖ¤ò¤º¤é¤·¤ÆÀ¸À®¤¹¤ë¡¢¤È¤¤¤¦½èÍý¤¬ÉÔÍפˤʤäƤ¤¤Þ¤¹¡£
¥¢¥µ¥¤¥ó¼ê½çư²è¡¡¥×¥ì¥Õ¥¡¥Ö¤Î¾ðÊó¤È¥¢¥¤¥³¥óÀ¸À®°ÌÃ֤ξðÊó¤ò¥¢¥µ¥¤¥ó¤¹¤ë
https://gyazo.com/f4f4121e02b2322e9c8e170ea93b1b07
UIManager¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¡¡¥¢¥µ¥¤¥ó¸å¤Î¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü

¡¡
¡¡°Ê¾å¤ÇUIManager´ØÏ¢¤ÎºîÀ®¤Ï½ªÎ»¤Ç¤¹¡£
¡¡
¡¡Battle¥·¡¼¥óÁ´ÂΤò´ÉÍý¤¹¤ë¥Þ¥Í¡¼¥¸¥ã¡¼¥¯¥é¥¹¤È¤·¤ÆÀ߷פò¹Ô¤¤¤Þ¤¹¡£
¡¡º£²ó¤Ï¤Þ¤º¡¢Start¥á¥½¥Ã¥ÉÆâ¤ÇUIManager¥¯¥é¥¹¤Ø¤ÈÌ¿Îá¤ò½Ð¤·¡¢¼êµå¥¢¥¤¥³¥ó¤òÀ¸À®¤¹¤ë¤è¤¦¤Ë½èÍý¤ò¹Ô¤Ã¤Æ¤¤¤Þ¤¹¡£
¡¡º£¸å¤ÏŨ¤ÎÀ¸À®¡¢¥Ð¥È¥ëÆâ»þ´Ö¤Î´ÉÍý¤Ê¤É¡¢¥²¡¼¥à¤Î¿Ê¹Ô´ÉÍý¤â´Þ¤á¤ÆBattle¥·¡¼¥óÁ´ÂΤδÉÍý¤ò¹Ô¤¦¥¯¥é¥¹¤Ë¤·¤Þ¤¹¡£
¡¡Àë¸À¥Õ¥£¡¼¥ë¥É¤Ç¤ÏUIManager¥¹¥¯¥ê¥×¥È¤Ø¤Îɳ¤Å¤±¤Î¤¿¤á¤ÎÊÑ¿ô¤òÍѰդ·¤Þ¤¹¡£¤¢¤È¤Ç˺¤ì¤º¤Ë¥¢¥µ¥¤¥ó¤·¤Þ¤¹¡£
¡¡Start¥á¥½¥Ã¥É¤Ïvoid·¿¤Ç¤Ï¤Ê¤¯¡¢IEnumerator·¿¤ÇºîÀ®¤·¤Þ¤¹¡£¤³¤¦¤¹¤ë¤³¤È¤ÇStart¥á¥½¥Ã¥ÉÆâ¤Ç¥³¥ë¡¼¥Á¥ó½èÍý¤òµ½Ò¤Ç¤¤Þ¤¹¡£
¡¡¤³¤³¤Ç¤Ï yield return StartCoroutine(Initialize())¥á¥½¥Ã¥É¤ò¼Â¹Ô¤·¤Æ¤¤¤Þ¤¹¡£
¤³¤ì¤Ë¤è¤ê¡¢Initialize¥á¥½¥Ã¥É¤Î½èÍý¤¬¤¹¤Ù¤Æ½ªÎ»¤¹¤ë¤Þ¤Ç¤Ï¡¢¤³¤³¤Ç¥×¥í¥°¥é¥à¤ò°ì»þÄä»ß¤¹¤ë¡¢¤È¤¤¤¦ÃÙ±ä½èÍý¤ò¼ÂÁõ¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
¡¡Initialize¥á¥½¥Ã¥É¤Ç¤Ï¡¢UIManager¥¯¥é¥¹¤Î»ý¤ÄGenerateIconRemainingBalls¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤·¡¢¤³¤³¤Ç¼êµå¤ÎÀ¸À®½èÍý¤òÌ¿Îᤷ¤Æ¤¤¤Þ¤¹¡£
°ú¿ô¤Ë¤Ï¡¢GameData.instance.charaBallHp ÊÑ¿ô¤ò»ØÄꤷ¤Æ¤¤¤Þ¤¹¡£GameData¥¯¥é¥¹¤Ï¥·¥ó¥°¥ë¥È¥óÀ߷פˤʤäƤ¤¤ë¤¿¤á¡¢¤³¤Î¤è¤¦¤Ë¥¯¥é¥¹¤òľÀÜ»ØÄꤷ¤ÆÊÑ¿ô¤ò»²¾È¤Ç¤¤Þ¤¹¡£
¡¡¤Þ¤¿¤³¤Î¥á¥½¥Ã¥É¤Î¸Æ¤Ó½Ð¤·¤Ë¤â yield return ¤ÇStartCoroutine¤ò¼Â¹Ô¤·¤Æ¤¤¤ë¤¿¤á¡¢¼êµå¥¢¥¤¥³¥ó¤ÎÀ¸À®¤¬½ªÎ»¤¹¤ë¤Þ¤Ç¡¢¤³¤³¤Ç¥×¥í¥°¥é¥à¤ò°ì»þÄä»ß¤·¤Æ¤¤¤Þ¤¹¡£
BattleManager.cs
¡¡Ä̾ï¤ÎStart¥á¥½¥Ã¥É¤ÎÌá¤êÃÍ¤Ï void ¤Ç¤¹¤¬¡¢ÍÑÅӤ˱þ¤¸¤ÆÌá¤êÃͤò IEnumerator·¿ ¤ËÊѹ¹¤·¤ÆÍøÍѤ¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¤½¤Î¾ì¹ç¡¢Ä̾ï¤ÈƱ¤¸¤è¤¦¤Ë¥²¡¼¥à¤Î¼Â¹Ô¤ÈƱ»þ¤ËStart¥á¥½¥Ã¥É¤¬¸Æ¤Ð¤ì¤ëÉôʬ¤ÏÊѤï¤ê¤Þ¤»¤ó¤¬¡¢
¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥É¤È¤·¤Æµ¡Ç½¤¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¤Î¤Ç¡¢ÃÙ±ä½èÍý¤äÂÔµ¡½èÍý¤Ê¤É¤ò¼ÂÁõ¤¹¤ë¤³¤È¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¡º£²ó¤Î¥±¡¼¥¹¤Ç¤Ï¡¢¼êµå¤Î¥¢¥¤¥³¥ó¤ò¤¹¤Ù¤ÆÀ¸À®¤·¤Æ¤«¤é¼¡¤Î½èÍý¤Ø¤È°Ü¤ê¤¿¤¤¤¿¤á¡¢¤½¤Î¤¿¤á¤Î¥á¥½¥Ã¥É¤ÎÂÔµ¡½èÍý¤ò¼ÂÁõ¤¹¤ë¤¿¤á¤ËStart¤Ç¤Î½èÍý¤òÍøÍѤ·¤Æ¤¤¤Þ¤¹¡£
¡¡¥³¥ë¡¼¥Á¥ó(Coroutine)¤È¤Ï°ìÄê¤Î»þ´Ö¤ä¾ò·ï¤ò¤â¤È¤Ë¡¢½èÍý¤òÃæÃÇ¡¦ºÆ³«¡¦½ªÎ»¤µ¤»¤ë¤³¤È¤¬¤Ç¤¤ë½èÍý¤Î¤³¤È¤Ç¤¹¡£
¡¡¥³¥ë¡¼¥Á¥ó¤Ë¤Ä¤¤¤Æ¤Î¾ÜºÙ¤ÊÀâÌÀ¤Ï³ä°¦¤·¤Þ¤¹¡£¤³¤Á¤é¤Îµ»ö¤ä¡¢¥µ¥¤¥È¤Ç¹¤¯¾ðÊó¤ò¼èÆÀ¤Ç¤¤Þ¤¹¤Î¤Ç¡¢¤½¤Á¤é¤ò»²¹Í¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£
XR-HU3ÍÍ
¡ÚUnity¡Û¥³¥ë¡¼¥Á¥ó¤Ç½èÍý¤òÃæÃÇ¡¦ºÆ³«¡¦Ää»ß¤µ¤»¤ëÊýË¡¤ò³Ø¤Ö
https://xr-hub.com/archives/20368
¡¡¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥ÉÆâ¤Ë¤Ï¡¢yield ¤òÍøÍѤ·¤¿½èÍý¤òµ½Ò¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
Î㤨¤Ð¡¢¿ôÉô֤ÎÃÙ±ä½èÍý¤ä¡¢¾ò·ïãÀ®¤Þ¤ÇÂÔµ¡¤µ¤»¤ë½èÍý¤Ê¤É¤ò¡¢¤³¤Î yield ¤òÍøÍѤ¹¤ë¤È¼ÂÁõ¤Ç¤¤Þ¤¹¡£
¡¡º£²ó¤Ï £²¤«½ê¤Ç³¤±¤Æ½èÍý¤ò¹Ô¤Ã¤Æ¤¤¤Þ¤¹¡£
// ¡½é´ü²½(¤³¤Î½èÍý¤¬½ªÎ»¤¹¤ë¤Þ¤Ç¡¢¼¡¤Î½èÍý¤Ïư¤«¤Ê¤¤) yield return StartCoroutine(Initialize()); ¢ ¡¡¡¡// ¢»Ä¤ê¤Î¼êµå¤Î¿ô¤À¤±¼êµå¤Î¥¢¥¤¥³¥ó¤ÎÀ¸À®¤¹¤ë(¤³¤Î½èÍý¤¬½ªÎ»¤¹¤ë¤Þ¤Ç¡¢¼¡¤Î½èÍý¤Ïư¤«¤Ê¤¤) yield return StartCoroutine(uiManager.GenerateIconRemainingBalls(currentHp));
¡¡Ä̾ï¤Î¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥É¤Î¸Æ¤Ó½Ð¤·¤È°ã¤¤¤Þ¤·¤Æ¡¢¸Æ¤Ó½Ð¤¹Á°¤Ë yield return ¤¬¤¢¤ê¤Þ¤¹¡£
¤³¤Î¾ì¹ç¡¢¸Æ¤Ó½Ð¤µ¤ì¤¿¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥É¤Î½èÍý¤¬¤¹¤Ù¤Æ½ªÎ»¤¹¤ë¤Þ¤Ç¡¢¤³¤³¤Ç¥×¥í¥°¥é¥à¤ò°ì»þÂÔµ¡¤µ¤»¤ë¡¢¤È¤¤¤¦½èÍý¤¬¼Â¹Ô¤µ¤ì¤Þ¤¹¡£
¡¡¸Æ¤Ó½Ð¤¹¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥É¤Î½èÍý¤Ï¡¢
¡¡¡¡ÖInitialize¥á¥½¥Ã¥É¤ò¼Â¹Ô¤¹¤ë¡£¤½¤Î¥á¥½¥Ã¥É¤Î½èÍý¤¬¤¹¤Ù¤Æ½ªÎ»¤¹¤ë¤Þ¤Ç¡¢¥×¥í¥°¥é¥à¤ò°ì»þÂÔµ¡¤µ¤»¤ë¡×
¢¡¡¡ÖUIManager¥¯¥é¥¹¤Ë¤¢¤ëGenerateIconRemainingBalls¥á¥½¥Ã¥É¤ò¼Â¹Ô¤¹¤ë¡£¤½¤Î¥á¥½¥Ã¥É¤Î½èÍý¤¬¤¹¤Ù¤Æ½ªÎ»¤¹¤ë¤Þ¤Ç¡¢¥×¥í¥°¥é¥à¤ò°ì»þÂÔµ¡¤µ¤»¤ë¡×
¤È¤¤¤¦ÆâÍÆ¤Ç¤¹¡£
¡¡¤Ä¤Þ¤ê¡¢¢¤ÎÆâÍÆ¤¬½ªÎ»¤¹¤ë¤Þ¤Ç¡¤Î½èÍý¤Ï½ªÎ»¤·¤Ê¤¤¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
¤½¤Î·ë²Ì¡¢¼êµå¤Î¥¢¥¤¥³¥ó¤ÎÀ¸À®¤¬½ªÎ»¤·¤Æ¤«¤é¡¢¤Ï¤¸¤á¤Æ¼¡¤Î½èÍý¤¬¹Ô¤ï¤ì¤ë¡¢¤È¤¤¤¦½èÍý¤¬¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
¡¡¤³¤Î¤è¤¦¤ÊÂÔµ¡½èÍý¤ò¶´¤à¤³¤È¤Ë¤è¤Ã¤Æ¡¢¼êµå¤Î¥¢¥¤¥³¥ó¤¬¤¹¤Ù¤Æ²èÌ̤Ëɽ¼¨¤µ¤ì¤ëÁ°¤Ë½èÍý¤¬¤É¤ó¤É¤ó¤ÈÀè¤Ë¿Ê¹Ô¤·¤Æ¤·¤Þ¤¦¤Î¤òËɤ¤¤Ç¤¤¤Þ¤¹¡£
¡¡¥Ò¥¨¥é¥ë¥¡¼¾å¤Ç±¦¥¯¥ê¥Ã¥¯¤ò¤·¤Æ¥á¥Ë¥å¡¼¤òɽ¼¨¤·¡¢Create Empty ¤òÁªÂò¤·¤Þ¤¹¡£Ì¾Á°¤ò BattleManager ¤ËÊѹ¹¤·¤Þ¤¹¡£
¤³¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ÏCanvasÆâ¤Ë¤Ê¤¤¾õÂÖ¤ÇÌäÂꤢ¤ê¤Þ¤»¤ó¡£
¥Ò¥¨¥é¥ë¥¡¼²èÁü

¡¡UIManager¥¯¥é¥¹¤Î¥¢¥µ¥¤¥ó¤¬É¬Íפˤʤê¤Þ¤¹¤Î¤Ç¡¢¥Ò¥¨¥é¥ë¥¡¼¤Ë¤¢¤ëUIManager¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤·¤Æ¥¢¥µ¥¤¥ó¤·¤Þ¤¹¡£
¤³¤ì¤ÇUIManager¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ëUIManager¥¯¥é¥¹¤Ø¤Î¥¢¥µ¥¤¥ó¤¬½ÐÍè¤Þ¤·¤¿¡£
¡¡¥¹¥¯¥ê¥×¥È¡Ê¥¯¥é¥¹¡Ë¤ò¥¢¥µ¥¤¥ó¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë¥¯¥é¥¹¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
¥¹¥¯¥ê¥×¥È¡¦¥Õ¥¡¥¤¥ë¤ò¤½¤Î¤Þ¤Þ¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤·¤Æ¤â¥¢¥µ¥¤¥ó¤Ç¤¤Þ¤»¤ó¤Î¤Ç¡¢µ¤¤òÉÕ¤±¤Æ¤¯¤À¤µ¤¤¡£
¼ê½çư²è
https://gyazo.com/44de0fb4ce6aeeec4b12ba35d8c575d2
BattleManager¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¡¡¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü

¡¡¤¹¤Ù¤Æ¤Î½àÈ÷¤¬´°Î»¤·¤Þ¤·¤¿¤Î¤Ç¡¢¥²¡¼¥à¤ò¼Â¹Ô¤·¤ÆÆ°ºî¤ò³Îǧ¤·¤Æ¤¤¤¤Þ¤¹¡£
¡¡¤Þ¤º¡¢GameData¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò¤â¤¦°ìÅÙ³Îǧ¤·¡¢CharaBallHp ÊÑ¿ô¤ËÃͤ¬Æþ¤Ã¤Æ¤¤¤ë¤«¤ò³Îǧ¤·¤Þ¤¹¡£
¤³¤ÎÃͤ¬¼êµå¥¢¥¤¥³¥ó¤Î¿ô¤Ë¤Ê¤ë¤¿¤á¡¢Ê£¿ô¤Î¥¹¥¯¥ê¥×¥È¤ò¤Þ¤¿¤¤¤Ç½èÍý¤ò¹Ô¤¦¾ì¹ç¤Ë¤Ï¡¢É¬¤º´ØÏ¢¤¹¤ë¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ä¥¹¥¯¥ê¥×¥È¤ò³Îǧ¤·¤Þ¤¹¡£
¡¡
GameData¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¡¡¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü

¡¡
¡¡
¡¡ÌäÂê¤Ê¤±¤ì¤Ð¥²¡¼¥à¤ò¼Â¹Ô¤·¤Þ¤¹¡£¼êµå¥¢¥¤¥³¥ó¤¬½çÈÖ¤ËÀ¸À®¤µ¤ì¤ì¤ÐÀ®¸ù¤Ç¤¹¡£
¤Þ¤¿¡¢UIManager¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤â³Îǧ¤·¤Æ¡¢IconRemainingBallList ÊÑ¿ô¤Î Size ¤¬ 0 ¤«¤é 3 ¤Ë¤Ê¤ê¡¢List¤ÎÃæ¿È¤âÄɲäµ¤ì¤Æ¤¤¤ë¤«¸«¤Þ¤·¤ç¤¦¡£
¡¡
¼Â¹Ôư²è¡¡¼êµå¥¢¥¤¥³¥ó¤¬½çÈÖ¤ËÀ¸À®¤µ¤ì¤ë
https://gyazo.com/29ef8fb29bf764f1e5058509abd7b390
UIManager¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¡¡¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü

¡¡°Ê¾å¤Ç¤³¤Î¼ê½ç¤Ï½ªÎ»¤Ç¤¹¡£
- ¥«¥Æ¥´¥ê¡§
- ¿Ê³Ø/¥¹¥¯¡¼¥ë
- ¥×¥í¥°¥é¥ß¥ó¥°
¥³¥á¥ó¥È¤ò¤«¤¯