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

¡¡°ú¤­Â³¤­¡¢¥Ü¥àµ¡Ç½¤ÎÀ©ºî¤ò¤ª¤³¤Ê¤¤¤Þ¤¹¡£

¡¡¤³¤Î¼ê½ç¤Ç¤Ï¤¤¤Þ¤Þ¤Ç¤Îµ¡Ç½¤òÅý¹ç¤·¡¢¥Ü¥à¤ÎÀ¸À®¤Èºï½ü¤ò¹Ô¤¨¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£


¡ã¥Ü¥à¤ÎÀ¸À®¡ä
Æ°²è¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯


¡ã¥Ü¥àȯư¡ä
Æ°²è¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯



¡ã¿·¤·¤¯³Ø½¬¤¹¤ëÆâÍÆ¡ä
¡¡¡¦List<T>.AddRange(IEnumerable<T>) ¥á¥½¥Ã¥É



GameManager ¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤¹¤ë


¡¡¥Ü¥àÍѤÎÊÑ¿ô¤ò¿·¤·¤¯£³¤ÄÄɲä·¤Þ¤¹¡£

¡¡¤Þ¤¿¡¢È¯Å¸£±£´¤Ë¤Æ´³»Ù¤òºï½ü¤¹¤ë½èÍý¤ò¥á¥½¥Ã¥É²½¤·¤Æ¤¢¤ê¤Þ¤¹¤Î¤Ç¡¢
¤½¤Á¤é¤ò³èÍѤ¹¤ë¤¿¤á¤Î¥á¥½¥Ã¥É¤ò¿·¤·¤¯£±¤ÄºîÀ®¤·¤Þ¤¹¡£

¡¡¥Ü¥à¤Îµ¡Ç½¤Ï¡¢¸ú²ÌÈÏ°ÏÆâ¤Ë¤¢¤ë´³»Ù¤ò¤¹¤Ù¤Æºï½ü¤¹¤ë¡¢¤È¤¤¤¦µ¡Ç½¤Ç¤¹¤Î¤Ç¡¢
Bomb ¥¹¥¯¥ê¥×¥È¤ÎÊý¤Ç¤Ï¸ú²ÌÈϰϤˤ¢¤ë¤¹¤Ù¤Æ¤Î´³»Ù¤Î¾ðÊó¤ò¼ý½¸¤¹¤ë½èÍý¤òµ­½Ò¤·¤Æ¤¤¤Þ¤¹¡£
¤½¤Î¤¿¤á¡¢ºï½ü¤Î½èÍý¤Þ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¤Î¤Ç¡¢ºï½ü¤ÎÉôʬ¤Ë¤Ä¤¤¤Æ¤Ï GameManager ¤Ë°ÍÍê¤ò¤¹¤ë¡¢¤È¤¤¤¦Î®¤ì¤Ç¤¹¡£


GameManager.cs

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


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


¡ãList<T>.AddRange(IEnumerable<T>) ¥á¥½¥Ã¥É¡ä


¡¡List ¤ËÍÑ°Õ¤µ¤ì¤Æ¤¤¤ë¥á¥½¥Ã¥É¤Ç¤¹¡£

¡¡Add ¥á¥½¥Ã¥É¤Ç¤ÏÍ×ÁǤò£±¤Ä¤º¤Ä List ¤ËÄɲ乤뤳¤È¤¬¤Ç¤­¤Þ¤¹¤¬¡¢AddRange ¥á¥½¥Ã¥É¤Ï°ú¿ô¤Ë List ¤òÍ¿¤¨¤ë¤³¤È¤Ç
Í¿¤¨¤¿ List ¤ÎʤӤΤޤޡ¢°ì³ç¤ÇÄɲäò¹Ô¤Ã¤Æ¤¯¤ì¤Þ¤¹¡£List Æâ¤ÎÄɲ䵤ì¤ë°ÌÃ֤ϡ¢¸½ºß¤ÎÍ×ÁǤκǸå(ËöÈø)¤ÎÉôʬ¤«¤é¤Ç¤¹¡£

