I would like to create the hazy/cloudy like effect seen in the images below (the hazy effect seems to be working on everything apart from the game character in front) in a way that I can time the level of cloudiness using an action. I am interested in it affecting certain sprites, not all sprites.
The easiest way to achieve this is creating a whole screen sized SpriteNode, that's filled with white. Place this over the top of all other nodes, except the nodes you don't want faded.
So if you have nodes A, B, C, D, E and F, and you want all but F to be faded, and the user's screen is to the right... like this:
A, B, C, D, E, [white layer], F -> viewer/camera here.
The opacity of the white layer can't be 100% opaque, because if it is you won't see anything other than F and the white layer. So set the white layer to about (in this case) 33% opaque, via the SKSpriteNode's alpha value. 1 is fully opaque, 0.33 is 33% opaque, or 67% transparent ;)
One other tip, you can change the blend mode of nodes, for which Additive blend mode is the best for this , but normal will be good, too.