新增tiledspriterenderer
This commit is contained in:
9
demo/libs/framework/framework.d.ts
vendored
9
demo/libs/framework/framework.d.ts
vendored
@@ -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;
|
||||
|
||||
@@ -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() {
|
||||
|
||||
2
demo/libs/framework/framework.min.js
vendored
2
demo/libs/framework/framework.min.js
vendored
File diff suppressed because one or more lines are too long
9
source/bin/framework.d.ts
vendored
9
source/bin/framework.d.ts
vendored
@@ -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;
|
||||
|
||||
@@ -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() {
|
||||
|
||||
2
source/bin/framework.min.js
vendored
2
source/bin/framework.min.js
vendored
File diff suppressed because one or more lines are too long
@@ -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;
|
||||
}
|
||||
|
||||
36
source/src/ECS/Components/TiledSpriteRenderer.ts
Normal file
36
source/src/ECS/Components/TiledSpriteRenderer.ts
Normal 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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user