瀏覽代碼

Canvas2D Fix: spread of Opacity and Render Mode is now correct

nockawa 9 年之前
父節點
當前提交
aea4d65abd
共有 2 個文件被更改,包括 3 次插入1 次删除
  1. 2 0
      src/Canvas2d/babylon.prim2dBase.ts
  2. 1 1
      src/Canvas2d/babylon.renderablePrim2d.ts

+ 2 - 0
src/Canvas2d/babylon.prim2dBase.ts

@@ -2748,6 +2748,8 @@
         protected _spreadActualOpacityChanged() {
             for (let child of this._children) {
                 child._setFlags(SmartPropertyPrim.flagActualOpacityDirty);
+                child._updateRenderMode();
+                child.onPrimBecomesDirty();
                 child._spreadActualOpacityChanged();
             }
         }

+ 1 - 1
src/Canvas2d/babylon.renderablePrim2d.ts

@@ -359,7 +359,7 @@
          * The setter should be used only by implementers of new primitive type.
          */
         public get isTransparent(): boolean {
-            return (this._opacity<1) || this._shouldUseAlphaFromTexture() || this._isPrimTransparent();
+            return (this.actualOpacity<1) || this._shouldUseAlphaFromTexture() || this._isPrimTransparent();
         }
 
         public get renderMode(): number {