如何使用Swift为非透明SKSpriteNode纹理部件着色

时间:2016-12-14 15:05:00

标签: ios swift sprite-kit pixel-shader

我正在使用Swift和Sprite Kit制作等距游戏。 我正在重新思考我在建造之前对建筑物着色的方法。

就像在每个游戏中一样,在用户构建对象之前,他必须将其移动到自由图,并且通过移动它,如果可以放置或不放置对象,节点将从绿色变为红色。

以下是一些澄清的图片:

enter image description here enter image description here

我现在在做什么,因为我在Sprite Kit中是新的:

我制作了一个SKNode - 父

我创建3个节点并将它们添加到父节点。这3个节点包含常规建筑图像,红色建筑图像和绿色建筑图像。

如果建筑物应该涂成红色,我会将节点包含绿色和常规图像。如果它需要是绿色的,我会隐藏其他两个并且涂抹去常规。

我的主要问题是:

我可以只使用常规节点,使用常规图像,并以某种方式将其覆盖为绿色或红色(但只覆盖非透明图像部分? 我正在考虑使用 Pixel Shader ,但我不确定它是否是正确的工具。

如果我不能这样做,我的下一个问题是:父母中的这三个节点是否合适?或者更改一个节点的图像更好,这取决于我是否需要显示常规的绿色或红色对象图像?

0 个答案:

没有答案