¡¡List ¤ÎÅý¹ç¤È¤â¸À¤¨¤Þ¤¹¡£

¡¡// Ê£¿ô¤Îºï½ü¸õÊä¤Î´³»Ù¤òºï½ü¥ê¥¹¥È¤Ë¤Þ¤È¤á¤ÆÄɲÃ
¡¡eraseEtoList.AddRange(eraseEtos);
¡¡
»²¹Í¥µ¥¤¥È
MicroSoft
List.AddRange ¥á¥½¥Ã¥É
¥²¡¼¥Þ¡¼¤È¤­¤É¤­¥¨¥ó¥¸¥Ë¥¢ ÍÍ
¡ÚC#¡Û¥ê¥¹¥È¤Ë¥ê¥¹¥È¤òÄɲ乤ëAddRange¥á¥½¥Ã¥É¤ò²òÀ⤷¤Þ¤¹


GameManager ¤ÎÀßÄê¤ò¹Ô¤¦


¡¡¿·¤·¤¯ÊÑ¿ô¤ò£³¤ÄÄɲ䷤Ƥ¤¤Þ¤¹¤Î¤Ç¡¢¤½¤Á¤é¤ÎÀßÄê¤ò¹Ô¤¤¤Þ¤¹¡£


¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü



¡¡ºÇ²¼ÃʤËÄɲ䵤ì¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢Bomb ¥×¥ì¥Ï¥Ö¤Î¥¢¥µ¥¤¥ó¤È¡¢¥Ü¥à¤ÎÀ¸À®¤ËɬÍפʴ³»Ù¤Î¥Á¥§¡¼¥ó¿ô¡¢¥Ü¥à¤ÎÈϰϤˤĤ¤¤ÆÀßÄꤷ¤Þ¤¹¡£


ÀßÄê¾ì½ê



¡¡¥Ä¥à¥Ä¥à¤Î¤è¤¦¤Ë£·¤Ä°Ê¾å¤Ä¤Ê¤²¤Æ¥Ü¥à¤òÀ¸À®¤·¤¿¤¤¾ì¹ç¤Ë¤Ï¡¢BombGenerateCount ÊÑ¿ô¤ò 6 ¤ËÀßÄꤷ¤Æ¤¯¤À¤µ¤¤¡£
¤³¤ì¤ÏºÇ½é¤Î´³»Ù¤òÈ´¤«¤·¤Æ¡¢¥Á¥§¡¼¥ó¤·¤Æ¤¤¤ë¿ô¤Ç¤¹¡£¤Ä¤Þ¤ê¡¢¥²¡¼¥à¾å£·¤Ä·Ò¤¬¤Ã¤Æ¤¤¤ë¡¢¤È¤¤¤¦¤³¤È¤ÏºÇ½é¤Î´³»Ù¤òÈ´¤«¤·¤Æ¡¢£¶¤Ä¤¬¥Á¥§¡¼¥ó¤·¤Æ¤¤¤ë¡¢¤È¤¤¤¦²ò¼á¤Ç¤¹¡£



Bomb ¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤¹¤ë


¡¡GameManager ¦¤Ë¥á¥½¥Ã¥É¤Î½àÈ÷¤¬À°¤¤¤Þ¤·¤¿¤Î¤Ç¡¢TODO Éôʬ¤ò¼ÂÁõ¤·¤Þ¤¹¡£
¤Þ¤¿¡¢¥Æ¥¹¥ÈÍѤ˺îÀ®¤·¤Æ¤ª¤¤¤¿ Start ¥á¥½¥Ã¥É¤Î½èÍý¤Ï¥³¥á¥ó¥È¥¢¥¦¥È¤·¤Æ¤ª¤­¤Þ¤¹¡£


Bomb.cs

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



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


¡¡¤¹¤Ù¤Æ¤Î¼ê½ç¤¬´°À®¤·¤Þ¤·¤¿¤Î¤Ç¡¢¼ÂºÝ¤Ë¥²¡¼¥à¤ò¼Â¹Ô¤·¤ÆÆ°ºî¤ò³Îǧ¤·¤Þ¤¹¡£

