cocos creater物理引擎推进函数能否提供出来

cocos creater物理引擎固定时间计算问题 继续讨论:

目前我们的技术方案是服务端同步物理引擎步进,以保证各个客户端逻辑帧完全同步,但现在引擎的物理引擎是用自己的时钟来推进的

engine/cocos2d/core/physics/CCPhysicsManager.js 现有代码
update: function (dt) {
var world = this._world;
if (!world || !this.enabled) return;

    this.emit('before-step');
    
    this._steping = true;

    var velocityIterations = PhysicsManager.VELOCITY_ITERATIONS;
    var positionIterations = PhysicsManager.POSITION_ITERATIONS;

    if (this.enabledAccumulator) {
        this._accumulator += dt;

        var FIXED_TIME_STEP = PhysicsManager.FIXED_TIME_STEP;
        var MAX_ACCUMULATOR = PhysicsManager.MAX_ACCUMULATOR;

        // max accumulator time to avoid spiral of death
        if (this._accumulator > MAX_ACCUMULATOR) {
            this._accumulator = MAX_ACCUMULATOR;
        }

        while (this._accumulator > FIXED_TIME_STEP) {
            world.Step(FIXED_TIME_STEP, velocityIterations, positionIterations);
            this._accumulator -= FIXED_TIME_STEP;
        }
    }
    else {
        var timeStep = 1/cc.game.config['frameRate'];
        world.Step(timeStep, velocityIterations, positionIterations);
    }
    

    world.DrawDebugData();

    this._steping = false;

    var events = this._delayEvents;
    for (var i = 0, l = events.length; i < l; i++) {
        var event = events[i];
        event.target[event.func].apply(event.target, event.args);
    }
    events.length = 0;

    this._syncNode();
},
1赞