iOS SpriteKit - 大纲SKLabel字体(SKShader)

时间:2017-07-07 09:25:54

标签: ios xcode mobile sprite-kit game-engine

我目前正在学习SpriteKit的SKEffect + SKShader在SKLabels上应用渐变色,我想知道是否有一种方法来勾勒出字体。 像这样: Image

目前,我正在使用这个代码,这样做很好,但这不应该是正确的方法。我的目标是让它更厚。

void main()
{
    vec4 color = texture2D(u_texture, v_tex_coord);
    float gradient = 0.0;

       // Black Stroke if alpha value ranges from 0.1 to 0.99
        if (color.a > 0.1 && color.a < 0.99){
            gl_FragColor = vec4(0,0,0,1);
        }
        else{
                if (v_tex_coord.y < 0.5){
                    gradient = 0.35 - v_tex_coord.y;
                }
                else if (v_tex_coord.y < 0.7){
                    gradient = -0.15 - v_tex_coord.y*0.005;
                }
                else if ( v_tex_coord.y >= 0.7){
                    gradient = -0.15 - 0.7*0.005;
                }
            color = vec4(gradient + color.r, gradient + color.g, gradient + color.b, color.a);
            color.rgb *= color.a; // set background to alpha 0
            gl_FragColor = color;
        }

}

随意查看存储库。我昨天刚刚公开发布。

https://github.com/woguan/Legend-Wings

0 个答案:

没有答案