Merge branch 'master' into develop
# Conflicts: # demo/libs/framework/framework.min.js # demo/src/game/MainScene.ts # source/bin/framework.min.js
This commit is contained in:
49
demo/libs/framework/framework.d.ts
vendored
49
demo/libs/framework/framework.d.ts
vendored
@@ -311,19 +311,6 @@ declare class Mesh extends RenderableComponent {
|
|||||||
render(camera: Camera): void;
|
render(camera: Camera): void;
|
||||||
reset(): void;
|
reset(): void;
|
||||||
}
|
}
|
||||||
declare class Sprite {
|
|
||||||
texture2D: egret.Texture;
|
|
||||||
readonly sourceRect: Rectangle;
|
|
||||||
readonly center: Vector2;
|
|
||||||
origin: Vector2;
|
|
||||||
readonly uvs: Rectangle;
|
|
||||||
constructor(texture: egret.Texture, sourceRect?: Rectangle, origin?: Vector2);
|
|
||||||
}
|
|
||||||
declare class SpriteAnimation {
|
|
||||||
readonly sprites: Sprite[];
|
|
||||||
readonly frameRate: number;
|
|
||||||
constructor(sprites: Sprite[], frameRate: number);
|
|
||||||
}
|
|
||||||
declare class SpriteRenderer extends RenderableComponent {
|
declare class SpriteRenderer extends RenderableComponent {
|
||||||
private _origin;
|
private _origin;
|
||||||
private _sprite;
|
private _sprite;
|
||||||
@@ -338,6 +325,35 @@ declare class SpriteRenderer extends RenderableComponent {
|
|||||||
onRemovedFromEntity(): void;
|
onRemovedFromEntity(): void;
|
||||||
reset(): void;
|
reset(): void;
|
||||||
}
|
}
|
||||||
|
declare class TiledSpriteRenderer extends SpriteRenderer {
|
||||||
|
protected sourceRect: Rectangle;
|
||||||
|
protected leftTexture: egret.Bitmap;
|
||||||
|
protected rightTexture: egret.Bitmap;
|
||||||
|
scrollX: number;
|
||||||
|
scrollY: number;
|
||||||
|
constructor(sprite: Sprite);
|
||||||
|
render(camera: Camera): void;
|
||||||
|
}
|
||||||
|
declare class ScrollingSpriteRenderer extends TiledSpriteRenderer {
|
||||||
|
scrollSpeedX: number;
|
||||||
|
scroolSpeedY: number;
|
||||||
|
private _scrollX;
|
||||||
|
private _scrollY;
|
||||||
|
update(): void;
|
||||||
|
}
|
||||||
|
declare class Sprite {
|
||||||
|
texture2D: egret.Texture;
|
||||||
|
readonly sourceRect: Rectangle;
|
||||||
|
readonly center: Vector2;
|
||||||
|
origin: Vector2;
|
||||||
|
readonly uvs: Rectangle;
|
||||||
|
constructor(texture: egret.Texture, sourceRect?: Rectangle, origin?: Vector2);
|
||||||
|
}
|
||||||
|
declare class SpriteAnimation {
|
||||||
|
readonly sprites: Sprite[];
|
||||||
|
readonly frameRate: number;
|
||||||
|
constructor(sprites: Sprite[], frameRate: number);
|
||||||
|
}
|
||||||
declare class SpriteAnimator extends SpriteRenderer {
|
declare class SpriteAnimator extends SpriteRenderer {
|
||||||
onAnimationCompletedEvent: Function;
|
onAnimationCompletedEvent: Function;
|
||||||
speed: number;
|
speed: number;
|
||||||
@@ -371,13 +387,6 @@ declare enum State {
|
|||||||
paused = 2,
|
paused = 2,
|
||||||
completed = 3
|
completed = 3
|
||||||
}
|
}
|
||||||
declare class TiledSpriteRenderer extends SpriteRenderer {
|
|
||||||
protected sourceRect: Rectangle;
|
|
||||||
scrollX: number;
|
|
||||||
scrollY: number;
|
|
||||||
constructor(sprite: Sprite);
|
|
||||||
render(camera: Camera): void;
|
|
||||||
}
|
|
||||||
interface ITriggerListener {
|
interface ITriggerListener {
|
||||||
onTriggerEnter(other: Collider, local: Collider): any;
|
onTriggerEnter(other: Collider, local: Collider): any;
|
||||||
onTriggerExit(other: Collider, local: Collider): any;
|
onTriggerExit(other: Collider, local: Collider): any;
|
||||||
|
|||||||
@@ -1548,31 +1548,6 @@ var Mesh = (function (_super) {
|
|||||||
};
|
};
|
||||||
return Mesh;
|
return Mesh;
|
||||||
}(RenderableComponent));
|
}(RenderableComponent));
|
||||||
var Sprite = (function () {
|
|
||||||
function Sprite(texture, sourceRect, origin) {
|
|
||||||
if (sourceRect === void 0) { sourceRect = new Rectangle(0, 0, texture.textureWidth, texture.textureHeight); }
|
|
||||||
if (origin === void 0) { origin = sourceRect.getHalfSize(); }
|
|
||||||
this.uvs = new Rectangle();
|
|
||||||
this.texture2D = texture;
|
|
||||||
this.sourceRect = sourceRect;
|
|
||||||
this.center = new Vector2(sourceRect.width * 0.5, sourceRect.height * 0.5);
|
|
||||||
this.origin = origin;
|
|
||||||
var inverseTexW = 1 / texture.textureWidth;
|
|
||||||
var inverseTexH = 1 / texture.textureHeight;
|
|
||||||
this.uvs.x = sourceRect.x * inverseTexW;
|
|
||||||
this.uvs.y = sourceRect.y * inverseTexH;
|
|
||||||
this.uvs.width = sourceRect.width * inverseTexW;
|
|
||||||
this.uvs.height = sourceRect.height * inverseTexH;
|
|
||||||
}
|
|
||||||
return Sprite;
|
|
||||||
}());
|
|
||||||
var SpriteAnimation = (function () {
|
|
||||||
function SpriteAnimation(sprites, frameRate) {
|
|
||||||
this.sprites = sprites;
|
|
||||||
this.frameRate = frameRate;
|
|
||||||
}
|
|
||||||
return SpriteAnimation;
|
|
||||||
}());
|
|
||||||
var SpriteRenderer = (function (_super) {
|
var SpriteRenderer = (function (_super) {
|
||||||
__extends(SpriteRenderer, _super);
|
__extends(SpriteRenderer, _super);
|
||||||
function SpriteRenderer() {
|
function SpriteRenderer() {
|
||||||
@@ -1644,6 +1619,108 @@ var SpriteRenderer = (function (_super) {
|
|||||||
};
|
};
|
||||||
return SpriteRenderer;
|
return SpriteRenderer;
|
||||||
}(RenderableComponent));
|
}(RenderableComponent));
|
||||||
|
var TiledSpriteRenderer = (function (_super) {
|
||||||
|
__extends(TiledSpriteRenderer, _super);
|
||||||
|
function TiledSpriteRenderer(sprite) {
|
||||||
|
var _this = _super.call(this) || this;
|
||||||
|
_this.leftTexture = new egret.Bitmap();
|
||||||
|
_this.rightTexture = new egret.Bitmap();
|
||||||
|
_this.leftTexture.texture = sprite.texture2D;
|
||||||
|
_this.rightTexture.texture = sprite.texture2D;
|
||||||
|
_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;
|
||||||
|
if (this.sourceRect.x < -this.sourceRect.width)
|
||||||
|
this.sourceRect.x = this.sourceRect.width;
|
||||||
|
else if (this.sourceRect.x > this.sourceRect.width)
|
||||||
|
this.sourceRect.x = -this.sourceRect.width;
|
||||||
|
},
|
||||||
|
enumerable: true,
|
||||||
|
configurable: true
|
||||||
|
});
|
||||||
|
Object.defineProperty(TiledSpriteRenderer.prototype, "scrollY", {
|
||||||
|
get: function () {
|
||||||
|
return this.sourceRect.y;
|
||||||
|
},
|
||||||
|
set: function (value) {
|
||||||
|
this.sourceRect.y = value;
|
||||||
|
if (this.sourceRect.y < -this.sourceRect.height)
|
||||||
|
this.sourceRect.y = this.sourceRect.height;
|
||||||
|
else if (this.sourceRect.y > this.sourceRect.height)
|
||||||
|
this.sourceRect.y = -this.sourceRect.height;
|
||||||
|
},
|
||||||
|
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 cacheBitmap = new egret.DisplayObjectContainer();
|
||||||
|
cacheBitmap.removeChildren();
|
||||||
|
cacheBitmap.addChild(this.leftTexture);
|
||||||
|
cacheBitmap.addChild(this.rightTexture);
|
||||||
|
this.leftTexture.x = this.sourceRect.x;
|
||||||
|
this.rightTexture.x = this.sourceRect.x + this.sourceRect.width;
|
||||||
|
this.leftTexture.y = this.sourceRect.y;
|
||||||
|
this.rightTexture.y = this.sourceRect.y;
|
||||||
|
cacheBitmap.cacheAsBitmap = true;
|
||||||
|
renderTexture.drawToTexture(cacheBitmap, new egret.Rectangle(0, 0, this.sourceRect.width, this.sourceRect.height));
|
||||||
|
this.bitmap.texture = renderTexture;
|
||||||
|
};
|
||||||
|
return TiledSpriteRenderer;
|
||||||
|
}(SpriteRenderer));
|
||||||
|
var ScrollingSpriteRenderer = (function (_super) {
|
||||||
|
__extends(ScrollingSpriteRenderer, _super);
|
||||||
|
function ScrollingSpriteRenderer() {
|
||||||
|
var _this = _super !== null && _super.apply(this, arguments) || this;
|
||||||
|
_this.scrollSpeedX = 15;
|
||||||
|
_this.scroolSpeedY = 0;
|
||||||
|
_this._scrollX = 0;
|
||||||
|
_this._scrollY = 0;
|
||||||
|
return _this;
|
||||||
|
}
|
||||||
|
ScrollingSpriteRenderer.prototype.update = function () {
|
||||||
|
this.scrollX += this.scrollSpeedX * Time.deltaTime;
|
||||||
|
this.scrollY += this.scroolSpeedY * Time.deltaTime;
|
||||||
|
this.sourceRect.x = this._scrollX;
|
||||||
|
this.sourceRect.y = this._scrollY;
|
||||||
|
};
|
||||||
|
return ScrollingSpriteRenderer;
|
||||||
|
}(TiledSpriteRenderer));
|
||||||
|
var Sprite = (function () {
|
||||||
|
function Sprite(texture, sourceRect, origin) {
|
||||||
|
if (sourceRect === void 0) { sourceRect = new Rectangle(0, 0, texture.textureWidth, texture.textureHeight); }
|
||||||
|
if (origin === void 0) { origin = sourceRect.getHalfSize(); }
|
||||||
|
this.uvs = new Rectangle();
|
||||||
|
this.texture2D = texture;
|
||||||
|
this.sourceRect = sourceRect;
|
||||||
|
this.center = new Vector2(sourceRect.width * 0.5, sourceRect.height * 0.5);
|
||||||
|
this.origin = origin;
|
||||||
|
var inverseTexW = 1 / texture.textureWidth;
|
||||||
|
var inverseTexH = 1 / texture.textureHeight;
|
||||||
|
this.uvs.x = sourceRect.x * inverseTexW;
|
||||||
|
this.uvs.y = sourceRect.y * inverseTexH;
|
||||||
|
this.uvs.width = sourceRect.width * inverseTexW;
|
||||||
|
this.uvs.height = sourceRect.height * inverseTexH;
|
||||||
|
}
|
||||||
|
return Sprite;
|
||||||
|
}());
|
||||||
|
var SpriteAnimation = (function () {
|
||||||
|
function SpriteAnimation(sprites, frameRate) {
|
||||||
|
this.sprites = sprites;
|
||||||
|
this.frameRate = frameRate;
|
||||||
|
}
|
||||||
|
return SpriteAnimation;
|
||||||
|
}());
|
||||||
var SpriteAnimator = (function (_super) {
|
var SpriteAnimator = (function (_super) {
|
||||||
__extends(SpriteAnimator, _super);
|
__extends(SpriteAnimator, _super);
|
||||||
function SpriteAnimator(sprite) {
|
function SpriteAnimator(sprite) {
|
||||||
@@ -1738,46 +1815,6 @@ var State;
|
|||||||
State[State["paused"] = 2] = "paused";
|
State[State["paused"] = 2] = "paused";
|
||||||
State[State["completed"] = 3] = "completed";
|
State[State["completed"] = 3] = "completed";
|
||||||
})(State || (State = {}));
|
})(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) {
|
var Mover = (function (_super) {
|
||||||
__extends(Mover, _super);
|
__extends(Mover, _super);
|
||||||
function Mover() {
|
function Mover() {
|
||||||
|
|||||||
49
source/bin/framework.d.ts
vendored
49
source/bin/framework.d.ts
vendored
@@ -311,19 +311,6 @@ declare class Mesh extends RenderableComponent {
|
|||||||
render(camera: Camera): void;
|
render(camera: Camera): void;
|
||||||
reset(): void;
|
reset(): void;
|
||||||
}
|
}
|
||||||
declare class Sprite {
|
|
||||||
texture2D: egret.Texture;
|
|
||||||
readonly sourceRect: Rectangle;
|
|
||||||
readonly center: Vector2;
|
|
||||||
origin: Vector2;
|
|
||||||
readonly uvs: Rectangle;
|
|
||||||
constructor(texture: egret.Texture, sourceRect?: Rectangle, origin?: Vector2);
|
|
||||||
}
|
|
||||||
declare class SpriteAnimation {
|
|
||||||
readonly sprites: Sprite[];
|
|
||||||
readonly frameRate: number;
|
|
||||||
constructor(sprites: Sprite[], frameRate: number);
|
|
||||||
}
|
|
||||||
declare class SpriteRenderer extends RenderableComponent {
|
declare class SpriteRenderer extends RenderableComponent {
|
||||||
private _origin;
|
private _origin;
|
||||||
private _sprite;
|
private _sprite;
|
||||||
@@ -338,6 +325,35 @@ declare class SpriteRenderer extends RenderableComponent {
|
|||||||
onRemovedFromEntity(): void;
|
onRemovedFromEntity(): void;
|
||||||
reset(): void;
|
reset(): void;
|
||||||
}
|
}
|
||||||
|
declare class TiledSpriteRenderer extends SpriteRenderer {
|
||||||
|
protected sourceRect: Rectangle;
|
||||||
|
protected leftTexture: egret.Bitmap;
|
||||||
|
protected rightTexture: egret.Bitmap;
|
||||||
|
scrollX: number;
|
||||||
|
scrollY: number;
|
||||||
|
constructor(sprite: Sprite);
|
||||||
|
render(camera: Camera): void;
|
||||||
|
}
|
||||||
|
declare class ScrollingSpriteRenderer extends TiledSpriteRenderer {
|
||||||
|
scrollSpeedX: number;
|
||||||
|
scroolSpeedY: number;
|
||||||
|
private _scrollX;
|
||||||
|
private _scrollY;
|
||||||
|
update(): void;
|
||||||
|
}
|
||||||
|
declare class Sprite {
|
||||||
|
texture2D: egret.Texture;
|
||||||
|
readonly sourceRect: Rectangle;
|
||||||
|
readonly center: Vector2;
|
||||||
|
origin: Vector2;
|
||||||
|
readonly uvs: Rectangle;
|
||||||
|
constructor(texture: egret.Texture, sourceRect?: Rectangle, origin?: Vector2);
|
||||||
|
}
|
||||||
|
declare class SpriteAnimation {
|
||||||
|
readonly sprites: Sprite[];
|
||||||
|
readonly frameRate: number;
|
||||||
|
constructor(sprites: Sprite[], frameRate: number);
|
||||||
|
}
|
||||||
declare class SpriteAnimator extends SpriteRenderer {
|
declare class SpriteAnimator extends SpriteRenderer {
|
||||||
onAnimationCompletedEvent: Function;
|
onAnimationCompletedEvent: Function;
|
||||||
speed: number;
|
speed: number;
|
||||||
@@ -371,13 +387,6 @@ declare enum State {
|
|||||||
paused = 2,
|
paused = 2,
|
||||||
completed = 3
|
completed = 3
|
||||||
}
|
}
|
||||||
declare class TiledSpriteRenderer extends SpriteRenderer {
|
|
||||||
protected sourceRect: Rectangle;
|
|
||||||
scrollX: number;
|
|
||||||
scrollY: number;
|
|
||||||
constructor(sprite: Sprite);
|
|
||||||
render(camera: Camera): void;
|
|
||||||
}
|
|
||||||
interface ITriggerListener {
|
interface ITriggerListener {
|
||||||
onTriggerEnter(other: Collider, local: Collider): any;
|
onTriggerEnter(other: Collider, local: Collider): any;
|
||||||
onTriggerExit(other: Collider, local: Collider): any;
|
onTriggerExit(other: Collider, local: Collider): any;
|
||||||
|
|||||||
@@ -1548,31 +1548,6 @@ var Mesh = (function (_super) {
|
|||||||
};
|
};
|
||||||
return Mesh;
|
return Mesh;
|
||||||
}(RenderableComponent));
|
}(RenderableComponent));
|
||||||
var Sprite = (function () {
|
|
||||||
function Sprite(texture, sourceRect, origin) {
|
|
||||||
if (sourceRect === void 0) { sourceRect = new Rectangle(0, 0, texture.textureWidth, texture.textureHeight); }
|
|
||||||
if (origin === void 0) { origin = sourceRect.getHalfSize(); }
|
|
||||||
this.uvs = new Rectangle();
|
|
||||||
this.texture2D = texture;
|
|
||||||
this.sourceRect = sourceRect;
|
|
||||||
this.center = new Vector2(sourceRect.width * 0.5, sourceRect.height * 0.5);
|
|
||||||
this.origin = origin;
|
|
||||||
var inverseTexW = 1 / texture.textureWidth;
|
|
||||||
var inverseTexH = 1 / texture.textureHeight;
|
|
||||||
this.uvs.x = sourceRect.x * inverseTexW;
|
|
||||||
this.uvs.y = sourceRect.y * inverseTexH;
|
|
||||||
this.uvs.width = sourceRect.width * inverseTexW;
|
|
||||||
this.uvs.height = sourceRect.height * inverseTexH;
|
|
||||||
}
|
|
||||||
return Sprite;
|
|
||||||
}());
|
|
||||||
var SpriteAnimation = (function () {
|
|
||||||
function SpriteAnimation(sprites, frameRate) {
|
|
||||||
this.sprites = sprites;
|
|
||||||
this.frameRate = frameRate;
|
|
||||||
}
|
|
||||||
return SpriteAnimation;
|
|
||||||
}());
|
|
||||||
var SpriteRenderer = (function (_super) {
|
var SpriteRenderer = (function (_super) {
|
||||||
__extends(SpriteRenderer, _super);
|
__extends(SpriteRenderer, _super);
|
||||||
function SpriteRenderer() {
|
function SpriteRenderer() {
|
||||||
@@ -1644,6 +1619,108 @@ var SpriteRenderer = (function (_super) {
|
|||||||
};
|
};
|
||||||
return SpriteRenderer;
|
return SpriteRenderer;
|
||||||
}(RenderableComponent));
|
}(RenderableComponent));
|
||||||
|
var TiledSpriteRenderer = (function (_super) {
|
||||||
|
__extends(TiledSpriteRenderer, _super);
|
||||||
|
function TiledSpriteRenderer(sprite) {
|
||||||
|
var _this = _super.call(this) || this;
|
||||||
|
_this.leftTexture = new egret.Bitmap();
|
||||||
|
_this.rightTexture = new egret.Bitmap();
|
||||||
|
_this.leftTexture.texture = sprite.texture2D;
|
||||||
|
_this.rightTexture.texture = sprite.texture2D;
|
||||||
|
_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;
|
||||||
|
if (this.sourceRect.x < -this.sourceRect.width)
|
||||||
|
this.sourceRect.x = this.sourceRect.width;
|
||||||
|
else if (this.sourceRect.x > this.sourceRect.width)
|
||||||
|
this.sourceRect.x = -this.sourceRect.width;
|
||||||
|
},
|
||||||
|
enumerable: true,
|
||||||
|
configurable: true
|
||||||
|
});
|
||||||
|
Object.defineProperty(TiledSpriteRenderer.prototype, "scrollY", {
|
||||||
|
get: function () {
|
||||||
|
return this.sourceRect.y;
|
||||||
|
},
|
||||||
|
set: function (value) {
|
||||||
|
this.sourceRect.y = value;
|
||||||
|
if (this.sourceRect.y < -this.sourceRect.height)
|
||||||
|
this.sourceRect.y = this.sourceRect.height;
|
||||||
|
else if (this.sourceRect.y > this.sourceRect.height)
|
||||||
|
this.sourceRect.y = -this.sourceRect.height;
|
||||||
|
},
|
||||||
|
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 cacheBitmap = new egret.DisplayObjectContainer();
|
||||||
|
cacheBitmap.removeChildren();
|
||||||
|
cacheBitmap.addChild(this.leftTexture);
|
||||||
|
cacheBitmap.addChild(this.rightTexture);
|
||||||
|
this.leftTexture.x = this.sourceRect.x;
|
||||||
|
this.rightTexture.x = this.sourceRect.x - this.sourceRect.width;
|
||||||
|
this.leftTexture.y = this.sourceRect.y;
|
||||||
|
this.rightTexture.y = this.sourceRect.y;
|
||||||
|
cacheBitmap.cacheAsBitmap = true;
|
||||||
|
renderTexture.drawToTexture(cacheBitmap, new egret.Rectangle(0, 0, this.sourceRect.width, this.sourceRect.height));
|
||||||
|
this.bitmap.texture = renderTexture;
|
||||||
|
};
|
||||||
|
return TiledSpriteRenderer;
|
||||||
|
}(SpriteRenderer));
|
||||||
|
var ScrollingSpriteRenderer = (function (_super) {
|
||||||
|
__extends(ScrollingSpriteRenderer, _super);
|
||||||
|
function ScrollingSpriteRenderer() {
|
||||||
|
var _this = _super !== null && _super.apply(this, arguments) || this;
|
||||||
|
_this.scrollSpeedX = 15;
|
||||||
|
_this.scroolSpeedY = 0;
|
||||||
|
_this._scrollX = 0;
|
||||||
|
_this._scrollY = 0;
|
||||||
|
return _this;
|
||||||
|
}
|
||||||
|
ScrollingSpriteRenderer.prototype.update = function () {
|
||||||
|
this.scrollX += this.scrollSpeedX * Time.deltaTime;
|
||||||
|
this.scrollY += this.scroolSpeedY * Time.deltaTime;
|
||||||
|
this.sourceRect.x = this._scrollX;
|
||||||
|
this.sourceRect.y = this._scrollY;
|
||||||
|
};
|
||||||
|
return ScrollingSpriteRenderer;
|
||||||
|
}(TiledSpriteRenderer));
|
||||||
|
var Sprite = (function () {
|
||||||
|
function Sprite(texture, sourceRect, origin) {
|
||||||
|
if (sourceRect === void 0) { sourceRect = new Rectangle(0, 0, texture.textureWidth, texture.textureHeight); }
|
||||||
|
if (origin === void 0) { origin = sourceRect.getHalfSize(); }
|
||||||
|
this.uvs = new Rectangle();
|
||||||
|
this.texture2D = texture;
|
||||||
|
this.sourceRect = sourceRect;
|
||||||
|
this.center = new Vector2(sourceRect.width * 0.5, sourceRect.height * 0.5);
|
||||||
|
this.origin = origin;
|
||||||
|
var inverseTexW = 1 / texture.textureWidth;
|
||||||
|
var inverseTexH = 1 / texture.textureHeight;
|
||||||
|
this.uvs.x = sourceRect.x * inverseTexW;
|
||||||
|
this.uvs.y = sourceRect.y * inverseTexH;
|
||||||
|
this.uvs.width = sourceRect.width * inverseTexW;
|
||||||
|
this.uvs.height = sourceRect.height * inverseTexH;
|
||||||
|
}
|
||||||
|
return Sprite;
|
||||||
|
}());
|
||||||
|
var SpriteAnimation = (function () {
|
||||||
|
function SpriteAnimation(sprites, frameRate) {
|
||||||
|
this.sprites = sprites;
|
||||||
|
this.frameRate = frameRate;
|
||||||
|
}
|
||||||
|
return SpriteAnimation;
|
||||||
|
}());
|
||||||
var SpriteAnimator = (function (_super) {
|
var SpriteAnimator = (function (_super) {
|
||||||
__extends(SpriteAnimator, _super);
|
__extends(SpriteAnimator, _super);
|
||||||
function SpriteAnimator(sprite) {
|
function SpriteAnimator(sprite) {
|
||||||
@@ -1738,46 +1815,6 @@ var State;
|
|||||||
State[State["paused"] = 2] = "paused";
|
State[State["paused"] = 2] = "paused";
|
||||||
State[State["completed"] = 3] = "completed";
|
State[State["completed"] = 3] = "completed";
|
||||||
})(State || (State = {}));
|
})(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) {
|
var Mover = (function (_super) {
|
||||||
__extends(Mover, _super);
|
__extends(Mover, _super);
|
||||||
function Mover() {
|
function Mover() {
|
||||||
|
|||||||
37
source/src/ECS/Components/ScrollingSpriteRenderer.ts
Normal file
37
source/src/ECS/Components/ScrollingSpriteRenderer.ts
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
///<reference path="./TiledSpriteRenderer.ts"/>
|
||||||
|
class ScrollingSpriteRenderer extends TiledSpriteRenderer {
|
||||||
|
public scrollSpeedX = 15;
|
||||||
|
public scroolSpeedY = 0;
|
||||||
|
private _scrollX = 0;
|
||||||
|
private _scrollY = 0;
|
||||||
|
|
||||||
|
public update(){
|
||||||
|
this._scrollX += this.scrollSpeedX * Time.deltaTime;
|
||||||
|
this._scrollY += this.scroolSpeedY * Time.deltaTime;
|
||||||
|
this.sourceRect.x = this._scrollX;
|
||||||
|
this.sourceRect.y = this._scrollY;
|
||||||
|
}
|
||||||
|
|
||||||
|
public render(camera: Camera) {
|
||||||
|
if (!this.sprite)
|
||||||
|
return;
|
||||||
|
|
||||||
|
super.render(camera);
|
||||||
|
|
||||||
|
let renderTexture = new egret.RenderTexture();
|
||||||
|
let cacheBitmap = new egret.DisplayObjectContainer();
|
||||||
|
cacheBitmap.removeChildren();
|
||||||
|
cacheBitmap.addChild(this.leftTexture);
|
||||||
|
cacheBitmap.addChild(this.rightTexture);
|
||||||
|
|
||||||
|
this.leftTexture.x = this.sourceRect.x;
|
||||||
|
this.rightTexture.x = this.sourceRect.x - this.sourceRect.width;
|
||||||
|
this.leftTexture.y = this.sourceRect.y;
|
||||||
|
this.rightTexture.y = this.sourceRect.y;
|
||||||
|
|
||||||
|
cacheBitmap.cacheAsBitmap = true;
|
||||||
|
renderTexture.drawToTexture(cacheBitmap, new egret.Rectangle(0, 0, this.sourceRect.width, this.sourceRect.height));
|
||||||
|
|
||||||
|
this.bitmap.texture = renderTexture;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,36 +1,57 @@
|
|||||||
|
///<reference path="./SpriteRenderer.ts" />
|
||||||
|
/**
|
||||||
|
* 滚动由两张图片组合而成
|
||||||
|
*/
|
||||||
class TiledSpriteRenderer extends SpriteRenderer {
|
class TiledSpriteRenderer extends SpriteRenderer {
|
||||||
protected sourceRect: Rectangle;
|
protected sourceRect: Rectangle;
|
||||||
|
protected leftTexture: egret.Bitmap;
|
||||||
|
protected rightTexture: egret.Bitmap;
|
||||||
|
|
||||||
public get scrollX(){
|
public get scrollX() {
|
||||||
return this.sourceRect.x;
|
return this.sourceRect.x;
|
||||||
}
|
}
|
||||||
public set scrollX(value: number){
|
public set scrollX(value: number) {
|
||||||
this.sourceRect.x = value;
|
this.sourceRect.x = value;
|
||||||
}
|
}
|
||||||
public get scrollY(){
|
public get scrollY() {
|
||||||
return this.sourceRect.y;
|
return this.sourceRect.y;
|
||||||
}
|
}
|
||||||
public set scrollY(value: number){
|
public set scrollY(value: number) {
|
||||||
this.sourceRect.y = value;
|
this.sourceRect.y = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
constructor(sprite: Sprite){
|
constructor(sprite: Sprite) {
|
||||||
super();
|
super();
|
||||||
|
|
||||||
|
this.leftTexture = new egret.Bitmap();
|
||||||
|
this.rightTexture = new egret.Bitmap();
|
||||||
|
this.leftTexture.texture = sprite.texture2D;
|
||||||
|
this.rightTexture.texture = sprite.texture2D;
|
||||||
|
|
||||||
this.setSprite(sprite);
|
this.setSprite(sprite);
|
||||||
this.sourceRect = sprite.sourceRect;
|
this.sourceRect = sprite.sourceRect;
|
||||||
}
|
}
|
||||||
|
|
||||||
public render(camera: Camera){
|
public render(camera: Camera) {
|
||||||
if (!this.sprite)
|
if (!this.sprite)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
super.render(camera);
|
super.render(camera);
|
||||||
|
|
||||||
let renderTexture = new egret.RenderTexture();
|
let renderTexture = new egret.RenderTexture();
|
||||||
let targetTexture = new egret.Bitmap(this.sprite.texture2D);
|
let cacheBitmap = new egret.DisplayObjectContainer();
|
||||||
let clipBounds = new egret.Rectangle(this.sourceRect.x, this.sourceRect.y, this.sourceRect.width, this.sourceRect.height);
|
cacheBitmap.removeChildren();
|
||||||
renderTexture.drawToTexture(targetTexture, clipBounds);
|
cacheBitmap.addChild(this.leftTexture);
|
||||||
|
cacheBitmap.addChild(this.rightTexture);
|
||||||
|
|
||||||
|
this.leftTexture.x = this.sourceRect.x;
|
||||||
|
this.rightTexture.x = this.sourceRect.x - this.sourceRect.width;
|
||||||
|
this.leftTexture.y = this.sourceRect.y;
|
||||||
|
this.rightTexture.y = this.sourceRect.y;
|
||||||
|
|
||||||
|
cacheBitmap.cacheAsBitmap = true;
|
||||||
|
renderTexture.drawToTexture(cacheBitmap, new egret.Rectangle(0, 0, this.sourceRect.width, this.sourceRect.height));
|
||||||
|
|
||||||
this.bitmap.texture = renderTexture;
|
this.bitmap.texture = renderTexture;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user