新增tire。修改transform.Component为es.ComponentTransform

This commit is contained in:
yhh
2021-07-04 21:03:30 +08:00
parent dc3d639824
commit 77ad112f67
11 changed files with 6591 additions and 40 deletions

View File

@@ -1762,17 +1762,14 @@ var es;
}());
es.Scene = Scene;
})(es || (es = {}));
var transform;
(function (transform) {
var Component;
(function (Component) {
Component[Component["position"] = 0] = "position";
Component[Component["scale"] = 1] = "scale";
Component[Component["rotation"] = 2] = "rotation";
})(Component = transform.Component || (transform.Component = {}));
})(transform || (transform = {}));
var es;
(function (es) {
var ComponentTransform;
(function (ComponentTransform) {
ComponentTransform[ComponentTransform["position"] = 0] = "position";
ComponentTransform[ComponentTransform["scale"] = 1] = "scale";
ComponentTransform[ComponentTransform["rotation"] = 2] = "rotation";
})(ComponentTransform = es.ComponentTransform || (es.ComponentTransform = {}));
var DirtyType;
(function (DirtyType) {
DirtyType[DirtyType["clean"] = 0] = "clean";
@@ -2200,13 +2197,13 @@ var es;
this.hierarchyDirty |= dirtyFlagType;
switch (dirtyFlagType) {
case DirtyType.positionDirty:
this.entity.onTransformChanged(transform.Component.position);
this.entity.onTransformChanged(ComponentTransform.position);
break;
case DirtyType.rotationDirty:
this.entity.onTransformChanged(transform.Component.rotation);
this.entity.onTransformChanged(ComponentTransform.rotation);
break;
case DirtyType.scaleDirty:
this.entity.onTransformChanged(transform.Component.scale);
this.entity.onTransformChanged(ComponentTransform.scale);
break;
}
// 告诉子项发生了变换
@@ -3369,13 +3366,13 @@ var es;
};
Collider.prototype.onEntityTransformChanged = function (comp) {
switch (comp) {
case transform.Component.position:
case es.ComponentTransform.position:
this._isPositionDirty = true;
break;
case transform.Component.scale:
case es.ComponentTransform.scale:
this._isPositionDirty = true;
break;
case transform.Component.rotation:
case es.ComponentTransform.rotation:
this._isRotationDirty = true;
break;
}
@@ -10774,6 +10771,32 @@ var es;
es.LineSegments = LineSegments;
})(es || (es = {}));
var es;
(function (es) {
var Tire = /** @class */ (function (_super) {
__extends(Tire, _super);
function Tire(origin, radius, segments, spokeStiffness, treadStiffness) {
if (spokeStiffness === void 0) { spokeStiffness = 1; }
if (treadStiffness === void 0) { treadStiffness = 1; }
var _this = _super.call(this) || this;
var stride = 2 * Math.PI / segments;
for (var i = 0; i < segments; i++) {
var theta = i * stride;
_this.addParticle(new es.Particle(new es.Vector2(origin.x + Math.cos(theta) * radius, origin.y + Math.sin(theta) * radius)));
}
var centerParticle = _this.addParticle(new es.Particle(origin));
for (var i = 0; i < segments; i++) {
_this.addConstraint(new es.DistanceConstraint(_this.particles[i], _this.particles[(i + 1) % segments], treadStiffness));
_this.addConstraint(new es.DistanceConstraint(_this.particles[i], centerParticle, spokeStiffness))
.setCollidesWithColliders(false);
_this.addConstraint(new es.DistanceConstraint(_this.particles[i], _this.particles[(i + 5) % segments], treadStiffness));
}
return _this;
}
return Tire;
}(es.Composite));
es.Tire = Tire;
})(es || (es = {}));
var es;
(function (es) {
var Constraint = /** @class */ (function () {
function Constraint() {