ºÇ½ª¹¹¿·¡§
orika_ex_miyako 2022ǯ12·î01Æü(ÌÚ) 13:28:16ÍúÎò
¡¡if ʸ¤Ë¤è¤ë½èÍý¤Î¾ò·ï¼°¤òºîÀ®¤¹¤ëºÝ¡¢¡¡Ö¡Á¤Ê¤é¤Ð¡¢{ } Æâ¤Î½èÍý¤ò¹Ô¤¦¡×¤È¤¤¤¦½ñ¼°¤Çµ½Ò¤·¤Æ¤¤¤¯ÊýË¡¤¬¤¢¤ê¤Þ¤¹¤¬¡¢
µÕ¤Î´ÑÅÀ¤«¤é¢¡Ö¡Á¤Ê¤é¤Ð¡¢{ } Æâ¤Î½èÍý¤ò¹Ô¤ï¤Ê¤¤¡×¤È¤¤¤¦½ñ¼°¤Ë¤è¤Ã¤Æµ½Ò¤â½ÐÍè¤Þ¤¹¡£
¡¡¤½¤Î¤¿¤á¡¢¾ï¤ËξÊý¤Î½èÍý¤Î¥¤¥á¡¼¥¸¤òºî¤ì¤ë¤è¤¦¤Ë¿´¤¬¤±¤ë¤³¤È¤¬½ÅÍפǤ¹¡£
Æä˥ͥ¹¥È¤¬¿¼¤¯¤Ê¤ê¤½¤¦¤Ê¾ì¹ç¤Ë¤Ï¡¢¢¤Î½èÍý¤È return ¥¡¼¥ï¡¼¥É¤òÁȤ߹礻¤ë¼êË¡¤¬½èÍý¤ò¸«¤ä¤¹¤¯ºî¤Ã¤Æ¤¤¤¯¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
¡ãif ʸ¤ò¡¤Î¼êË¡¤Çµ½Ò¤·¤¿¥±¡¼¥¹¡£¥Í¥¹¥È¤¬¿¼¤¯¤Ê¤ê¤ä¤¹¤¤¡ä
using System.Collections; using System.Collections.Generic; using UnityEngine; public class Sample_if_0 : MonoBehaviour { private bool isAttack; private Rigidbody rb; private void Update() { // ¡¤Î¾ì¹ç¡¢¡¤Î¾ò·ï¤òËþ¤¿¤·¤¿¾å¤Ç¡¢¼¡¤Î¾ò·ï¤òËþ¤¿¤¹¡¢¤È¤¤¤¦¥±¡¼¥¹¤Ç¤Îµ½Ò¤¬Áý¤¨¤ë¤¿¤á¡¢¥Í¥¹¥È¤¬¿¼¤¯¤Ê¤ê¤ä¤¹¤¤ if (isAttack) { if (rb != null) { rb.AddForce(transform.forward * 10, ForceMode.Acceleration); } } } }
¡¡¡¡¢
¡ãif ʸ¤ò¢¤Î¼êË¡¤Çµ½Ò¤·¤Æ return ¤òÍøÍѤ·¤¿¥±¡¼¥¹¡²¤½¤Î£±¡£¥Í¥¹¥È¤òÀõ¤¯¤Ç¤¤ë¡ä
using System.Collections; using System.Collections.Generic; using UnityEngine; public class Sample_if_1 : MonoBehaviour { private bool isAttack; private Rigidbody rb; private void Update() { // ¥Í¥¹¥È¤òÀõ¤¯¤¹¤ëÊýË¡¤Ï¡¢¡Ö¡Á¤Ê¤é¤Ð¡Á¤¹¤ë¡×¤È¤¤¤¦½èÍý¤Î¡ÖµÕ¤Î¥Ñ¥¿¡¼¥ó¤Î if ʸ¤ò¹Í¤¨¤ë¡×¤³¤È¤Ç¤¹ // isAttack ¤Ê¤é¤Ð¡¢¤Ç¤Ï¤Ê¤¯¡¢isAttack ¤Ç¤Ê¤¤¤Ê¤é¡¢¤È¹Í¤¨¤ë¤³¤È¤Ç return ¤ò³èÍѤ·¡¢¥Í¥¹¥È¤òÀõ¤¯¤Ç¤¤Þ¤¹ if (!isAttack) { return; } if (rb != null) { rb.AddForce(transform.forward * 10, ForceMode.Acceleration); } } }
¡ãif ʸ¤ò¢¤Î¼êË¡¤Çµ½Ò¤·¤Æ return ¤òÍøÍѤ·¤¿¥±¡¼¥¹¡²¤½¤Î£²¡£¥Í¥¹¥È¤òÀõ¤¯¤·¤¿¾å¤Ç¡¢½èÍý¤ò´Ê·é¤Ëµ½Ò¤Ç¤¤ë¡ä
using System.Collections; using System.Collections.Generic; using UnityEngine; public class Sample_if_2 : MonoBehaviour { private bool isAttack; private Rigidbody rb; private void Update() { // if ʸ¤Î¾ò·ïÆâ¤Ë return ¤ÎÂоݤȤʤëÊÑ¿ô¤ò¹ç¤ï¤»¤Æµ½Ò¤¹¤ë¤³¤È¤Ç¡¢¤µ¤é¤Ë½èÍý¤ò¤¹¤Ã¤¤ê¤Èµ½Ò¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£ if (!isAttack || rb == null) { return; } ¡¡¡¡¡¡¡¡// ¤³¤Î½èÍý¤¬¼Â¹Ô¤µ¤ì¤ë¥¿¥¤¥ß¥ó¥°¤Ï¡¢¾åµ¤Î¾ò·ï°Ê³°¤Î¤È¤¤Ç¤¢¤ë¤³¤È¤¬Êݾڤµ¤ì¤Þ¤¹¡£¤½¤Î¤¿¤á¡¢if ʸ¤Ç°Ï¤àɬÍפ¬¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£ rb.AddForce(transform.forward * 10, ForceMode.Acceleration); } }
¡ãif ʸ¤ò¢¤Î¼êË¡¤Çµ½Ò¤·¤Æ return ¤òÍøÍѤ·¤¿¥±¡¼¥¹¡²¤½¤Î£³¡£¥Í¥¹¥È¤òÀõ¤¯¤·¤¿¾å¤Ç¡¢½èÍý¤ò´Ê·é¤Ëµ½Ò¤Ç¤¤ë¡ä
using System.Collections; using System.Collections.Generic; using UnityEngine; public class Sample_if_3 : MonoBehaviour { [SerializeField] private GameObject enemy; private void OnTriggerStay(Collider other) { if (enemy == null) { return; } if (other.gameObject == enemy) { Debug.Log("Ʊ¤¸ enemy"); } } }
¡¡¥×¥í¥°¥é¥à¤ò¹Í¤¨¤Æ½ñ¤±¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¯¤ë¤È¡¢¤É¤¦¤·¤Æ¤âƱ¤¸¥Ñ¥¿¡¼¥ó¤ËÅö¤Æ¤Ï¤á¤Æ½èÍý¤ò¤Ä¤¯¤ê¤¬¤Á¤Ë¤Ê¤ê¤Þ¤¹¡£
¤½¤¦¤Ç¤Ï¤Ê¤¯¤Æ¡¢ÍÍ¡¹¤Ê³ÑÅÙ¤«¤é½èÍý¤ÎÆâÍƤò¸¡Æ¤¤¹¤ë¤È¤¤¤¦»ëÅÀ¤ò»ý¤Ä¤³¤È¤Ç¡¢½èÍý¤ò½ñ¤Ê¬¤±¤Æ¤¤¤¯¤³¤È¤¬½ÐÍè¤ë¤è¤¦¤Ë¤Ê¤ê¡¢
·ë²ÌŪ¤Ë¡¢Æɤߤ䤹¤¤½èÍý¤ò¹½ÃÛ¤¹¤ëµ½ÒÊýË¡¤ò³Ð¤¨¤Æ¤¤¤¯¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
¡¡if ʸ¤òÍøÍѤ·¤Æ½èÍý¤ò¤Ä¤¯¤Ã¤Æ¤¤¤¯¾ìÌ̤Ï¿¤¤¤Î¤Ç¡¢°ìÅÙ½ñ¤¤¤Æ¤¦¤Þ¤¯Æ°ºî¤·¤¿½èÍý¤Ç¤¢¤Ã¤Æ¤â¡¢Â¾¤Ë½ñ¤Êý¤Ï¤Ê¤¤¤Î¤«¡©¡¡¤È¤¤¤¦µ¿Ìä¤ò»ý¤Á¡¢
¤è¤ê¤è¤¤½èÍý¤Î½ñ¤Êý¤òõµá¤¹¤ëµ¤»ý¤Á¤ò˺¤ì¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤³¤È¤¬¡¢¤Ò¤¤¤Æ¤Ï¥¹¥¥ë¥¢¥Ã¥×¤Ë¤Ä¤Ê¤¬¤ê¡¢¾åã¤Ø¤Î¶áÆ»¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¡°ìÈÌŪ¤Ê¥¿¥°¤òÍøÍѤ·¤¿½èÍý¤ÎȽÄêÊýË¡¤òµºÜ¤·¤Þ¤¹¡£
using System.Collections; using System.Collections.Generic; using UnityEngine; public class CollisionSample : MonoBehaviour { private EnemyController enemy; private void OnCollisionEnter(Collision col) { // ¤Þ¤º¥¿¥°¤ÇȽÄê¤ò¹Ô¤¤ if (col.gameObject.CompareTag("Enemy")) { ¡¡¡¡¡¡¡¡¡¡¡¡// ³¤¤¤Æ¥¯¥é¥¹¤Î¼èÆÀ¤ò¹Ô¤¤¡¢½èÍý¤ò¤Ä¤Ê¤²¤Æ¤¤¤¯ enemy = col.gameObject.GetComponent<EnemyController>(); enemy.Damage(); } } }
¡¡Tag ¤ÎȽÄê¤Ï¤Ê¤ë¤Ù¤¯»ß¤á¤Þ¤¹¡£Íýͳ¤Ï Tag ¤ÎȽÄê¸å¤Ë¡¢¤½¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë¥¯¥é¥¹¤Î¼èÆÀ¤ò¹Ô¤¦¥±¡¼¥¹¤¬Â¿¤¤¤Î¤Ç
¤½¤ì¤Ç¤¢¤ì¤ÐºÇ½é¤«¤é¡Ö¥¯¥é¥¹¤¬¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë¤«¡×¤òȽÄꤷ¡¢¤«¤Ä¡¢¥¯¥é¥¹¤Î¾ðÊó¤òÍøÍѤǤ¤ë¾õÂ֤ˤ¹¤ë TryGetComponent ¤òÍøÍѤ·¤¿Êý¤¬¤¤¤¤¤Ç¤¹¡£
¡¡¤½¤¦¤¹¤ì¤Ð½èÍý¤òȽÄꤹ¤ë if ʸ¤Ï£±¤Ä¤Ç¤è¤¤¤¿¤á¡¢¥Í¥¹¥È¤âÀõ¤¯¤Ç¤¡¢¤«¤Ä¡¢¥á¥ó¥ÐÊÑ¿ô¤âÉÔÍפˤʤê¤Þ¤¹¡£
using System.Collections; using System.Collections.Generic; using UnityEngine; public class CollisionSample_Refact : MonoBehaviour { private void OnCollisionEnter(Collision col) { // TryGetComponent ¥á¥½¥Ã¥É¤òÍøÍѤ·¡¢»ØÄꤷ¤¿¥¯¥é¥¹¤¬¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤¢¤ë¤«È½Äꤷ¤¿¾å¤Ç¡¢É¬Íפʥ¯¥é¥¹¤ò¼èÆÀ¤Ç¤¤ë if (col.gameObject.TryGetComponent(out EnemyController enemy)) { ¡¡¡¡¡¡¡¡¡¡¡¡// ¥¯¥é¥¹¤Î¼èÆÀ¤¬ºÑ¤ó¤Ç¤¤¤ë¤Î¤Ç¡¢GetComponent ¥á¥½¥Ã¥É¤¬ÉÔÍפˤʤꡢ½èÍý¤ò¤Ä¤Ê¤²¤Æ¤¤¤¯¤³¤È¤¬¤Ç¤¤ë enemy.Damage(); } } }
¡¡ÆÃÄê¤Î¥á¥½¥Ã¥ÉÆ⤫¤é¤·¤«¼Â¹ÔÌ¿Îá¤Î¤Ê¤¤¥á¥½¥Ã¥É¤Ï¡¢Ä̾ï¤Î¥á¥½¥Ã¥É¤Ç¤Ï¤Ê¤¯¡¢¼Â¹ÔÌ¿Îá¤Î½ñ¤¤¤Æ¤¢¤ë¥á¥½¥Ã¥ÉÆâ¤Ë
¥í¡¼¥«¥ë´Ø¿ô¤È¤·¤ÆÄêµÁ¤·¤¿Êý¤¬½èÍý¤òÆɤ߲ò¤¤ä¤¹¤¯¤Ê¤ê¤Þ¤¹¡£¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥É¤â¥í¡¼¥«¥ë´Ø¿ô¤¬ÍøÍѤǤ¤Þ¤¹¡£
¡¡¥í¡¼¥«¥ë´Ø¿ô¤Ï¼«Æ°Åª¤Ë private °·¤¤¤Ë¤Ê¤ë¤¿¤á¡¢¥¢¥¯¥»¥¹½¤¾þ»Ò¤Ïµ½Ò¤Ç¤¤Þ¤»¤ó¡£
¡ã¥í¡¼¥«¥ë´Ø¿ô¤ò³èÍѤ·¤Ê¤¤¥±¡¼¥¹¡ä
using System.Collections; using System.Collections.Generic; using UnityEngine; public class NormalMethodSample : MonoBehaviour { public void SetUp() { StartCoroutine(DelayAttack()); } ¡¡¡¡private IEnumerator DelayAttack() { yield return new WaitForSecounds(1.0f); Debug.Log("Attack"); } }
¡ã¥í¡¼¥«¥ë´Ø¿ô¤ò³èÍѤ¹¤ë¥±¡¼¥¹¡ä
using System.Collections; using System.Collections.Generic; using UnityEngine; public class LocalMethodSample_Refact : MonoBehaviour { public void SetUp() { StartCoroutine(DelayAttack()); /// <summary> /// SetUp ¥á¥½¥Ã¥ÉÆâ¤Ç¤Î¤ß»ÈÍѤ¹¤ë¥í¡¼¥«¥ë´Ø¿ô /// ¸Æ¤Ó½Ð¤·¸µ¤¬£±¤Ä¤Î¥á¥½¥Ã¥É¤Ë¸ÂÄꤵ¤ì¤Æ¤¤¤ë¥á¥½¥Ã¥É¤Ï¡¢¤½¤Î¥á¥½¥Ã¥ÉÆâ¤Ë¥í¡¼¥«¥ë´Ø¿ô¤òÍÑ°Õ¤·¤¿Êý¤¬½èÍý¤¬Æɤߤ䤹¤¯¤Ê¤ê¤Þ¤¹ /// </summary> /// <returns></returns> IEnumerator DelayAttack() {¡¡¡¡//¡¡½¤¾þ»Ò¤Ïºï½ü yield return new WaitForSecounds(1.0f); Debug.Log("Attack"); } } }
¡¡¥á¥½¥Ã¥ÉÆâ¤Ç¤¢¤ì¤Ð¥í¡¼¥«¥ë´Ø¿ô¤ÎÀë¸À¤Ï¤É¤³¤Ç¤â²Äǽ¤Ç¤¹¡£
Î㤨¤Ð²¼µ¤Î¤è¤¦¤Ëµ½Ò¤·¤Æ¤¢¤Ã¤Æ¤âÌäÂꤢ¤ê¤Þ¤»¤ó¡£
¡ã¥í¡¼¥«¥ë´Ø¿ô¤ÎÀë¸À¡¡ä
public void SetUp() { /// <summary> /// SetUp ¥á¥½¥Ã¥ÉÆâ¤Ç¤Î¤ß»ÈÍѤ¹¤ë¥í¡¼¥«¥ë´Ø¿ô /// ¸Æ¤Ó½Ð¤·¸µ¤¬£±¤Ä¤Î¥á¥½¥Ã¥É¤Ë¸ÂÄꤵ¤ì¤Æ¤¤¤ë¥á¥½¥Ã¥É¤Ï¡¢¤½¤Î¥á¥½¥Ã¥ÉÆâ¤Ë¥í¡¼¥«¥ë´Ø¿ô¤òÍÑ°Õ¤·¤¿Êý¤¬½èÍý¤¬Æɤߤ䤹¤¯¤Ê¤ê¤Þ¤¹ /// </summary> /// <returns></returns> IEnumerator DelayAttack() {¡¡¡¡//¡¡½¤¾þ»Ò¤Ïºï½ü yield return new WaitForSecounds(1.0f); Debug.Log("Attack"); } StartCoroutine(DelayAttack()); }
¡ã¥í¡¼¥«¥ë´Ø¿ô¤ÎÀë¸À¢¡ä
public void SetUp() { StartCoroutine(DelayAttack()); /// <summary> /// SetUp ¥á¥½¥Ã¥ÉÆâ¤Ç¤Î¤ß»ÈÍѤ¹¤ë¥í¡¼¥«¥ë´Ø¿ô /// ¸Æ¤Ó½Ð¤·¸µ¤¬£±¤Ä¤Î¥á¥½¥Ã¥É¤Ë¸ÂÄꤵ¤ì¤Æ¤¤¤ë¥á¥½¥Ã¥É¤Ï¡¢¤½¤Î¥á¥½¥Ã¥ÉÆâ¤Ë¥í¡¼¥«¥ë´Ø¿ô¤òÍÑ°Õ¤·¤¿Êý¤¬½èÍý¤¬Æɤߤ䤹¤¯¤Ê¤ê¤Þ¤¹ /// </summary> /// <returns></returns> IEnumerator DelayAttack() {¡¡¡¡//¡¡½¤¾þ»Ò¤Ïºï½ü yield return new WaitForSecounds(1.0f); Debug.Log("Attack"); } // ½èÍý¤ÎÁ°¸å¤Ë¥í¡¼¥«¥ë´Ø¿ô¤¬Àë¸À¤·¤Æ¤¢¤Ã¤Æ¤âÌäÂꤢ¤ê¤Þ¤»¤ó¡£ ¡¡¡¡¡¡¡¡Debug.Log("End Attack"); }
¡¡¥á¥½¥Ã¥ÉÆâ¤ËÄêµÁ¤Ç¤¤ë¥í¡¼¥«¥ë´Ø¿ô¤Î¿ô¤Ë¤âÀ©¸Â¤Ï¤Ê¤¤¤¿¤á¡¢Ê£¿ô¤Î¥í¡¼¥«¥ë´Ø¿ô¤ò£±¤Ä¤Î¥á¥½¥Ã¥ÉÆâ¤ËÄêµÁ¤¹¤ë¤³¤È¤â½ÐÍè¤Þ¤¹¡£
¡¡¥×¥í¥°¥é¥à¤Ï¡¢·è¤á¤é¤ì¤¿µ¬Â§¤ÎÃæ¤Ç¤¢¤ì¤Ð¡¢¥¨¥ó¥¸¥Ë¥¢¤¬¼«Ê¬¤Ç¹Í¤¨¤¿Æȼ«¤Î½èÍý¤òµ½Ò¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¥¤¥á¡¼¥¸¤·¤¿½èÍý¤ò¤Þ¤º¤Ï½ñ¤¤¤Æ¤ß¤Æ¡¢Æ°ºî¤¹¤ë¤«¤ò³Îǧ¤·¤Æ¤ß¤ë¤È¤è¤¤¤Ç¤·¤ç¤¦¡£
¾¡¼ê¤Ë½ÐÍè¤Ê¤¤¤â¤Î¤È»×¤¤¹þ¤Þ¤º¤Ë¡¢¤É¤¦¤¹¤ì¤Ð¤¤¤¤¤Î¤«¡¢¤È¤¤¤¦´ÑÅÀ¤«¤é¹Í¤¨¤Æ¤¤¤¯¤è¤¦¤Ë¤¹¤ë¤³¤È¤¬ÂçÀڤǤ¹¡£
¡¡¥í¥¸¥Ã¥¯¤ò¹Í¤¨¤Æ¤¤¤¯¤³¤È¤ÏÂçÊѤǤϤ¢¤ê¤Þ¤¹¤¬¡¢¤³¤ì¤Ï¥×¥í¥°¥é¥à¤ò½ñ¤¤¤Æ½èÍý¤òÆ°¤«¤¹Âé¸ïÌ£¤Ç¤¢¤ê¡¢Â¾¤Ç¤ÏÆÀÆñ¤¤Âθ³¤Ë¤â·Ò¤¬¤ê¤Þ¤¹¡£
¡¡
¡¡°Ê¾å¤Ë¤Ê¤ê¤Þ¤¹¡£
- ¥«¥Æ¥´¥ê¡§
- ¿Ê³Ø/¥¹¥¯¡¼¥ë
- ¥×¥í¥°¥é¥ß¥ó¥°
¥³¥á¥ó¥È¤ò¤«¤¯