void DrawCollision()
        {
            Gizmos.color = Color.yellow;

            GameObject[] colliders = QuadtreeObjectBasic.CheckCollision(transform.position, _radius);

            foreach (GameObject collider in colliders)
            {
                Gizmos.DrawLine(transform.position, collider.transform.position);       //Gizmos.DrawLine:绘制一条线,参数是两个Vector3,就是线的两端
            }

            /*
             *  假设你不会用foreach,它的格式是:
             *  foreach(类型 变量名A in 同类型的数组或List或其他集合类的变量B)
             *  {
             *      这个大括号会遍历那个变量B里的每个元素,每次遍历都会用前面的变量名A,可以理解为一个简写版的for循环
             *
             *      假设你连“遍历”这个词都不知道,遍历的意思是从头到尾把每个元素都过一遍
             *  }
             */
        }
Exemple #2
0
 private void OnDisable()
 {
     QuadtreeObjectBasic.RemoveLeaf(_leaf);
 }
Exemple #3
0
 /*
  *  在 OnEnble 和 OnDisable 里写存入和移除叶子方法。
  *  OnEnable 是Unity自带的在脚本激活的时候自动调用的方法,脚本激活后向四叉树存入叶子,碰撞器生效。
  *  OnDisable 则是在脚本禁用的时候自动调用的,脚本禁用后从四叉树里移除叶子,碰撞器失效。
  *
  *  一个脚本实现一个功能,脚本激活则功能生效,脚本禁用则功能失效,这是面向组件的编程方式,也是Unity所使用的方式,这段话主要是给新朋友写的,老手看了别笑话我。
  */
 private void OnEnable()
 {
     QuadtreeObjectBasic.SetLeaf(_leaf);
 }