修复碰撞器旋转后bounds计算错误
This commit is contained in:
@@ -7146,7 +7146,7 @@ var es;
|
|||||||
var hasUnitScale = true;
|
var hasUnitScale = true;
|
||||||
var tempMat = void 0;
|
var tempMat = void 0;
|
||||||
var combinedMatrix = es.Matrix2D.create().translate(-this._polygonCenter.x, -this._polygonCenter.y);
|
var combinedMatrix = es.Matrix2D.create().translate(-this._polygonCenter.x, -this._polygonCenter.y);
|
||||||
if (collider.entity.transform.scale != es.Vector2.one) {
|
if (!collider.entity.transform.scale.equals(es.Vector2.one)) {
|
||||||
tempMat = es.Matrix2D.create().scale(collider.entity.transform.scale.x, collider.entity.transform.scale.y);
|
tempMat = es.Matrix2D.create().scale(collider.entity.transform.scale.x, collider.entity.transform.scale.y);
|
||||||
combinedMatrix = combinedMatrix.multiply(tempMat);
|
combinedMatrix = combinedMatrix.multiply(tempMat);
|
||||||
hasUnitScale = false;
|
hasUnitScale = false;
|
||||||
|
|||||||
Vendored
+1
-1
File diff suppressed because one or more lines are too long
@@ -46,12 +46,13 @@ module samples {
|
|||||||
|
|
||||||
this.camera.entity.addComponent(new FollowCamera(playerEntity));
|
this.camera.entity.addComponent(new FollowCamera(playerEntity));
|
||||||
|
|
||||||
let moonTexture = RES.getRes("moon_png");
|
this.content.loadRes("moon_png").then(moonTexture => {
|
||||||
let moonEntity = this.createEntity("moon");
|
let moonEntity = this.createEntity("moon");
|
||||||
moonEntity.position = new es.Vector2(412, 460);
|
moonEntity.position = new es.Vector2(412, 460);
|
||||||
moonEntity.addComponent(new SpriteRenderer(moonTexture));
|
moonEntity.addComponent(new SpriteRenderer(moonTexture));
|
||||||
moonEntity.addComponent(new ProjectileHitDetector());
|
moonEntity.addComponent(new ProjectileHitDetector());
|
||||||
moonEntity.addComponent(new CircleCollider());
|
moonEntity.addComponent(new CircleCollider());
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -70,13 +71,15 @@ module samples {
|
|||||||
Flags.setFlagExclusive(collider.collidesWithLayers, 0);
|
Flags.setFlagExclusive(collider.collidesWithLayers, 0);
|
||||||
Flags.setFlagExclusive(collider.physicsLayer, 1);
|
Flags.setFlagExclusive(collider.physicsLayer, 1);
|
||||||
|
|
||||||
let texture = RES.getRes("plume_png");
|
this.content.loadRes("plume_png").then(()=>{
|
||||||
let sprites = Sprite.spritesFromAtlas(texture, 16, 16);
|
let texture = RES.getRes("plume_png");
|
||||||
let animator = entity.addComponent(new SpriteAnimator());
|
let sprites = Sprite.spritesFromAtlas(texture, 16, 16);
|
||||||
animator.renderLayer = 1;
|
let animator = entity.addComponent(new SpriteAnimator());
|
||||||
|
animator.renderLayer = 1;
|
||||||
|
|
||||||
animator.addAnimation("default", new SpriteAnimation(sprites));
|
animator.addAnimation("default", new SpriteAnimation(sprites));
|
||||||
animator.play("default");
|
animator.play("default");
|
||||||
|
});
|
||||||
|
|
||||||
return entity;
|
return entity;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7146,7 +7146,7 @@ var es;
|
|||||||
var hasUnitScale = true;
|
var hasUnitScale = true;
|
||||||
var tempMat = void 0;
|
var tempMat = void 0;
|
||||||
var combinedMatrix = es.Matrix2D.create().translate(-this._polygonCenter.x, -this._polygonCenter.y);
|
var combinedMatrix = es.Matrix2D.create().translate(-this._polygonCenter.x, -this._polygonCenter.y);
|
||||||
if (collider.entity.transform.scale != es.Vector2.one) {
|
if (!collider.entity.transform.scale.equals(es.Vector2.one)) {
|
||||||
tempMat = es.Matrix2D.create().scale(collider.entity.transform.scale.x, collider.entity.transform.scale.y);
|
tempMat = es.Matrix2D.create().scale(collider.entity.transform.scale.x, collider.entity.transform.scale.y);
|
||||||
combinedMatrix = combinedMatrix.multiply(tempMat);
|
combinedMatrix = combinedMatrix.multiply(tempMat);
|
||||||
hasUnitScale = false;
|
hasUnitScale = false;
|
||||||
|
|||||||
Vendored
+1
-1
File diff suppressed because one or more lines are too long
@@ -219,7 +219,7 @@ module es {
|
|||||||
let tempMat: Matrix2D;
|
let tempMat: Matrix2D;
|
||||||
let combinedMatrix = Matrix2D.create().translate(-this._polygonCenter.x, -this._polygonCenter.y);
|
let combinedMatrix = Matrix2D.create().translate(-this._polygonCenter.x, -this._polygonCenter.y);
|
||||||
|
|
||||||
if (collider.entity.transform.scale != Vector2.one) {
|
if (!collider.entity.transform.scale.equals(Vector2.one)) {
|
||||||
tempMat = Matrix2D.create().scale(collider.entity.transform.scale.x, collider.entity.transform.scale.y);
|
tempMat = Matrix2D.create().scale(collider.entity.transform.scale.x, collider.entity.transform.scale.y);
|
||||||
combinedMatrix = combinedMatrix.multiply(tempMat);
|
combinedMatrix = combinedMatrix.multiply(tempMat);
|
||||||
hasUnitScale = false;
|
hasUnitScale = false;
|
||||||
|
|||||||
Reference in New Issue
Block a user