1
我的遊戲有白天晚上。是否有可能給節點(和他們的孩子)染色?如何着色節點?
不一定是整個現場(因爲我不想色調我的HUD的東西)。我設法用半透明,960x640(視網膜)彩色圖像覆蓋場景...但是,也許有一種更有效的方法來實現這種效果。
我的遊戲有白天晚上。是否有可能給節點(和他們的孩子)染色?如何着色節點?
不一定是整個現場(因爲我不想色調我的HUD的東西)。我設法用半透明,960x640(視網膜)彩色圖像覆蓋場景...但是,也許有一種更有效的方法來實現這種效果。
只要實施CCRGBAProtocol,您就可以對受影響的節點 - 精靈,標籤等進行着色。
例如這三種顏色,可用於白天,黎明和夜晚:
// full brightness
sprite.color = ccc3(255, 255, 255);
// getting darker
sprite.color = ccc3(200, 200, 220);
// night
sprite.color = ccc3(140, 140, 180);
我拉起藍色通道,因爲藍色還是覺得挺黑,而不消耗過多的亮度。你會在很多遊戲中看到這種效果,夜晚的顏色對他們來說實際上是藍色的。在保持黑暗感的同時保留一些顏色和亮度是一種技巧。
這些數字不在我頭頂,當然需要調整。你也應該瞄準一個微妙的效果。遊戲中的「夜」並不意味着所有的圖形都是黑色的。
我想我不能着色整個瓷磚地圖。當然,我可以遍歷它中的每一個瓦片並着色,但這聽起來並不高效。 – Voldemort
是的,但你沒有提到瓷磚地圖。 ;)您可以更改每個拼貼的顏色,但會將每個拼貼轉換爲CCSprite,這意味着每個拼貼大約有420字節的內存使用量。對於所有拼貼變成CCSprite的200x200的地圖,會消耗16 MB的內存。 – LearnCocos2D
如果我編輯瓷磚的顏色,瓷磚「被轉換爲CCSprite」?那麼在做這樣的事情之前,瓦片是什麼?爲什麼?還有什麼其他的東西可以把一個tile轉換成CCSprite?這樣的事情是否可逆? – Voldemort