美文网首页
问题:CocosCreator中,Line无法设置为不透明的。

问题:CocosCreator中,Line无法设置为不透明的。

作者: 全新的饭 | 来源:发表于2022-11-30 14:15 被阅读0次

    问题说明

    如图,Line是半透明的。


    image.png

    解决方案

    为Line配置自己创建的材质:


    image.png

    如图,Effect必须是builtin-particle-trail,否则line无法显示。
    Technique选1-alpha-blend,是为了不透明。
    自制目标颜色的图片,拖入Line的Texture中,如


    image.png
    如图,配置了Texture和Material后,Line是不透明的。
    image.png

    如果想要运行时新建不透明的Line,可以在编辑时做出上述Line作为模板,在运行时
    复制(instantiate)模板Line的Node,再获取复制出来的Node的Line组件,设置其Positions。
    如果通过AddComponent的方式新建Line,再将Line模板的相关属性(Texture、Material、Width等)设置给新建的Line,实测设置Material是不成功的。效果如下图。


    左:编辑时已做好的Line模板,右:运行时通过AddComponent生成的Line
            const line = this._lineTemplate.node.addComponent(Line);
            line.texture = this._lineTemplate.texture;
            line.material = this._lineTemplate.material;
            line.positions = ([new Vec3(2, 0, 0), new Vec3(2, 5, 0)]) as never[];
            line.width = this._lineTemplate.width;
            // line.enabled = false;
            // line.enabled = true;
    

    相关文章

      网友评论

          本文标题:问题:CocosCreator中,Line无法设置为不透明的。

          本文链接:https://www.haomeiwen.com/subject/jnfsfdtx.html