顏色值可以使用 HSV 或 RGB 格式,也可以使用顏色名稱。
色調-飽和度-明度
定義顏色最簡單的方法,就是使用介於 0 到 360 之間的數字,在色調-飽和度-值 (HSV) 色彩模型中定義色調。
使用 HSV 並為所有區塊顏色固定飽和度和值,可讓您選取區塊顏色,同時確保所有區塊共用一致的調色盤。
您可以呼叫下列函式,為每個應用程式調整飽和度和值:
Blockly.utils.colour.setHsvSaturation(0.45) // 0 (inclusive) to 1 (exclusive), defaulting to 0.45
Blockly.utils.colour.setHsvValue(0.65) // 0 (inclusive) to 1 (exclusive), defaulting to 0.65
多種顏色挑選器提供 HSV 色彩空間,例如 HSV 挑選器。輸入 Blockly 的飽和度和值常數 (預設值分別為 45% 和 65%),然後將色調滑動至所選顏色。請使用這個色調編號做為 colour
值。
RGB
我們強烈建議使用 HSV 色彩空間,但 Blockly 也支援以 #RRGGBB
十六進位字串指定的顏色。雖然這麼做可以協調其他應用程式顏色 (例如 CSS 中的樣式) 和設計應用程式 (例如Photoshop),如果未謹慎選擇,可能會導致不協調的區塊,這會造成設計風險。
除非您有專屬的視覺設計資源,否則建議您在 HSV 色彩空間的限制範圍內工作。如果您嘗試以這種方式重新定義所有顏色,請參考 Google 的 Material Design 色彩資源。
顏色名稱
您也可以使用 W3C 定義的顏色名稱指定顏色。
色彩參考資料
通常多個區塊會共用相同的顏色,將顏色定義集中管理,可簡化顏色管理作業,並新增正確顏色的新區塊。區塊顏色和工具箱類別可以使用本地化符記來達成這一點。
Blockly 在字串表格中包含九個顏色常數,對應至工具箱類別,以及動態變數的不同顏色:
'%{BKY_LOGIC_HUE}'
'%{BKY_LOOPS_HUE}'
'%{BKY_MATH_HUE}'
'%{BKY_TEXTS_HUE}'
'%{BKY_LISTS_HUE}'
'%{BKY_COLOUR_HUE}'
'%{BKY_VARIABLES_HUE}'
'%{BKY_VARIABLES_DYNAMIC_HUE}'
'%{BKY_PROCEDURES_HUE}'
這些字串值可用於 JSON 定義和 block.setColour(..)
。
您可以新增自訂顏色常數,方法是新增至 Blockly.Msg
:
// Define the colour
Blockly.Msg['EVERYTHING_HUE'] = '42';
// Use in a block or block definition:
block.setColour('%{BKY_EVERYTHING_HUE}');
在本地化字串表格中儲存顏色可能不太尋常,但由於 JSON 符號已支援參照,因此這麼做很方便。必要時,也能將顏色本地化。