新增tiledspriterenderer

This commit is contained in:
yhh
2020-07-03 17:51:18 +08:00
parent e7796550c6
commit cf4e76b12d
8 changed files with 141 additions and 11 deletions

View File

@@ -326,8 +326,8 @@ declare class SpriteAnimation {
}
declare class SpriteRenderer extends RenderableComponent {
private _origin;
private _bitmap;
private _sprite;
protected bitmap: egret.Bitmap;
origin: Vector2;
setOrigin(origin: Vector2): this;
sprite: Sprite;
@@ -371,6 +371,13 @@ declare enum State {
paused = 2,
completed = 3
}
declare class TiledSpriteRenderer extends SpriteRenderer {
protected sourceRect: Rectangle;
scrollX: number;
scrollY: number;
constructor(sprite: Sprite);
render(camera: Camera): void;
}
interface ITriggerListener {
onTriggerEnter(other: Collider, local: Collider): any;
onTriggerExit(other: Collider, local: Collider): any;

View File

@@ -1609,8 +1609,8 @@ var SpriteRenderer = (function (_super) {
this._sprite = sprite;
if (this._sprite)
this._origin = this._sprite.origin;
this._bitmap = new egret.Bitmap(sprite.texture2D);
this.addChild(this._bitmap);
this.bitmap = new egret.Bitmap(sprite.texture2D);
this.addChild(this.bitmap);
return this;
};
SpriteRenderer.prototype.setColor = function (color) {
@@ -1738,6 +1738,46 @@ var State;
State[State["paused"] = 2] = "paused";
State[State["completed"] = 3] = "completed";
})(State || (State = {}));
var TiledSpriteRenderer = (function (_super) {
__extends(TiledSpriteRenderer, _super);
function TiledSpriteRenderer(sprite) {
var _this = _super.call(this) || this;
_this.setSprite(sprite);
_this.sourceRect = sprite.sourceRect;
return _this;
}
Object.defineProperty(TiledSpriteRenderer.prototype, "scrollX", {
get: function () {
return this.sourceRect.x;
},
set: function (value) {
this.sourceRect.x = value;
},
enumerable: true,
configurable: true
});
Object.defineProperty(TiledSpriteRenderer.prototype, "scrollY", {
get: function () {
return this.sourceRect.y;
},
set: function (value) {
this.sourceRect.y = value;
},
enumerable: true,
configurable: true
});
TiledSpriteRenderer.prototype.render = function (camera) {
if (!this.sprite)
return;
_super.prototype.render.call(this, camera);
var renderTexture = new egret.RenderTexture();
var targetTexture = new egret.Bitmap(this.sprite.texture2D);
var clipBounds = new egret.Rectangle(this.sourceRect.x, this.sourceRect.y, this.sourceRect.width, this.sourceRect.height);
renderTexture.drawToTexture(targetTexture, clipBounds);
this.bitmap.texture = renderTexture;
};
return TiledSpriteRenderer;
}(SpriteRenderer));
var Mover = (function (_super) {
__extends(Mover, _super);
function Mover() {

File diff suppressed because one or more lines are too long

View File

@@ -326,8 +326,8 @@ declare class SpriteAnimation {
}
declare class SpriteRenderer extends RenderableComponent {
private _origin;
private _bitmap;
private _sprite;
protected bitmap: egret.Bitmap;
origin: Vector2;
setOrigin(origin: Vector2): this;
sprite: Sprite;
@@ -371,6 +371,13 @@ declare enum State {
paused = 2,
completed = 3
}
declare class TiledSpriteRenderer extends SpriteRenderer {
protected sourceRect: Rectangle;
scrollX: number;
scrollY: number;
constructor(sprite: Sprite);
render(camera: Camera): void;
}
interface ITriggerListener {
onTriggerEnter(other: Collider, local: Collider): any;
onTriggerExit(other: Collider, local: Collider): any;

View File

@@ -1609,8 +1609,8 @@ var SpriteRenderer = (function (_super) {
this._sprite = sprite;
if (this._sprite)
this._origin = this._sprite.origin;
this._bitmap = new egret.Bitmap(sprite.texture2D);
this.addChild(this._bitmap);
this.bitmap = new egret.Bitmap(sprite.texture2D);
this.addChild(this.bitmap);
return this;
};
SpriteRenderer.prototype.setColor = function (color) {
@@ -1738,6 +1738,46 @@ var State;
State[State["paused"] = 2] = "paused";
State[State["completed"] = 3] = "completed";
})(State || (State = {}));
var TiledSpriteRenderer = (function (_super) {
__extends(TiledSpriteRenderer, _super);
function TiledSpriteRenderer(sprite) {
var _this = _super.call(this) || this;
_this.setSprite(sprite);
_this.sourceRect = sprite.sourceRect;
return _this;
}
Object.defineProperty(TiledSpriteRenderer.prototype, "scrollX", {
get: function () {
return this.sourceRect.x;
},
set: function (value) {
this.sourceRect.x = value;
},
enumerable: true,
configurable: true
});
Object.defineProperty(TiledSpriteRenderer.prototype, "scrollY", {
get: function () {
return this.sourceRect.y;
},
set: function (value) {
this.sourceRect.y = value;
},
enumerable: true,
configurable: true
});
TiledSpriteRenderer.prototype.render = function (camera) {
if (!this.sprite)
return;
_super.prototype.render.call(this, camera);
var renderTexture = new egret.RenderTexture();
var targetTexture = new egret.Bitmap(this.sprite.texture2D);
var clipBounds = new egret.Rectangle(this.sourceRect.x, this.sourceRect.y, this.sourceRect.width, this.sourceRect.height);
renderTexture.drawToTexture(targetTexture, clipBounds);
this.bitmap.texture = renderTexture;
};
return TiledSpriteRenderer;
}(SpriteRenderer));
var Mover = (function (_super) {
__extends(Mover, _super);
function Mover() {

File diff suppressed because one or more lines are too long

View File

@@ -1,7 +1,7 @@
class SpriteRenderer extends RenderableComponent {
private _origin: Vector2;
private _bitmap: egret.Bitmap;
private _sprite: Sprite;
protected bitmap: egret.Bitmap;
public get origin(){
return this._origin;
@@ -28,8 +28,8 @@ class SpriteRenderer extends RenderableComponent {
this.removeChildren();
this._sprite = sprite;
if (this._sprite) this._origin = this._sprite.origin;
this._bitmap = new egret.Bitmap(sprite.texture2D);
this.addChild(this._bitmap);
this.bitmap = new egret.Bitmap(sprite.texture2D);
this.addChild(this.bitmap);
return this;
}

View File

@@ -0,0 +1,36 @@
class TiledSpriteRenderer extends SpriteRenderer {
protected sourceRect: Rectangle;
public get scrollX(){
return this.sourceRect.x;
}
public set scrollX(value: number){
this.sourceRect.x = value;
}
public get scrollY(){
return this.sourceRect.y;
}
public set scrollY(value: number){
this.sourceRect.y = value;
}
constructor(sprite: Sprite){
super();
this.setSprite(sprite);
this.sourceRect = sprite.sourceRect;
}
public render(camera: Camera){
if (!this.sprite)
return;
super.render(camera);
let renderTexture = new egret.RenderTexture();
let targetTexture = new egret.Bitmap(this.sprite.texture2D);
let clipBounds = new egret.Rectangle(this.sourceRect.x, this.sourceRect.y, this.sourceRect.width, this.sourceRect.height);
renderTexture.drawToTexture(targetTexture, clipBounds);
this.bitmap.texture = renderTexture;
}
}