修复isvisibleFromCamera剔除错误 新增setcolor方法
This commit is contained in:
1
demo/libs/framework/framework.d.ts
vendored
1
demo/libs/framework/framework.d.ts
vendored
@@ -425,6 +425,7 @@ declare class SpriteRenderer extends RenderableComponent {
|
||||
setSprite(sprite: Sprite): SpriteRenderer;
|
||||
origin: Vector2;
|
||||
setOrigin(origin: Vector2): this;
|
||||
setColor(color: number): void;
|
||||
isVisibleFromCamera(camera: Camera): boolean;
|
||||
render(camera: Camera): void;
|
||||
}
|
||||
|
||||
@@ -2026,8 +2026,22 @@ var SpriteRenderer = (function (_super) {
|
||||
}
|
||||
return this;
|
||||
};
|
||||
SpriteRenderer.prototype.setColor = function (color) {
|
||||
var colorMatrix = [
|
||||
1, 0, 0, 0, 0,
|
||||
0, 1, 0, 0, 0,
|
||||
0, 0, 1, 0, 0,
|
||||
0, 0, 0, 1, 0
|
||||
];
|
||||
colorMatrix[0] = Math.floor(color / 256 / 256) / 255;
|
||||
colorMatrix[6] = Math.floor(color / 256 % 256) / 255;
|
||||
colorMatrix[12] = color % 256 / 255;
|
||||
var colorFilter = new egret.ColorMatrixFilter(colorMatrix);
|
||||
this._bitmap.filters = [colorFilter];
|
||||
};
|
||||
SpriteRenderer.prototype.isVisibleFromCamera = function (camera) {
|
||||
this.isVisible = new Rectangle(0, 0, this.stage.stageWidth, this.stage.stageHeight).intersects(this.bounds);
|
||||
var topLeft = camera.screenToWorldPoint(new Vector2(0, 0));
|
||||
this.isVisible = new Rectangle(topLeft.x, topLeft.y, this.stage.stageWidth, this.stage.stageHeight).intersects(this.bounds);
|
||||
this._bitmap.visible = this.isVisible;
|
||||
return this.isVisible;
|
||||
};
|
||||
|
||||
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
@@ -100,7 +100,7 @@ class Main extends eui.UILayer {
|
||||
let sprite = new Sprite(RES.getRes("checkbox_select_disabled_png"));
|
||||
let scene = SceneManager.createScene("main", new MainScene(this)).setActive();
|
||||
let player = scene.createEntity("player");
|
||||
player.addComponent(new SpriteRenderer()).setSprite(sprite);
|
||||
player.addComponent(new SpriteRenderer()).setSprite(sprite).setColor(0xFF0000);
|
||||
player.addComponent(new SpawnComponent(EnemyType.worm));
|
||||
player.addComponent(new PlayerController());
|
||||
player.addComponent(new FollowCamera(player));
|
||||
|
||||
1
source/bin/framework.d.ts
vendored
1
source/bin/framework.d.ts
vendored
@@ -425,6 +425,7 @@ declare class SpriteRenderer extends RenderableComponent {
|
||||
setSprite(sprite: Sprite): SpriteRenderer;
|
||||
origin: Vector2;
|
||||
setOrigin(origin: Vector2): this;
|
||||
setColor(color: number): void;
|
||||
isVisibleFromCamera(camera: Camera): boolean;
|
||||
render(camera: Camera): void;
|
||||
}
|
||||
|
||||
@@ -2026,8 +2026,22 @@ var SpriteRenderer = (function (_super) {
|
||||
}
|
||||
return this;
|
||||
};
|
||||
SpriteRenderer.prototype.setColor = function (color) {
|
||||
var colorMatrix = [
|
||||
1, 0, 0, 0, 0,
|
||||
0, 1, 0, 0, 0,
|
||||
0, 0, 1, 0, 0,
|
||||
0, 0, 0, 1, 0
|
||||
];
|
||||
colorMatrix[0] = Math.floor(color / 256 / 256) / 255;
|
||||
colorMatrix[6] = Math.floor(color / 256 % 256) / 255;
|
||||
colorMatrix[12] = color % 256 / 255;
|
||||
var colorFilter = new egret.ColorMatrixFilter(colorMatrix);
|
||||
this._bitmap.filters = [colorFilter];
|
||||
};
|
||||
SpriteRenderer.prototype.isVisibleFromCamera = function (camera) {
|
||||
this.isVisible = new Rectangle(0, 0, this.stage.stageWidth, this.stage.stageHeight).intersects(this.bounds);
|
||||
var topLeft = camera.screenToWorldPoint(new Vector2(0, 0));
|
||||
this.isVisible = new Rectangle(topLeft.x, topLeft.y, this.stage.stageWidth, this.stage.stageHeight).intersects(this.bounds);
|
||||
this._bitmap.visible = this.isVisible;
|
||||
return this.isVisible;
|
||||
};
|
||||
|
||||
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
@@ -49,8 +49,23 @@ class SpriteRenderer extends RenderableComponent {
|
||||
return this;
|
||||
}
|
||||
|
||||
public setColor(color: number){
|
||||
let colorMatrix = [
|
||||
1, 0, 0, 0, 0,
|
||||
0, 1, 0, 0, 0,
|
||||
0, 0, 1, 0, 0,
|
||||
0, 0, 0, 1, 0
|
||||
];
|
||||
colorMatrix[0] = Math.floor(color / 256 / 256) / 255;
|
||||
colorMatrix[6] = Math.floor(color / 256 % 256) / 255;
|
||||
colorMatrix[12] = color % 256 / 255;
|
||||
let colorFilter = new egret.ColorMatrixFilter(colorMatrix);
|
||||
this._bitmap.filters = [colorFilter];
|
||||
}
|
||||
|
||||
public isVisibleFromCamera(camera: Camera): boolean{
|
||||
this.isVisible = new Rectangle(0, 0, this.stage.stageWidth, this.stage.stageHeight).intersects(this.bounds);
|
||||
let topLeft = camera.screenToWorldPoint(new Vector2(0, 0));
|
||||
this.isVisible = new Rectangle(topLeft.x, topLeft.y, this.stage.stageWidth, this.stage.stageHeight).intersects(this.bounds);
|
||||
this._bitmap.visible = this.isVisible;
|
||||
return this.isVisible;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user