¡¡¥Ü¥à¤òÀ¸À®¤¹¤ë¤¿¤á¤Ë¤Ï¡¢»ØÄꤷ¤¿¿ô¤Î´³»Ù¤ò¤Ä¤Ê¤²¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
¤³¤Î»ØÄê¿ô¤ò¸ÇÄê¤ÇÀßÄꤷ¤Þ¤¦¤È¡¢¥Ç¥Ð¥Ã¥°¤¬¤ä¤ê¤Ë¤¯¤¯¡¢Ä´À°¤¹¤ëºÝ¤Ë¤â¥½¡¼¥¹¥³¡¼¥É¤òľÀܽ¤Àµ¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£

¡¡¤½¤¦¤¤¤Ã¤¿»öÂÖ¤òÈò¤±¤ë¤¿¤á¡¢º£²ó¤ÎÀß·×¤Ç¤Ï GameManager ¤Ë BombGenerateCount ÊÑ¿ô¤òÍÑ°Õ¤·¤Æ¤¢¤ê¤Þ¤¹¡£

¡¡¤è¤Ã¤Æ¡¢¥Ç¥Ð¥Ã¥°¤¹¤ëºÝ¤Ë¤Ï BombGenerateCount ÊÑ¿ô¤ÎÃͤò¾®¤µ¤¯¤¹¤ë¤³¤È¤Ç¡¢´³»Ù¤ò¤Ä¤Ê¤²¤ë¿ô¤¬¾¯¤Ê¤¯¤Æ¤â¥Ü¥à¤¬À¸À®¤µ¤ì¤Þ¤¹¡£
¤·¤Ã¤«¤ê¤È¥½¡¼¥¹¥³¡¼¥É¤òÆɤ߲ò¤¤¤Æ¤ß¤Þ¤·¤ç¤¦¡£


¡ã¥Ü¥à¤ÎÀ¸À®¡ä
Æ°²è¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯


¡ã¥Ü¥àȯư¡ä
Æ°²è¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯

¡¡
¡¡°ÊÁ°¤Î¼ê½ç¤Ç¤â¤ªÅÁ¤¨¤·¤Æ¤¤¤ë¤è¤¦¤Ë¡¢¥²¡¼¥à¤Î¥Ç¥Ð¥Ã¥°¤Ï·«¤êÊÖ¤·¹Ô¤¦Á°Äó¤Ç¤¹¡£
¸úΨ¤Î¤è¤¤ºî¶È¤ò¤ª¤³¤Ê¤¦¤¿¤á¤Ë¤Ï¤É¤¦¤¹¤ì¤Ð¤¤¤¤¤Î¤«¤ò¹Í¤¨¤ë¤è¤¦¤Ë¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£



¡¡¥Ü¥à¤ÎÈÏ°Ï¤Ï GameManager ¤Î BombRadius ÊÑ¿ô¤ÇÀßÄê¤Ç¤­¤Þ¤¹¡£
Î㤨¤ÐÃͤòÊѹ¹¤¹¤ì¤Ð¡¢¤¹¤Ù¤Æ¤Î´³»Ù¤òÇ˲õ¤¹¤ë¤È¤¤¤¦¥Ü¥à¤âºî¤ì¤Þ¤¹¤·¡¢
Ê£¿ô¤Î¼ïÎà¤Î¥Ü¥à¤òºî¤ê¡¢¤½¤ì¤¾¤ì¤Î¸ú²ÌÈϰϤòÊѤ¨¤ë¤È¤¤¤¦¤³¤È¤â¤Ç¤­¤Þ¤¹¡£


¡ã¤¹¤Ù¤Æ¤Î´³»Ù¤òºï½ü¡ä
Æ°²è¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯


