Cocos creator 3.4 Sprite去掉了blend属性这个特效如何实现

我项目是从cocos creator 2.4升级上来的。发现Sprite的blend属性被去掉了。如何实现两个spriteframe叠加强光的特效。我贴出cocos creator 2.4时候我的代码

                let qiangTeXiaoNode = new cc.Node();
                qiangTeXiaoNode.addComponent("cc.Sprite");
                qiangTeXiaoNode.opacity = 70;
                qiangTeXiaoNode.getComponent("cc.Sprite").dstBlendFactor = cc.macro.BlendFactor.ONE; //主要是此处dstBlendFactor 被去掉了
                qiangTeXiaoNode.name = "qiangguang";
                qiangTeXiaoNode.parent = this.honeNode;
                qiangTeXiaoNode.getComponent("cc.Sprite").spriteFrame = this._colorAtlas.getSpriteFrame("hong");
                cc.tween(qiangTeXiaoNode).to(0.033*7, {opacity: 250}, {easing:'quadOut'}).start();
1赞

看有没有帮助:

感谢,我用你提供的思路成功实现

    const mat = new CC.Material();
    mat.initialize({

        // 通过 effect 名指定材质使用的着色器资源

        effectName: 'builtin-sprite',

        defines: {

            USE_TEXTURE: true

        },

        states:[{

            blendState:{

                blendColor:CC.Color.WHITE,

                targets:[{

                    blend: true,

                    blendSrc: CC.gfx.BlendFactor.ONE,

                    blendDst: CC.gfx.BlendFactor.ONE,

                    // blendEq: CC.gfx.BlendOp.ADD,

                    // blendAlphaEq: CC.gfx.BlendOp.ADD,

                    // blendSrcAlpha: CC.gfx.BlendFactor.ONE,

                    // blendDstAlpha: CC.gfx.BlendFactor.ONE_MINUS_SRC_ALPHA

                }]

            }

        }]

    });

    sprite.customMaterial = mat;

该主题在最后一个回复创建后14天后自动关闭。不再允许新的回复。