コード例 #1
0
    private void Start()
    {
        Rectangle _boundary = new Rectangle(0, 0, 200, 200);

        quadTree = new QuadTreeData(_boundary, max_capacity);
        for (int i = 0; i < randomNumber; i++)
        {
            Point p = new Point((Random.value - 0.5f) * 200, (Random.value - 0.5f) * 200);
            //GameObject pointVisualizer = Instantiate(pointPrefab,new Vector3(p.x,10,p.y),Quaternion.identity);
            quadTree.Insert(p);
            //Debug.Log(p);
        }
    }
コード例 #2
0
    void Start()
    {
        Rect rect = new Rect(0, 0, 100, 100);
        root = new QuadTreeNode<QuadTreeData>(0, rect);
        for(int i = 0; i < 100; i++)
        {
            float x = Random.Range(0, 100);
            float y = Random.Range(0, 100);
            float width = Random.Range(1, 10);
            float height = Random.Range(1, 10);
            QuadTreeData data = new QuadTreeData();
            data.mRect = new Rect(x, y, width, height);
            root.Insert(data);
        }

        root.Retrieve(mCollisionList, new Rect(50, 50, 12.5f, 12.5f));
        Debug.Log(mCollisionList.Count);
    }