#21 新增gapXY用于平铺/滚动间距

This commit is contained in:
yhh
2020-08-07 15:34:42 +08:00
parent 1bf822725a
commit 463c64c628
9 changed files with 113 additions and 3 deletions

View File

@@ -1,6 +1,7 @@
///<reference path="./SpriteRenderer.ts" />
module es {
import Bitmap = egret.Bitmap;
import RenderTexture = egret.RenderTexture;
/**
* 滚动由两张图片组合而成
@@ -89,9 +90,35 @@ module es {
this._sourceRect.height = value;
}
public get gapXY(): Vector2{
return new Vector2(this._gapX, this._gapY);
}
public set gapXY(value: Vector2){
if (value.x < 0 || value.y < 0){
console.error("间隔必须为正数");
return;
}
this._gapX = value.x;
this._gapY = value.y;
let renderTexture = new RenderTexture();
let newRectangle = this.sprite.sourceRect;
newRectangle.x = 0;
newRectangle.y = 0;
newRectangle.width += this._gapX;
newRectangle.height += this._gapY;
renderTexture.drawToTexture(this.displayObject, newRectangle);
this.displayObject = new Bitmap(renderTexture);
}
protected _sourceRect: Rectangle;
protected _textureScale = Vector2.one;
protected _inverseTexScale = Vector2.one;
private _gapX = 0;
private _gapY = 0;
constructor(sprite: Sprite) {
super(sprite);