ºÇ½ª¹¹¿·¡§
orika_ex_miyako 2021ǯ09·î01Æü(¿å) 14:25:27ÍúÎò
¡¡¤³¤Î¼ê½ç¤Ç¤Ï¶õÃæ¾²¤ò°ìÄê²ó¿ôÀ¸À®¤·¤¿¤é¡¢¥´¡¼¥ëÃÏÅÀ¤òÀ¸À®¤¹¤ë½èÍý¤ò¼ÂÁõ¤·¤Æ¤¤¤¤Þ¤¹¡£
¡ã¼ÂÁõÆ°²è¡¡¾ò·ï¤òËþ¤¿¤·¤¿¤é¥´¡¼¥ëÃÏÅÀ¤òÀ¸À®¤¹¤ë¡ä
https://gyazo.com/18abb10cf2714645b98179114f2ef531
¼ê½ç£²£´¡¡¡¼¥¯¥ê¥¢¾ò·ï¤È¥´¡¼¥ëÃÏÅÀ¤Î¼«Æ°À¸À®½èÍý¤Î¼ÂÁõ¡¼
£´£²¡¥¾²¤ÎÀ¸À®¿ô¤ò¥«¥¦¥ó¥È¤·¤Æ¡¢µ¬Äê¿ô¤Ë㤷¤¿¤é¥´¡¼¥ëÃÏÅÀ¤òÀ¸À®¤¹¤ë
¡¡¿·¤·¤¯³Ø½¬¤¹¤ëÆâÍƤϰʲ¼¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¦¥×¥í¥Ñ¥Æ¥£¤ÎÀßÄê ¡¦¥×¥í¥Ñ¥Æ¥£¤ÎÍøÍÑ¡¡¡Ýprivate ½¤¾þ»Ò¤ÎÃͤò³°Éô¥¯¥é¥¹¤Ç»²¾È(¥²¥Ã¥È)¤¹¤ë¡Ý
¡¡ÆÃÄê¤Î¾õÂ֤ˤª¤¤¤Æ¤¢¤ë½èÍý¤ò¹Ô¤¤¤¿¤¤¡¢¤È¤¤¤¦À©¸æ¤ò¹Í¤¨¤¿¾ì¹ç¡¢¤½¤ÎÆÃÄê¤Î¾õÂÖ¤ò¤É¤Î¤è¤¦¤Ë¤·¤Æºî¤ë¤«¤¬½ÅÍפˤʤê¤Þ¤¹¡£
º£²ó¤Î¥´¡¼¥ëÃÏÅÀ¤òÀ¸À®¤¹¤ë¤¿¤á¤ÎÀ©¸æ½èÍý¤âƱ¤¸¤Ç¡¢À¸À®¤ò¹Ô¤¦¤¿¤á¤Ë¤Ï¡¢ÆÃÄê¤Î¾õÂÖ¤òËþ¤¿¤¹¾ò·ï¤òÀßÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
¡¡¤É¤Î¤è¤¦¤Ê¾ò·ï¤Ë¤·¤Æ¤â¤è¤¤¤Î¤Ç¤¹¤¬¡¢º£²ó¤Ï¡¢¶õÃæ¾²¤òÀ¸À®¤·¤¿²ó¿ô¤ò¥«¥¦¥ó¥È¤·¡¢¤½¤ÎÀ¸À®²ó¿ô¤¬°ìÄêÃͤË㤷¤¿¤é¡¢
¥´¡¼¥ëÃÏÅÀ¤òÀ¸À®¤¹¤ë¤è¤¦¤Ë¾ò·ï¤òÀßÄꤷ¤ÆÀ©¸æ¤ò¹Ô¤Ã¤Æ¤ª¤¤Þ¤¹¡£
¡¡
¡¡¤â¤Á¤í¤ó¾¤Î¾ò·ï¤Ç¤âÀ¸À®¤¹¤ë¤³¤È¤Ï²Äǽ¤Ç¤¹¤Î¤Ç¡¢¼«Ê¬¤Ç¤âÀ߷פò¹Í¤¨¤Æ¥í¥¸¥Ã¥¯¤òÁȤó¤Ç¼ÂÁõ¤ò¤·¤Æ¤ß¤Þ¤·¤ç¤¦¡£
¤É¤Î¤è¤¦¤Ê¾ò·ï¤È¤¹¤ë¤«¡¢¤É¤Î¾ò·ï¤òȽÄꤹ¤ë¤Ë¤Ï¤É¤¦¤¤¤Ã¤¿¾ðÊó(ÊÑ¿ô¤Ê¤É)¤¬É¬Íפ«¡¢¤È¤¤¤¦É÷¤Ë¹Í¤¨¤Æ¤¤¤¯¤È¤è¤¤¤È»×¤¤¤Þ¤¹¡£
¡¡¶õÃæ¾²¤òÀ¸À®¤·¤¿²ó¿ô¤Î¥«¥¦¥ó¥È¤ä¡¢°ìÄê²ó¿ô¤ÎÀßÄê¤ò¹Ô¤¦¤¿¤á¤Ë¡¢¿·¤·¤¯ GameDirector(¤¢¤ë¤¤¤Ï¡¢GameManager) ¥¹¥¯¥ê¥×¥È¤òºîÀ®¤·¤Æ´ÉÍý¤ò¹Ô¤¦¤è¤¦¤Ë¤·¤Þ¤¹¡£
¡¡¤³¤Î¥¹¥¯¥ê¥×¥È¤Ë¤è¤Ã¤Æ¡¢¥´¡¼¥ëÃÏÅÀ¤¬À¸À®¤µ¤ì¤ë¤¿¤á¤ÎÀ©¸æ½èÍý¤ò¹Ô¤Ã¤Æ¤¤¤Þ¤¹¡£
°ìÂΤɤΤ褦¤Ë¤·¤Æ½èÍý¤¬Æ°¤¤¤Æ¤¤¤ë¤«¡¢¤Þ¤¿¡¢¤É¤Î¤è¤¦¤Ê½çÈ֤ǽèÍý¤¬¹Ô¤ï¤ì¤ë¤³¤È¤Ë¤è¤Ã¤Æ¥´¡¼¥ëÃÏÅÀ¤¬À¸À®¤µ¤ì¤ë¤Î¤«¡¢
°ìÏ¢¤Î½èÍý¤Îή¤ì¤ò¼«Ê¬¤Ç½ñ¤½Ð¤·¤Æ¤ß¤Þ¤·¤ç¤¦¡£
¡¡ÍÑ°Õ¤·¤Æ¤¤¤ëÊÑ¿ô¤âƱÍͤǤ¹¡£¤Ê¤¼É¬ÍפʤΤ«¡¢¤É¤¦¤¤¤Ã¤¿Éôʬ¤ËÍøÍѤµ¤ì¤Æ¤¤¤ë¤Î¤«¤ò³Îǧ¤·¡¢½èÍý¤òÄɤ¤¤«¤±¤Æ¤ß¤Þ¤·¤ç¤¦¡£
GameDirector.cs
¡¡TODO ¤ÎÉôʬ¤Ë¤Ï¸åÄø¡¢½èÍý¤òÄɲä·¤Þ¤¹¡£¤³¤Î¤è¤¦¤Ë½èÍý¤¬Äɲ䵤ì¤ë¾ì½ê¤ò»Ä¤·¤Æ¤ª¤¤¤¿¤ê¡¢Debug.Log¤òÆþ¤ì¤Æ¤ª¤¯¤È¡¢½èÍý¤Î½ñ¤±Ì¤é¤·¤ò¸º¤é¤¹¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
¡¡¥×¥í¥Ñ¥Æ¥£¤È¤Ï¡¢¥¯¥é¥¹³°Éô¤«¤é¸«¤ë¤È¥á¥ó¥Ð¡¼ÊÑ¿ô¤Î¤è¤¦¤Ë¿¶¤ëÉñ¤¤¡¢ ¥¯¥é¥¹ÆâÉô¤«¤é¸«¤ë¤È¥á¥½¥Ã¥É¤Î¤è¤¦¤Ë¿¶¤ëÉñ¤¦µ¡Ç½¤Ç¤¹¡£
¤½¤Î¤¿¤á¡¢¼ÂÁõ¾õÂÖ(private½¤¾þ»Ò¤Î¤Þ¤Þ)¤òÊѹ¹¤¹¤ë¤³¤È¤Ê¤¯¡¢³°Éô¥¯¥é¥¹¤Ø¤Î»²¾È¡¦Êѹ¹¤ò¹Ô¤¨¤ëµ¡Ç½¤Ç¤¢¤ë¤¿¤á¡¢°·¤¤¤ò³Ð¤¨¤Æ¤ª¤¯¤ÈÈó¾ï¤ËÊØÍø¤Ç¤¹¡£
¥×¥í¥Ñ¥Æ¥£
// À¸À®²ó¿ô private int generateCount; // generateCount ÊÑ¿ôÍѤΥץí¥Ñ¥Æ¥£ public int GenerateCount { set { generateCount = value; Debug.Log("À¸À®¿ô / ¥¯¥ê¥¢ÌÜɸ¿ô : " + generateCount + " / " + clearCount); if (generateCount >= clearCount) { // ¥´¡¼¥ëÃÏÅÀ¤òÀ¸À® GenerateGoal(); // ¥²¡¼¥à½ªÎ» GameUp(); } } get { return generateCount; } }
¡¡º£²ó¤Ï¡¢private ¤ÇÀë¸À¤·¤Æ¤¤¤ë generateCount ÊÑ¿ô¤ò¥×¥í¥Ñ¥Æ¥£¤òÍøÍѤ¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢³°Éô¥¯¥é¥¹¤«¤é»²¾È½ÐÍè¤ë¤è¤¦¤Ë¤·¤Æ¤¤¤Þ¤¹¡£
¡¡private ½¤¾þ»Ò¤Ë¤ÆÀë¸À¥Õ¥£¡¼¥ë¥É¤ÇÀë¸À¤·¤¿ÊÑ¿ô¤Ë¤Ä¤¤¤Æ¤Ï¡¢³°Éô¤Î¥¯¥é¥¹¤«¤é¤Ï»²¾È¡¦Êѹ¹¤ò¹Ô¤¦¤³¤È¤¬½ÐÍè¤Þ¤»¤ó¡£
¤³¤Î¤È¤¡¢¤É¤¦¤·¤Æ¤â»²¾È¤ò¹Ô¤¤¤¿¤¤¾ì¹ç¤Ë¤Ï¡¢ÊÑ¿ô¤Î½¤¾þ»Ò¤ò public ½¤¾þ»Ò¤ËÊѹ¹¤·¤ÆÂбþ¤¹¤ë¤Î¤Ç¤Ï¤Ê¤¯
¥×¥í¥Ñ¥Æ¥£¤Î»ý¤Ä get ¥¡¼¥ï¡¼¥É¤òÍøÍѤ·¤Æ¡¢Ìá¤êÃͤòÍøÍѤ·¤Æ private ½¤¾þ»Ò¤ÎÊÑ¿ô¤ò³°Éô¥¯¥é¥¹¤Ë»²¾È¤µ¤»¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
¡¡¤³¤ÎÀ߷פˤè¤ê¡¢public ¤Ç¤Ï¤Ê¤¤ÊÑ¿ô¤ò³°Éô¥¯¥é¥¹¤ÇÍøÍѤǤ¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£
³°Éô¤«¤é¥×¥í¥Ñ¥Æ¥£¤ò¸Æ¤Ó½Ð¤·¤ÆÌá¤êÃͤò»²¾È¤¹¤ë½èÍý¤Î¤³¤È¤ò¥²¥Ã¥¿¡¼(getter)¤È¸Æ¤Ó¤Þ¤¹¡£
¡¡Æ±Íͤˡ¢private ½¤¾þ»Ò¤ÎÃͤò³°Éô¥¯¥é¥¹¤è¤êÊѹ¹¤·¤¿¤¤¾ì¹ç¤Ë¤Ï¡¢Æ±¤¸¥×¥í¥Ñ¥Æ¥£¤ò¤òÃç²ð¤¹¤ë¼êË¡¤ò»È¤Ã¤Æ½ñ¤´¹¤¨¤ë½èÍý¤ò¼ÂÁõ½ÐÍè¤Þ¤¹¡£
¤³¤Á¤é¤Î½èÍý¤Ï¥»¥Ã¥¿¡¼(setter)¤È¸Æ¤Ó¤Þ¤¹¡£
¡¡get¡¢set ¥¡¼¥ï¡¼¥É¤Ï¤É¤Á¤é¤«ÊÒÊý¤À¤±¤Ç¤âµ½Ò¤Ç¤¤Þ¤¹¡£¤Þ¤¿º£²ó¤Î¤è¤¦¤Ë¡¢¥×¥í¥Ñ¥Æ¥£ÆâÉô¤Ë¾ò·ï¼°¤òÍÑ°Õ¤·¤Æ¡¢¤½¤Î·ë²Ì¤Ë¹ç¤ï¤»¤Æ½èÍý¤òÊѹ¹¤¹¤ëµ½Ò¤â½ÐÍè¤Þ¤¹¡£
¡¡¼ÂºÝ¤ÎÍøÍÑÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï¼¡¤Î¼ê½ç¤Ç¾Ò²ð¤·¤Þ¤¹¡£
»²¹Í¥µ¥¤¥È
̤³ÎǧÈô¹Ô C ÍÍ
¥×¥í¥Ñ¥Æ¥£
https://ufcpp.net/study/csharp/oo_property.html
FEnet¥¤¥ó¥Õ¥éÍÍ¡¡¥Æ¥Ã¥¯¥Ö¥í¥°
C#¤Î¥×¥í¥Ñ¥Æ¥£¤ò»È¤¤¤³¤Ê¤½¤¦¡ª¤µ¤Þ¤¶¤Þ¤Ê¼ÂÁõÊýË¡¤ò¾Ò²ð
https://www.fenet.jp/infla/column/technology/c%E3%...
¡¡¥Ò¥¨¥é¥ë¥¡¼¤Ë¤¢¤ë GameManager ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¡¢ºîÀ®¤·¤¿ GameDirector ¥¹¥¯¥ê¥×¥È¤ò¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤·¤Æ¥¢¥¿¥Ã¥Á¤·¤Þ¤¹¡£
GameManager ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òÁªÂò¤·¤Æ¡¢¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£GameDirector ¥¹¥¯¥ê¥×¥È¤Ë¥¢¥µ¥¤¥ó¾ðÊó¤¬É½¼¨¤µ¤ì¤Þ¤¹¤Î¤Ç¡¢½çÈÖ¤ËÀßÄꤷ¤Þ¤¹¡£
GameManager ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¡¡¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü

