module els{ export class Renderer extends Component{ protected _renderer: egret.DisplayObjectContainer; constructor() { super(); this._renderer = new egret.DisplayObjectContainer(); } get renderer() { return this._renderer; } set renderer(value: egret.DisplayObjectContainer) { if (this._renderer != value) { this._renderer = value; } } private __onRendererRender() { let _renderer = this.renderer; if (!_renderer) return; let transform: Transform = this.gameobject.transform; _renderer.x = transform.x; _renderer.y = transform.y; _renderer.rotation = transform.rotation; _renderer.anchorOffsetX = transform.anchorOffsetX; _renderer.anchorOffsetY = transform.anchorOffsetY; _renderer.alpha = this.gameobject.alpha; _renderer.visible = this.gameobject.visible; for (let i: number = 0, l: number = _renderer.numChildren; i < l; i++){ let child: egret.DisplayObject = _renderer.getChildAt(i); child.width = transform.width; child.height = transform.height; } if (this.gameobject.snapPixelsEnabled) { _renderer.x = _renderer.x >> 0; _renderer.y = _renderer.y >> 0; _renderer.width = _renderer.width >> 0; _renderer.height = _renderer.height >> 0; _renderer.anchorOffsetX = _renderer.anchorOffsetX >> 0; _renderer.anchorOffsetX = _renderer.anchorOffsetX >> 0; } } protected onTouchEvent(event: egret.TouchEvent): void{ this.dispatchEvent(event); let gameobject: GameObject = this.gameobject; let components: Component[] = gameobject.components; if (!components) return; for (let i: number = 0, l: number = components.length; i < l; i++){ let component: Component = components[i]; let callName: string = "onT" + event.type.slice(1); let callHander: Function = component[callName]; if(callHander) callHander(event); } } } }