如何着色节点?

时间:2011-11-17 14:32:46

标签: cocos2d-iphone

我的游戏有白天/黑夜。是否可以为节点(及其子节点)着色?

不一定是整个场景(因为我不想给我的HUD东西着色)。我设法用半透明的960x640(视网膜)彩色图像覆盖场景......但是,也许有更有效的方法来实现这种效果。

1 个答案:

答案 0 :(得分:6)

只要实施CCRGBAProtocol,您就可以为受影响的节点着色 - 精灵,标签等。

例如,这三种颜色可用于白天,黎明和夜晚:

// full brightness
sprite.color = ccc3(255, 255, 255);
// getting darker
sprite.color = ccc3(200, 200, 220);
// night
sprite.color = ccc3(140, 140, 180);

我拉起了蓝色通道,因为蓝色仍然感觉很暗而没有消耗过多的亮度。你会在很多游戏中看到这种效果,夜晚的颜色实际上有蓝色调。保持一些颜色和亮度同时仍然给人一种黑暗的感觉是一种技巧。

这些数字不在我的头脑中,当然需要调整。你也应该瞄准一种微妙的效果。游戏中的“夜晚”并不意味着所有图形都是黑色的。