diff --git a/demo/libs/framework/framework.d.ts b/demo/libs/framework/framework.d.ts
index 6bcec3d0..1ca79471 100644
--- a/demo/libs/framework/framework.d.ts
+++ b/demo/libs/framework/framework.d.ts
@@ -311,19 +311,6 @@ declare class Mesh extends RenderableComponent {
render(camera: Camera): 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 {
private _origin;
private _sprite;
@@ -338,6 +325,35 @@ declare class SpriteRenderer extends RenderableComponent {
onRemovedFromEntity(): 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 {
onAnimationCompletedEvent: Function;
speed: number;
@@ -371,13 +387,6 @@ 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;
diff --git a/demo/libs/framework/framework.js b/demo/libs/framework/framework.js
index b0e10756..230da8d3 100644
--- a/demo/libs/framework/framework.js
+++ b/demo/libs/framework/framework.js
@@ -1548,31 +1548,6 @@ var Mesh = (function (_super) {
};
return Mesh;
}(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) {
__extends(SpriteRenderer, _super);
function SpriteRenderer() {
@@ -1644,6 +1619,108 @@ var SpriteRenderer = (function (_super) {
};
return SpriteRenderer;
}(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) {
__extends(SpriteAnimator, _super);
function SpriteAnimator(sprite) {
@@ -1738,46 +1815,6 @@ 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() {
diff --git a/source/bin/framework.d.ts b/source/bin/framework.d.ts
index 6bcec3d0..1ca79471 100644
--- a/source/bin/framework.d.ts
+++ b/source/bin/framework.d.ts
@@ -311,19 +311,6 @@ declare class Mesh extends RenderableComponent {
render(camera: Camera): 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 {
private _origin;
private _sprite;
@@ -338,6 +325,35 @@ declare class SpriteRenderer extends RenderableComponent {
onRemovedFromEntity(): 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 {
onAnimationCompletedEvent: Function;
speed: number;
@@ -371,13 +387,6 @@ 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;
diff --git a/source/bin/framework.js b/source/bin/framework.js
index b0e10756..c5fa6467 100644
--- a/source/bin/framework.js
+++ b/source/bin/framework.js
@@ -1548,31 +1548,6 @@ var Mesh = (function (_super) {
};
return Mesh;
}(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) {
__extends(SpriteRenderer, _super);
function SpriteRenderer() {
@@ -1644,6 +1619,108 @@ var SpriteRenderer = (function (_super) {
};
return SpriteRenderer;
}(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) {
__extends(SpriteAnimator, _super);
function SpriteAnimator(sprite) {
@@ -1738,46 +1815,6 @@ 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() {
diff --git a/source/src/ECS/Components/ScrollingSpriteRenderer.ts b/source/src/ECS/Components/ScrollingSpriteRenderer.ts
new file mode 100644
index 00000000..f2e1ba30
--- /dev/null
+++ b/source/src/ECS/Components/ScrollingSpriteRenderer.ts
@@ -0,0 +1,37 @@
+///
+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;
+ }
+}
\ No newline at end of file
diff --git a/source/src/ECS/Components/TiledSpriteRenderer.ts b/source/src/ECS/Components/TiledSpriteRenderer.ts
index 79a2e596..e5b097f4 100644
--- a/source/src/ECS/Components/TiledSpriteRenderer.ts
+++ b/source/src/ECS/Components/TiledSpriteRenderer.ts
@@ -1,36 +1,57 @@
+///
+/**
+ * 滚动由两张图片组合而成
+ */
class TiledSpriteRenderer extends SpriteRenderer {
protected sourceRect: Rectangle;
+ protected leftTexture: egret.Bitmap;
+ protected rightTexture: egret.Bitmap;
- public get scrollX(){
+ public get scrollX() {
return this.sourceRect.x;
}
- public set scrollX(value: number){
+ public set scrollX(value: number) {
this.sourceRect.x = value;
}
- public get scrollY(){
+ public get scrollY() {
return this.sourceRect.y;
}
- public set scrollY(value: number){
+ public set scrollY(value: number) {
this.sourceRect.y = value;
}
- constructor(sprite: Sprite){
+ constructor(sprite: Sprite) {
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.sourceRect = sprite.sourceRect;
}
- public render(camera: Camera){
+ 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);
+ 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;
}
}
\ No newline at end of file