You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@GoodBoyDigital I didnt try v7 but this might be link with the same bug than here : #10491 if it use renderTexture internally, i will try the same kind of workaround and let you know.
my current workaround if anyone hit the same problem :
importStage2dfrom"@/makio/2d/Stage2d";import{RenderTexture,Sprite}from"pixi.js";exportdefaultclassNineSliceMaskextendsSprite{constructor(nineSliceSprite){letrenderTexture=newRenderTexture({antialias: true,width: nineSliceSprite.width,height: nineSliceSprite.height,})super(renderTexture)this.sprite=this.nineSliceSprite=nineSliceSpritethis.renderTexture=renderTexture// add this one to the main stage tothis.forceRefreshSprite=newSprite(this.renderTexture)this.forceRefreshSprite.alpha=0this.forceRefreshSprite.visible=falsethis.updateTexture()}drawMask(){Stage2d.app.renderer.render({container: this.nineSliceSprite,target: this.renderTexture,clear: true,})}updateTexture(){if(this.nineSliceSprite.width!=this.renderTexture.width||this.nineSliceSprite.height!=this.renderTexture.height){console.log('updatesize',this.nineSliceSprite.width,this.nineSliceSprite.height)this.renderTexture.resize(this.nineSliceSprite.width,this.nineSliceSprite.height)}this.drawMask()// force refresh on one frame, see bug :Stage2d.addChild(this.forceRefreshSprite)setTimeout(()=>{Stage2d.removeChild(this.forceRefreshSprite)},1)}}
Current Behavior
When a NineSliceSprite is set as a mask of a Sprite , the mask is ignored.
Expected Behavior
When a NineSliceSprite is set as a mask of a Sprite , the mask work.
Steps to Reproduce
Environment
pixi.js
version: 8.1.0Possible Solution
No response
Additional Information
No response
The text was updated successfully, but these errors were encountered: