分配给场景的着色器无法正常工作

时间:2015-05-02 21:24:00

标签: ios swift sprite-kit glsl

我一直在尝试在iOS应用程序中创建自定义着色器以添加后处理效果。因此,我将着色器指定给场景,并以奇怪的方式查看它是如何受到影响的。看起来我的场景有位移......你能不能指出我错了。我相信有一个简单的解释我没有得到:) 提前谢谢。

我的测试代码:

 JSONObject usuari = new JSONObject();
            try {
                usuari.put("idProducte", params[0]);
                usuari.put("idusuari", params[1]);
            } catch (JSONException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            try {
                String url = getResources().getString(R.string.IPAPI) + "produsuaris/produsuari";
                Log.d("CURL", "curl -X DELETE -d '" + usuari.toString() + "' " + url);

                Builders.Any.F builder = Ion.with(getActivity().getApplicationContext())
                        .load(HttpDelete.METHOD_NAME, url)
                        .setTimeout(15000).setStringBody(usuari.toString());


                String response = builder.toString();
                Log.d("TEST", "Req response -->" + response);
            }
            catch (Exception ex){
                resul = false;
            }

我的简单着色器无效:

var shader = SKShader(fileNamed: "Effect.fsh")

self.shouldEnableEffects = true
self.shader = shader

var node = SKSpriteNode(color: UIColor.blueColor(), size: size)
node.position = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMidY(self.frame))

self.addChild(node)

1 个答案:

答案 0 :(得分:0)

尝试使用着色器创建模糊效果时我也遇到了这个问题SKEffectNode SKScene实际上是SKEffectNode的子类,所以我相信我们遇到了同样的问题。 #39;我非常确定偏移量是着色器和SKEffectNode的错误。

我的建议是看看是否有另一种方法可以达到你想要的效果?也许您可以申请使用shader上的SKSpriteNode属性?这只会将着色器应用于该特定节点。

在我的情况下,我能够调整xScale yScale的{​​{1}}和SKEffectNode,这会使事情变得稍微好一些,但是尝试获取它会非常麻烦在正确的地方,我会先看看是否有另一种解决方案。

祝你好运!