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:
YHH
2020-07-08 21:56:07 +08:00
6 changed files with 329 additions and 179 deletions

View File

@@ -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;

View File

@@ -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() {

View File

@@ -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;

View File

@@ -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() {

View 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;
}
}

View File

@@ -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;
} }
} }