¡¡¥½¡¼¥¹¥³¡¼¥É¤ÎÆâÍƤòÆɤ߲ò¤¯¤³¤È¤Ç±þÍѤ·¤¿¥×¥í¥°¥é¥à¤òºîÀ®¤Ç¤­¤Þ¤¹¡£
¥Á¥ã¥ì¥ó¥¸¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£


¡ã±þÍÑ¡¡LINQ ¤òÍøÍѤ·¤¿½èÍý¤Î¥ê¥Õ¥¡¥¯¥¿¥ê¥ó¥°¡ä


¡¡Àµ¾ï¤Ë¥Ü¥à¤ÎÆ°ºî¤¹¤ë¤³¤È¤ò³Îǧ¤Ç¤­¤Þ¤·¤¿¤é¡¢Bomb ¥¹¥¯¥ê¥×¥ÈÆâ¤Î OnClickBomb Æâ¤Î½èÍý¤ò LINQ ¤òÍøÍѤ·¤ÆÃÖ¤­´¹¤¨¤Æ¤ß¤Þ¤·¤ç¤¦¡£

¡¡LINQ ¤Î³Æµ¡Ç½¤ò³èÍѤ¹¤ë¤È¡¢Ã»½Ì¤·¤¿Ì¿Îáʸ¤Ç¤¹¤Ã¤­¤ê¤È½ñ¤±¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
¥ê¥Õ¥¡¥¯¥¿¥ê¥ó¥°¤Ë¤Ê¤ê¤Þ¤¹¤Î¤Ç¡¢´û¸¤Î½èÍý¤òÃÖ¤­´¹¤¨¤Æ¤¤¤ë¤À¤±¤Ç¤¹¤Î¤Ç¡¢¥²¡¼¥à¤Î¸«¤¿Ìܤ䡢½èÍý¤Î·ë²Ì¤ÏƱ¤¸¤Ç¤¹¡£


¡ãÃÖ¤­´¹¤¨¤ë½èÍý¡ä
        List<Eto> eraseEtos = new List<Eto>();
        Collider2D[] colliders = Physics2D.OverlapCircleAll(transform.position, bombRadius);
        
        foreach (Collider2D collider in colliders)
        {
            if (collider.TryGetComponent(out Eto eto))
            {
                eraseEtos.Add(eto);
            }
        }

¡¡¡¡¢­

¡ãLINQ ¤òÍøÍѤ·¤Æ¥ê¥Õ¥¡¥¯¥¿¥ê¥ó¥°¡ä
        List<Eto> eraseEtos = Physics2D.OverlapCircleAll(transform.position, bombRadius)
            .Select(collider => collider.GetComponent<Eto>())
            .Where(eto => eto != null)
            .ToList();

¡¡LINQ ¤Î½èÍý¤Ï¥á¥½¥Ã¥É¥Á¥§¡¼¥ó¤òÍøÍѤ·¤ÆºîÀ®¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
¤½¤Î¤¿¤á¾åµ­¤Î¤è¤¦¤Ë¡¢¥Ô¥ê¥ª¥É¤Î°ÌÃ֤Dzþ¹Ô¤¹¤ë¤³¤È¤Ç¡¢³Æ½èÍý¤òʬ²ò¤·¤Æɳ²ò¤¤¤Æ¤¤¤¯¤³¤È¤¬½ÐÍè¤Þ¤¹¡£

¡¡³Æ½èÍý¤ÎÀâÌÀ¤ò¤·¤Þ¤¹¡£

¡¡Physics2D.OverlapCircleAll¤Ï¡¢»ØÄꤷ¤¿°ÌÃÖ(transform.position)¤òÃæ¿´¤È¤·¤Æ¡¢»ØÄꤷ¤¿È¾·Â(bombRadius)Æâ¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Î¥³¥é¥¤¥À¡¼¤ò¼èÆÀ¤·¤Þ¤¹¡£
OverlapCircleAll¥á¥½¥Ã¥É¤Ï¡¢»ØÄꤷ¤¿°ÌÃ֤˽ŤʤäƤ¤¤ë¤¹¤Ù¤Æ¤Î¥³¥é¥¤¥À¡¼¤òÇÛÎó¤È¤·¤ÆÊÖ¤·¤Þ¤¹¡£

