LQuadTree Class
Library:lufylegend.LQuadTree-x.x.x.min.js
四叉树类,可拥有高速检测矩形碰撞。下面两个demo可以说明LQuadTree的强大
Constructor
Item Index
Methods
Properties
Methods
add
(
LQuadTree
public
-
value
-
x
-
y
将检测对象加入到LQuadTree对象内
Parameters:
-
value
Object检测对象
-
x
Float检测对象的x坐标
-
y
Float检测对象的y坐标
Returns:
LQuadTree:
一个装有传入的检测对象的LQuadTree对象,如果传入坐标超出检测区域,则返回null。
add
(
LQuadTree
public
-
value
-
x
-
y
将检测对象加入到LQuadTree对象内
Parameters:
-
value
Object检测对象
-
x
Float检测对象的x坐标
-
y
Float检测对象的y坐标
Returns:
LQuadTree:
一个装有传入的检测对象的LQuadTree对象,如果传入坐标超出检测区域,则返回null。
callParent
(
public
-
functionName
-
arguments
调用父类的函数。
Parameters:
-
functionName
String函数名
-
arguments
Array固定值arguments
Example:
function funA(){
LExtends(this,LObject,[]);
}
funA.prototype.myName = function(){
return "AAA";
}
function funB(){
LExtends(this,funA,[]);
}
funB.prototype.myName = function(){
return "BBB";
}
function funC(){
LExtends(this,funA,[]);
}
funC.prototype.myName = function(){
return this.callParent("myName",arguments);
}
LInit(1000/50,"legend",800,150,main);
function main(){
LGlobal.setDebug(true);
var objB = new funB();
trace(objB.myName());//BBB
var objC = new funC();
trace(objC.myName());//AAA
}
createChildren
(
public
-
deep
矩形分割
Parameters:
-
deep
Int将检测的矩形区域分割的深度(次数)
createChildren
(
public
-
deep
矩形分割
Parameters:
-
deep
Int将检测的矩形区域分割的深度(次数)
getDataInRect
(
Array
public
-
rect
返回指定矩形区域内的所有对象
Parameters:
-
rect
LRectangle指定矩形区域
Returns:
Array:
获取到的对象数组。
getDataInRect
(
Array
public
-
rect
返回指定矩形区域内的所有对象
Parameters:
-
rect
LRectangle指定矩形区域
Returns:
Array:
获取到的对象数组。
hasChildren
()
Boolean
public
检测矩形区域内是否继续被分割
Returns:
Boolean:
如果被检测的矩形区域有被继续分割,则返回true,否则返回false。
hasChildren
()
Boolean
public
检测矩形区域内是否继续被分割
Returns:
Boolean:
如果被检测的矩形区域有被继续分割,则返回true,否则返回false。
isIn
(
Boolean
public
-
x
-
y
检测坐标是否在LQuadTree对象内
Parameters:
-
x
Float检测的x坐标
-
y
Float检测的y坐标
Returns:
Boolean:
检测结果。
isIn
(
Boolean
public
-
x
-
y
检测坐标是否在LQuadTree对象内
Parameters:
-
x
Float检测的x坐标
-
y
Float检测的y坐标
Returns:
Boolean:
检测结果。
Properties
objectIndex
Int
public
对象的ID