在给碰撞案例做注释的时候遇到一些不能理解的？向大神请教

谁睡觉叫
Wed, 17 Aug 2016 08:43:13 +0000

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;
    }

阅读整个主题