2014-08-31 60 views
1

我開始學習Java遊戲編程,我通過看缺口的代碼通過在YouTube上的人被解釋這樣做的,所以我需要這個視頻幫助:3位顏色代碼的Java

https://www.youtube.com/watch?v=7eotyB7oNHE&list=PL8CAB66181A502179&index=5

他實施他的比賽中的顏色,我也是如此,但我不明白他們是如何工作的。他提出的顏色類的函數得到,它被稱爲是這樣的:

Colours.get(colour1, colour2, colour3, colour4);

他是用一個spritesheet要做到這一點,他將與「colour1」取代黑色,深灰色的顏色「colour2」,淺灰色「colour3」,白色「colour4」。 問題是,我不明白以下內容:如何在不使用字母的情況下獲得3位數的顏色?

謝謝!

回答

1

他使用int表示顏色。
每種顏色是由每個8個比特的4個值表示:

  • 紅色值
  • 綠色值
  • 藍值
  • 阿爾法值

int表示包那些8-位值轉換爲單個32位int數字,以便alpha值得到最高位,然後是紅色值,然後是綠色和鰭盟友,藍色值得到最低位。因此,使用逐位操作,您可以按如下方式創建顏色分量值中的int值:

public static int getColorIntRepresentationOutOfColorComponentByteValues(byte alpha, byte red, byte green, byte blue) { 
    return ((int)alpha << 24) | ((int)red << 16) | ((int)green << 8) | (int)blue; 
} 
+0

Thanks!一直在尋找答案全網:) – 2014-08-31 11:53:26