cocos2d html5 互相推挤的精灵

来源:互联网 发布:gala乐队知乎 编辑:程序博客网 时间:2024/05/16 16:00
 update:function ()    {        if(1)        {            for (var j = 0; j < this._paddles.length; j++) {                var _obj1 = this._paddles[j];                if (!_obj1)                    break;                for (var i = j+1; i < this._paddles.length; i++) {                    var _obj2 = this._paddles[i];                    if (!_obj2)                        break;                    var _lenth = this.calculateLenth(_obj1.getPosition(), _obj2.getPosition());                    var _minLenth = 40*2;                    if(_minLenth>_lenth)                    {                        var _centerPoint = cc.p((_obj1.x + _obj2.x)/2, (_obj1.y + _obj2.y)/2);                        var _moveLenth = (_lenth - _minLenth) /2;                        var _randian = this.calculateRadian(_obj1.getPosition(), _obj2.getPosition());                        cc.log(_randian);                        var _offset = cc.p(Math.sin(_randian)*_moveLenth, Math.cos(_randian)*_moveLenth);                        _obj1.runAction( cc.moveBy(0.1, cc.p(_offset.x, _offset.y)));                        _obj2.runAction( cc.moveBy(0.1, cc.p(-_offset.x, -_offset.y)));                    }                }            }        }    },    calculateLenth:function(p1, p2)    {        var _offsetX = p1.x - p2.x;        var _offsetY = p1.y - p2.y;        var _lenth = Math.sqrt(_offsetX*_offsetX + _offsetY*_offsetY);        return _lenth;    },    calculateRadian:function(p1, p2)    {        var _offsetX = p1.x - p2.x;        var _offsetY = p1.y - p2.y;        var _radian = Math.atan(_offsetX/ _offsetY);        if(p1.y > p2.y)        {            _radian +=Math.PI;        }        return _radian;    }

0 0