okgame / pixi-renderers /spriteruntimeobject-pixi-renderer.js
zshashz's picture
init
8998596
var gdjs;(function(r){class s{constructor(t,e){this._spriteDirty=!0;this._textureDirty=!0;this._cachedWidth=0;this._cachedHeight=0;this._object=t;const i=e.getGame().getImageManager();this._sprite=new PIXI.Sprite(i.getInvalidPIXITexture());const a=e.getLayer("");a&&a.getRenderer().addRendererObject(this._sprite,t.getZOrder())}reinitialize(t,e){this._object=t,this._spriteDirty=!0,this._textureDirty=!0,this._sprite.tint=16777215;const i=e.getLayer("");i&&i.getRenderer().addRendererObject(this._sprite,t.getZOrder())}getRendererObject(){return this._sprite}_updatePIXISprite(){const t=this._object._animator.getCurrentFrame();if(t!==null){const e=this._object._scaleX*this._object._preScale,i=this._object._scaleY*this._object._preScale;this._sprite.anchor.x=t.center.x/this._sprite.texture.frame.width,this._sprite.anchor.y=t.center.y/this._sprite.texture.frame.height,this._sprite.position.x=this._object.x+(t.center.x-t.origin.x)*Math.abs(e),this._sprite.position.y=this._object.y+(t.center.y-t.origin.y)*Math.abs(i),this._sprite.rotation=r.toRad(this._object.angle),this._sprite.visible=!this._object.hidden,this._sprite.blendMode=this._object._blendMode,this._sprite.alpha=this._object.opacity/255,this._sprite.scale.x=e,this._sprite.scale.y=i,this._cachedWidth=Math.abs(this._sprite.width),this._cachedHeight=Math.abs(this._sprite.height)}else this._sprite.visible=!1,this._sprite.alpha=0,this._cachedWidth=0,this._cachedHeight=0;this._spriteDirty=!1}ensureUpToDate(){this._spriteDirty&&this._updatePIXISprite()}updateFrame(t){this._spriteDirty=!0,this._sprite.texture=t.texture}update(){this._spriteDirty=!0}updateX(){const t=this._object._animator.getCurrentFrame();this._sprite.position.x=this._object.x+(t.center.x-t.origin.x)*Math.abs(this._object._scaleX*this._object._preScale)}updateY(){const t=this._object._animator.getCurrentFrame();this._sprite.position.y=this._object.y+(t.center.y-t.origin.y)*Math.abs(this._object._scaleY*this._object._preScale)}updateAngle(){this._sprite.rotation=r.toRad(this._object.angle)}updateOpacity(){this._sprite.alpha=this._object.opacity/255}updateVisibility(){this._sprite.visible=!this._object.hidden}setColor(t){this._sprite.tint=r.rgbOrHexStringToNumber(t)}getColor(){const t=new PIXI.Color(this._sprite.tint).toRgbArray();return Math.floor(t[0]*255)+";"+Math.floor(t[1]*255)+";"+Math.floor(t[2]*255)}getWidth(){return this._spriteDirty&&this._updatePIXISprite(),this._cachedWidth}getHeight(){return this._spriteDirty&&this._updatePIXISprite(),this._cachedHeight}getUnscaledWidth(){return this._sprite.texture.frame.width}getUnscaledHeight(){return this._sprite.texture.frame.height}static getAnimationFrameTextureManager(t){return t._pixiAnimationFrameTextureManager||(t._pixiAnimationFrameTextureManager=new n(t)),t._pixiAnimationFrameTextureManager}}r.SpriteRuntimeObjectPixiRenderer=s;class n{constructor(t){this._imageManager=t}getAnimationFrameTexture(t){return this._imageManager.getPIXITexture(t)}getAnimationFrameWidth(t){return t.width}getAnimationFrameHeight(t){return t.height}}r.SpriteRuntimeObjectRenderer=s})(gdjs||(gdjs={}));
//# sourceMappingURL=spriteruntimeobject-pixi-renderer.js.map