¡¡³ÆÊÑ¿ô¤Ë¥¢¥µ¥¤¥ó¤¹¤ë¾ðÊó¤Ë¤Ä¤¤¤Æ¤Ï¡¢¥¹¥¯¥ê¥×¥È¤ÎÊÑ¿ô¤Î¥³¥á¥ó¥È¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
clearCount ¤ÎÃͤϥǥХå°¤¬¤¢¤ê¤Þ¤¹¤Î¤Ç¡¢¸½»þÅÀ¤Ç¤Ï 2 - 3 ¤ËÀßÄꤷ¤Æ¤ª¤¤¤Æ¡¢½èÍý¤¬ÌäÂê¤Ê¤¯¤Ê¤Ã¤¿¤éŬµ¹¤ÊÃͤËÊѹ¹¤·¤Æ¤¯¤À¤µ¤¤¡£
¡ã¼ê½çÆ°²è¡¡¥¢¥µ¥¤¥ó¡ä
https://gyazo.com/aa26ec552046717e6ded715cdbb6728f
GameManager ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¡¡¥¢¥µ¥¤¥ó¸å¤Î¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü

¡¡GameDirector ¥¹¥¯¥ê¥×¥È¤ËÍÑ°Õ¤·¤¿ generateCount ÊÑ¿ô¤ò»²¾È¤¹¤ë¤¿¤á¤Î¥×¥í¥Ñ¥Æ¥£¡ÊGenerateCount¡Ë¤òº£²ó¤Î½èÍý¤Ç¤Ï¼ÂÁõ¤·¤Æ¤¤¤Þ¤¹¡£
// À¸À®¿ô¤ò¥«¥¦¥ó¥È¥¢¥Ã¥× gameDirector.GenerateCount++;
¡¡¥×¥í¥Ñ¥Æ¥£¤Ï public ½¤¾þ»Ò¤Ç¤¹¤Î¤Ç¡Ö¥¯¥é¥¹¤ÎÂåÆþ¤µ¤ì¤Æ¤ëÊÑ¿ô̾.¥×¥í¥Ñ¥Æ¥£Ì¾¡×¤Èµ½Ò¤¹¤ë¤³¤È¤Ç»²¾È¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£(gameDirector.GenerateCount)
¤³¤Îµ¡Ç½¤Ë¤è¤Ã¤Æ¡¢private ½¤¾þ»Ò¤Ç¤¢¤ë generateCount ÊÑ¿ô¤ÎÃͤò³°Éô¤Î¥¯¥é¥¹¤Ç»²¾È¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
¡¡¥×¥í¥Ñ¥Æ¥£¤Ï¥á¥½¥Ã¥É¤ÈƱ¤¸¤è¤¦¤Ë¡¢Ì¾Á°¤ÎƬʸ»ú¤òÂçʸ»ú¤Ë¤·¤Æ¤ª¤¯¤È¡¢¤³¤Î¤è¤¦¤Ë³°Éô¥¯¥é¥¹¤Ç»²¾È¤òµ½Ò¤¹¤ëºÝ¤Ë¤â¥×¥í¥Ñ¥Æ¥£¤Ç¤¢¤ë¤³¤È¤Èʬ¤«¤ê¤ä¤¹¤¯¤Ê¤ê¤Þ¤¹¡£
GameDirector.cs
private void SetUpFloorGenerators() { for (int i = 0; i < floorGenerators.Length; i++) { // FloorGenerator¤Î½àÈ÷¡¦½é´üÀßÄê¤ò¹Ô¤¦ floorGenerators[i].SetUpGenerator(this); // <=¡¡¥³¥á¥ó¥È¥¢¥¦¥È¤ò²ò½ü } }
¡¡¥²¡¼¥à¤ò¼Â¹Ô¤·¤Æ¡¢¶õÃæ¾²¤¬À¸À®¤µ¤ì¤ë¤¿¤Ó¤Ë¡¢GameDirector ¥¹¥¯¥ê¥×¥È¤Î generateCount ÊÑ¿ô¤¬²Ã»»¤µ¤ì¤ë¤«¤ò³Îǧ¤·¤Þ¤¹¡£
generateCount ÊÑ¿ô¤Ï private ½¤¾þ»Ò¤Ç¤¹¤Î¤Ç¡¢Debug.Log¤Ë²Ã»»²ó¿ô¤òɽ¼¨¤¹¤ë¤è¤¦¤ËÀ©¸æ¤·¤Æ¤¤¤Þ¤¹¡£
¡¡¤Þ¤¿¤³¤Î²ó¿ô¤¬ clearCount ÊÑ¿ô¤ÈƱ¤¸Ãͤˤʤ俤Ȥ¤Ë¡¢¥´¡¼¥ëÃÏÅÀ¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤¬À¸À®¤µ¤ì¤ì¤ÐÀ®¸ù¤Ç¤¹¡£
¡ã¼Â¹ÔÆ°²è¡¡¶õÃæ¾²¤¬À¸À®¤µ¤ì¤ë¤¿¤Ó¤Ë¡¢GameDirector ¥¹¥¯¥ê¥×¥È¤Î generateCount ÊÑ¿ô¤¬²Ã»»¤µ¤ì¤ë(Console ¤Ç³Îǧ)¡ä
https://gyazo.com/e7a02a0a12cbe1bb3e3e2e90e729bb3c
¡ã¼Â¹ÔÆ°²è¡¡generateCount ÊÑ¿ô¤ÎÃͤ¬ clearCount ÊÑ¿ô¤ÈƱ¤¸Ãͤˤʤ俤Ȥ¤Ë¡¢¥´¡¼¥ëÃÏÅÀ¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤¬À¸À®¤µ¤ì¤ë¡ä
https://gyazo.com/7aa75eba369542f78d9d81db273b4369
¡¡°Ê¾å¤Ç¤³¤Î¼ê½ç¤Ï½ªÎ»¤Ç¤¹¡£
¡¡¤¿¤À¤·¡¢¤¤¤Þ¤Î¤Þ¤Þ¤Ç¤¹¤È¡¢²¿²ó¤â¥´¡¼¥ë¤¬À¸À®¤µ¤ì¤Æ¤·¤Þ¤¦¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢¼¡¤Î¼ê½ç¤Ï¤½¤ÎÀ©¸æ¤ò¹Ô¤¤¡¢¥´¡¼¥ëÃÏÅÀ¤ÎÀ¸À®¤ò£±²ó¤À¤±¤Ë¤·¤Þ¤¹¡£
¡¡¼¡¤Ï¡¡¼ê½ç£²£µ¡¡¡¼¼«Æ°À¸À®¤ÎÀ©¸æ½èÍý¤Î¼ÂÁõ¡¼¡¡¤Ç¤¹¡£
- ¥«¥Æ¥´¥ê¡§
- ¿Ê³Ø/¥¹¥¯¡¼¥ë
- ¥×¥í¥°¥é¥ß¥ó¥°
¥³¥á¥ó¥È¤ò¤«¤¯