¡¡Select¥á¥½¥Ã¥É¤Ï¡¢ÇÛÎóÆâ¤Î³ÆÍ×ÁǤËÂФ·¤Æ»ØÄꤷ¤¿½èÍý¤ò¼Â¹Ô¤·¡¢·ë²Ì¤ÎÍ×ÁǤò¿·¤·¤¤¥³¥ì¥¯¥·¥ç¥ó¤Ë¥Þ¥Ã¥Ô¥ó¥°(¼Í±Æ)¤·¤Þ¤¹¡£
¤³¤Î¾ì¹ç¡¢³Æcollider¤«¤éGetComponent<Eto>()¤ò¸Æ¤Ó½Ð¤·¤Æ¡¢Eto¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ò¼èÆÀ¤·¤Þ¤¹¡£
GetComponent<Eto>()¤Ï¡¢»ØÄꤷ¤¿¥³¥ó¥Ý¡¼¥Í¥ó¥È(Eto)¤¬¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«¤ò³Îǧ¤·¡¢¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¤½¤Î¥³¥ó¥Ý¡¼¥Í¥ó¥È¤òÊÖ¤·¤Þ¤¹¡£

¡¡Where¥á¥½¥Ã¥É¤Ï¡¢»ØÄꤷ¤¿¾ò·ï(eto != null)¤Ë¹çÃפ¹¤ëÍ×ÁǤΤߤò¥Õ¥£¥ë¥¿¥ê¥ó¥°¤·¤Þ¤¹¡£
¤³¤Î¾ì¹ç¡¢eto¤¬null¤Ç¤Ê¤¤Í×ÁǤΤߤò»Ä¤·¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢Eto¥³¥ó¥Ý¡¼¥Í¥ó¥È¤¬¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ëÍ×ÁǤÀ¤±¤¬»Ä¤ê¤Þ¤¹¡£
¤Ä¤Þ¤ê¡¢Select ¥á¥½¥Ã¥É¤Ë¤è¤Ã¤Æ GetComponent ¤·¤¿ºÝ¤Ë¡¢Ëü¤¬°ì null ¤Î¾ðÊ󤬤¢¤Ã¤¿¾ì¹ç¤Ë¤Ï¤½¤ì¤ò½ü³°¤·¡¢Í×ÁǤΰÂÁ´À­¤ò³ÎÊݤ·¤Æ¤¤¤Þ¤¹¡£

¡¡ToList¥á¥½¥Ã¥É¤Ï¡¢¥³¥ì¥¯¥·¥ç¥ó¤òList¤ËÊÑ´¹¤·¤Þ¤¹¡£
¤³¤Î¾ì¹ç¡¢Select¤ª¤è¤ÓWhere¤ÇÆÀ¤é¤ì¤¿Í×ÁǤòList<Eto>¤ËÊÑ´¹¤·¤Þ¤¹¡£

¡¡°Ê¾å¤Î¤è¤¦¤Êή¤ì¤Ë¤è¤ê¡¢ºÇ½ªÅª¤Ë¡¢»ØÄꤷ¤¿°ÌÃÖ¤ÈȾ·ÂÆâ¤Ë¤¢¤ë¥³¥é¥¤¥À¡¼¤ò»ý¤Ä¥ª¥Ö¥¸¥§¥¯¥È¤ÎÃ椫¤é¡¢Eto¥³¥ó¥Ý¡¼¥Í¥ó¥È¤¬¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë¤â¤Î¤À¤±¤¬eraseEtos¥ê¥¹¥È¤ËÄɲ䵤ì¤Þ¤¹¡£
¥ê¥Õ¥¡¥¯¥¿¥ê¥ó¥°¤¹¤ëÁ°¤Î½èÍý¤ÈƱ¤¸ÆâÍƤˤʤê¤Þ¤¹¡£

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


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

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

Menu



´ðÁÃ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

private



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

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