使用数组技术操作屏幕上的单个像素

时间:2015-07-08 09:56:03

标签: ios objective-c arrays sprite-kit

程序员告诉我,他使用数组技术操作屏幕上的单个像素,以在他的(Java?)游戏中获得非常具体的外观。这是他的结果: http://awkwardknight.com/StayGame/GIFs/day-night_cycle3.gif

这与我想要的完全相同:' lightsource' (或只是一般区域)使其周围的着色层无效,使其看起来像是照亮其附近的光。这是程序员确切的话: " Caelis呈现的方式使用表示屏幕上每个像素的像素数组并使用函数,您可以迭代并变暗/变亮您想要的任何内容。"

我无法理解如何做到这一点。我从未做过这样的事情。现在我有一个' SKShapeNode'作为我的色调层,其中alpha随时间变化(我从NSDate'中得到)。但我无法改变单个像素alpha。

有人可以解释如何编写这样的功能吗?也许一些示例代码?非常感谢,因为我不知道如何编写自定义着色器U_U

1 个答案:

答案 0 :(得分:2)

操纵屏幕上的每个像素(或点)听起来像是一种非常低效的做事方式。

要在动画中实现日/夜效果,建议您创建2个或更多图层。一天一个,一个晚上,也许一个过渡。然后将每个zPosition放置在视图中。要从一个“氛围”转换到另一个“氛围”,请使用定时alpha淡入淡出新旧淡出。