update: function (dt) {
if (!this.enabled) {
return;
}
let i, l;
// update collider
let colliders = this._colliders;
for (i = 0, l = colliders.length; i < l; i++) {
this.updateCollider(colliders[i]);
}
// do collide
let contacts = this._contacts;
let results = [];
for (i = 0, l = contacts.length; i < l; i++) {
let collisionType = contacts[i].updateState();
if (collisionType === CollisionType.None) {
continue;
}
results.push([collisionType, contacts[i]]);
}
// handle collide results, emit message
for (i = 0, l = results.length; i < l; i++) {
let result = results[i];
this._doCollide(result[0], result[1]);
}
// draw colliders
this.drawColliders();
},
每帧都let results = [];真的不考虑效率么?