构造函数

new QuadTree(x, y, width, height, maxObjects, maxLevels, level)

一个四叉树的实现。原来的代码是一个转换的java代码发布到gamedevtuts。

参数

名称 类型 参数 默认值 描述
x number 的四叉树的左上坐标。
y number 的四叉树的左上坐标。
width number 在像素的四叉树的宽度。
height number 在像素的四叉树的高度。
maxObjects number <optional> 10 每个节点的最大对象数。
maxLevels number <optional> 4 迭代的最大数量。
level number <optional> 0 这是哪一级?

公共属性

bounds : Object

包含树的界限。

Source code: math/QuadTree.js (Line 45)

level : number

当前水平。

Source code: math/QuadTree.js (Line 40)

maxLevels : number

最高的水平,以打破。

Source code: math/QuadTree.js (Line 35)

maxObjects : number

每个节点的最大对象数。

Source code: math/QuadTree.js (Line 29)

nodes :array

相关子节点数组。

Source code: math/QuadTree.js (Line 55)

objects :array

四叉树的孩子阵列。

Source code: math/QuadTree.js (Line 50)

公共方法

clear()

清晰的树。

Source code: math/QuadTree.js (Line 295)


getIndex(rect) → {number}

确定该对象属于哪个节点。

参数

名称 类型 参数 默认值 描述
rect Phaser.Rectangle | object <检查的范围,< /

Source code: math/QuadTree.js (Line 203)


insert(body)

将对象插入节点。如果节点超过了容量,它将添加到相应的子节点的所有对象。

参数

名称 类型 参数 默认值 描述
body Phaser.Physics.Arcade.Body | object

body对象插入到树。只要它暴露了一些对象,那么就可以是任何对象,因为它是正确的和底部的属性。

Source code: math/QuadTree.js (Line 151)


populate(group)

根据这四叉树于给定的组的孩子。为了添加这个孩子必须存在,并有一个身体属性。

参数

名称 类型 参数 默认值 描述
group Phaser.Group

组添加到树。

Source code: math/QuadTree.js (Line 103)


populateHandler(sprite)

填充方法的处理程序。

参数

名称 类型 参数 默认值 描述
sprite Phaser.Sprite | object 要检查的“精灵”。

Source code: math/QuadTree.js (Line 115)


reset(x, y, width, height, maxObjects, maxLevels, level)

将四叉树。

参数

名称 类型 参数 默认值 描述
x number

的四叉树的左上坐标。

y number

的四叉树的左上坐标。

width number

像素中的四叉树的宽度。

height number

像素中的树的高度。

maxObjects number <optional>
10 每个节点的对象的最大数量。
maxLevels number <optional>
4

级别的最大数目进行迭代。

level number <optional>
0 这是一级吗?< /对

Source code: math/QuadTree.js (Line 69)


retrieve(source) → {array}

返回所有可能与给定的精灵或矩形碰撞的对象。

参数

名称 类型 参数 默认值 描述
source Phaser.Sprite | Phaser.Rectangle

源对象检查树对。一个精灵或长方形。

Source code: math/QuadTree.js (Line 247)


split()

分为4个子节点的节点

Source code: math/QuadTree.js (Line 130)