#21 完善 gapxy

This commit is contained in:
YHH
2020-08-08 09:06:32 +08:00
parent 463c64c628
commit e7fb9e0d6b
8 changed files with 40 additions and 20 deletions
+1
View File
@@ -605,6 +605,7 @@ declare module es {
private _gapX; private _gapX;
private _gapY; private _gapY;
constructor(sprite: Sprite); constructor(sprite: Sprite);
setGapXY(value: Vector2): TiledSpriteRenderer;
render(camera: es.Camera): void; render(camera: es.Camera): void;
} }
} }
+10 -5
View File
@@ -2853,10 +2853,6 @@ var es;
return new es.Vector2(this._gapX, this._gapY); return new es.Vector2(this._gapX, this._gapY);
}, },
set: function (value) { set: function (value) {
if (value.x < 0 || value.y < 0) {
console.error("间隔必须为正数");
return;
}
this._gapX = value.x; this._gapX = value.x;
this._gapY = value.y; this._gapY = value.y;
var renderTexture = new RenderTexture(); var renderTexture = new RenderTexture();
@@ -2866,11 +2862,20 @@ var es;
newRectangle.width += this._gapX; newRectangle.width += this._gapX;
newRectangle.height += this._gapY; newRectangle.height += this._gapY;
renderTexture.drawToTexture(this.displayObject, newRectangle); renderTexture.drawToTexture(this.displayObject, newRectangle);
this.displayObject = new Bitmap(renderTexture); if (!this.displayObject) {
this.displayObject = new Bitmap(renderTexture);
}
else {
this.displayObject.texture = renderTexture;
}
}, },
enumerable: true, enumerable: true,
configurable: true configurable: true
}); });
TiledSpriteRenderer.prototype.setGapXY = function (value) {
this.gapXY = value;
return this;
};
TiledSpriteRenderer.prototype.render = function (camera) { TiledSpriteRenderer.prototype.render = function (camera) {
_super.prototype.render.call(this, camera); _super.prototype.render.call(this, camera);
var bitmap = this.displayObject; var bitmap = this.displayObject;
File diff suppressed because one or more lines are too long
+2 -2
View File
@@ -12,10 +12,10 @@ module scene {
public async onStart() { public async onStart() {
let sprite = new es.Sprite(RES.getRes("checkbox_select_disabled_png")); let sprite = new es.Sprite(RES.getRes("checkbox_select_disabled_png"));
let bg = this.createEntity("bg"); let bg = this.createEntity("bg");
bg.addComponent(new es.SpriteRenderer()).setSprite(sprite).setColor(0xff0000); // bg.addComponent(new es.SpriteRenderer()).setSprite(sprite).setColor(0xff0000);
bg.addComponent(new component.PlayerController()); bg.addComponent(new component.PlayerController());
bg.addComponent(new es.Mover()); bg.addComponent(new es.Mover());
bg.addComponent(new es.ScrollingSpriteRenderer(sprite)).gapXY = new es.Vector2(10, 0); bg.addComponent(new es.ScrollingSpriteRenderer(sprite)).setGapXY(new es.Vector2(10, 0));
bg.addComponent(new es.BoxCollider()); bg.addComponent(new es.BoxCollider());
bg.position = new es.Vector2(Math.random() * 200, Math.random() * 200); bg.position = new es.Vector2(Math.random() * 200, Math.random() * 200);
+1
View File
@@ -605,6 +605,7 @@ declare module es {
private _gapX; private _gapX;
private _gapY; private _gapY;
constructor(sprite: Sprite); constructor(sprite: Sprite);
setGapXY(value: Vector2): TiledSpriteRenderer;
render(camera: es.Camera): void; render(camera: es.Camera): void;
} }
} }
+10 -5
View File
@@ -2853,10 +2853,6 @@ var es;
return new es.Vector2(this._gapX, this._gapY); return new es.Vector2(this._gapX, this._gapY);
}, },
set: function (value) { set: function (value) {
if (value.x < 0 || value.y < 0) {
console.error("间隔必须为正数");
return;
}
this._gapX = value.x; this._gapX = value.x;
this._gapY = value.y; this._gapY = value.y;
var renderTexture = new RenderTexture(); var renderTexture = new RenderTexture();
@@ -2866,11 +2862,20 @@ var es;
newRectangle.width += this._gapX; newRectangle.width += this._gapX;
newRectangle.height += this._gapY; newRectangle.height += this._gapY;
renderTexture.drawToTexture(this.displayObject, newRectangle); renderTexture.drawToTexture(this.displayObject, newRectangle);
this.displayObject = new Bitmap(renderTexture); if (!this.displayObject) {
this.displayObject = new Bitmap(renderTexture);
}
else {
this.displayObject.texture = renderTexture;
}
}, },
enumerable: true, enumerable: true,
configurable: true configurable: true
}); });
TiledSpriteRenderer.prototype.setGapXY = function (value) {
this.gapXY = value;
return this;
};
TiledSpriteRenderer.prototype.render = function (camera) { TiledSpriteRenderer.prototype.render = function (camera) {
_super.prototype.render.call(this, camera); _super.prototype.render.call(this, camera);
var bitmap = this.displayObject; var bitmap = this.displayObject;
+1 -1
View File
File diff suppressed because one or more lines are too long
@@ -95,11 +95,6 @@ module es {
} }
public set gapXY(value: Vector2){ public set gapXY(value: Vector2){
if (value.x < 0 || value.y < 0){
console.error("间隔必须为正数");
return;
}
this._gapX = value.x; this._gapX = value.x;
this._gapY = value.y; this._gapY = value.y;
@@ -111,7 +106,11 @@ module es {
newRectangle.height += this._gapY; newRectangle.height += this._gapY;
renderTexture.drawToTexture(this.displayObject, newRectangle); renderTexture.drawToTexture(this.displayObject, newRectangle);
this.displayObject = new Bitmap(renderTexture); if (!this.displayObject){
this.displayObject = new Bitmap(renderTexture);
}else{
(this.displayObject as Bitmap).texture = renderTexture;
}
} }
protected _sourceRect: Rectangle; protected _sourceRect: Rectangle;
@@ -128,6 +127,15 @@ module es {
bitmap.$fillMode = egret.BitmapFillMode.REPEAT; bitmap.$fillMode = egret.BitmapFillMode.REPEAT;
} }
/**
*
* @param value
*/
public setGapXY(value: Vector2): TiledSpriteRenderer {
this.gapXY = value;
return this;
}
public render(camera: es.Camera) { public render(camera: es.Camera) {
super.render(camera); super.render(camera);