新增renderableComponent 用于控制可渲染组件的基类 不要在transform当中直接更改目标属性
This commit is contained in:
@@ -98,14 +98,7 @@ class Camera extends Component {
|
||||
}
|
||||
|
||||
public update(){
|
||||
SceneManager.getActiveScene().entities.buffer.forEach(entity => entity.components.buffer.forEach(component => {
|
||||
if (component.displayRender){
|
||||
let has = this.entity.scene.$children.indexOf(component.displayRender)
|
||||
if (has == -1){
|
||||
this.entity.scene.stage.addChild(component.displayRender);
|
||||
}
|
||||
}
|
||||
}));
|
||||
|
||||
}
|
||||
|
||||
public setPosition(position: Vector2){
|
||||
|
||||
6
source/src/ECS/Components/RenderableComponent.ts
Normal file
6
source/src/ECS/Components/RenderableComponent.ts
Normal file
@@ -0,0 +1,6 @@
|
||||
/**
|
||||
* 所有可渲染组件的基类
|
||||
*/
|
||||
abstract class RenderableComponent extends Component {
|
||||
|
||||
}
|
||||
24
source/src/ECS/Components/SpriteRenderer.ts
Normal file
24
source/src/ECS/Components/SpriteRenderer.ts
Normal file
@@ -0,0 +1,24 @@
|
||||
class SpriteRenderer extends RenderableComponent {
|
||||
private _sprite: egret.DisplayObject;
|
||||
private _origin: Vector2;
|
||||
|
||||
public get sprite(){
|
||||
return this._sprite;
|
||||
}
|
||||
|
||||
public set sprite(value: egret.DisplayObject){
|
||||
this.setSprite(value);
|
||||
}
|
||||
|
||||
public setSprite(sprite: egret.DisplayObject): SpriteRenderer{
|
||||
this._sprite = sprite;
|
||||
if (this._sprite)
|
||||
this._origin = new Vector2(this._sprite.anchorOffsetX, this._sprite.anchorOffsetY);
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
public initialize() {
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user