var otherAabb = other.world.aabb;//得到另一个的框框(rect)
var otherPreAabb = other.world.preAabb.clone();//上一次计算的碰撞组件另一个的 aabb 碰撞框
var selfAabb = self.world.aabb;//得到自己的框框
var selfPreAabb = self.world.preAabb.clone();
//上一次计算的碰撞组件自己的 aabb 碰撞框
// 2nd step
// forward x-axis, check whether collision on x-axis
selfPreAabb.x = selfAabb.x;
otherPreAabb.x = otherAabb.x;
//提前一帧做预判???
if (cc.Intersection.rectRect(selfPreAabb, otherPreAabb))
//假如两个框框相交
{
if (this.speed.x < 0 && (selfPreAabb.xMax > otherPreAabb.xMax))
//假如本身x速度小于0 并且 自己的框框在矩形 x 轴上的最大值大于另一个的框框的最大值
{
this.node.x = otherPreAabb.xMax - this.node.parent.x;
cc.log('x',this.node.x ,'xMax',otherPreAabb.xMax,'parent',this.node.parent.x)
//这个节点的x为???
this.collisionX = -1;
//???
}
else if (this.speed.x > 0 && (selfPreAabb.xMin < otherPreAabb.xMin))
//假如本身x速度大于0 并且 自己的框框在矩形 x 轴上的最小值小于另一个的框框的最小值
{
this.node.x = otherPreAabb.xMin - selfPreAabb.width - this.node.parent.x;
//???
this.collisionX = 1;
///????
}
this.speed.x = 0;
other.touchingX = true;
//???
return;
}