2015-05-20 16 views
2

我有一個精靈代表Phaser 2.3.0中的一個字符。使用移相器更改精靈的色調

我想通過保持相同亮度的其他色調來更改此精靈中的所有紅色色調。

我不想改變其他顏色而不是紅色,所以色調屬性不幫助我。

有沒有簡單的方法來做這樣的事情?

回答

3

不,沒有「簡單」的方法來做到這一點。色調效果在整個圖像中是可加的,而不是一個顏色通道。

您可以將圖像繪製到BitmapData,然後使用其處理像素(或替換顏色)的能力來創建所需的效果。但是,如果你做了很多事情(即有很多不同的對象,動畫精靈,或大圖像,或許多不同的顏色),或者在代碼的熱點區域,那麼這不是一個好主意。它使用額外的內存,更重要的是處理時間,因爲每個像素都是重新着色的。

如果你只需要一種固定的色調顏色,並且你不需要將它應用到大量的子畫面上,那麼親自從渲染的角度來看,最快的方法是在你的精靈表中有紅色的精靈。使用更多的內存和加載時間,但將處理時間減少爲無。

完全取決於你的遊戲類型,你應該知道哪個選項聽起來最好,因爲它不是一個「適合所有人」的問題。

+0

事實上,我有一些特殊的華麗色彩,應該根據玩家選擇的另一種顏色進行更改。我想我需要做一些位圖數據操作。我期望像changeTint(from,to)這樣的魔法:)謝謝! –