Format warna

Nilai warna dapat diberikan dalam format HSV atau RGB atau menggunakan nama warna.

Hue-Saturation-Value

Cara paling sederhana untuk menentukan warna adalah angka antara 0-360, yang menentukan hue dalam model warna hue-saturation-value (HSV).

Spektrum warna HSV

Menggunakan HSV dengan saturasi dan nilai yang ditetapkan untuk semua warna blok memungkinkan Anda memilih warna blok sekaligus memastikan semua blok memiliki palet yang kohesif.

Saturasi dan nilai dapat disesuaikan untuk setiap aplikasi dengan memanggil fungsi berikut:

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

Beberapa pemilih warna menawarkan ruang warna HSV, seperti pemilih HSV. Masukkan konstanta nilai dan saturasinya Blockly (defaultnya masing-masing 45% dan 65%), lalu geser hue ke warna yang dipilih. Gunakan angka hue ini sebagai nilai colour.

RGB

Menggunakan ruang warna HSV sangat direkomendasikan, tetapi Blockly mendukung warna yang ditentukan sebagai string heksadesimal #RRGGBB. Meskipun hal ini dapat memfasilitasi koordinasi dengan warna aplikasi lain (misalnya, gaya dalam CSS) dan aplikasi desain (misalnya, Photoshop), ini adalah risiko desain yang dapat menyebabkan blok yang tidak terkoordinasi jika tidak dipilih dengan cermat.

Contoh warna yang dipilih dengan buruk.

Kecuali jika Anda memiliki resource desain visual khusus, sebaiknya gunakan batasan ruang warna HSV. Jika Anda mencoba mendefinisikan ulang semua warna dengan cara ini, pertimbangkan referensi Material Design Google tentang warna.

Nama warna

Anda juga dapat menentukan warna menggunakan nama warna yang ditentukan oleh W3C.

Referensi warna

Sering kali, beberapa blok memiliki warna yang sama, dan memusatkan definisi warna akan menyederhanakan pengelolaan warna dan menambahkan blok baru dengan warna yang benar. Warna blok dan kategori toolbox dapat menggunakan token lokalisasi untuk melakukannya.

Blockly menyertakan sembilan konstanta warna dalam tabel string, yang sesuai dengan kategori toolbox, ditambah warna yang berbeda untuk variabel dinamis:

'%{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}'

Nilai string ini dapat digunakan dalam definisi JSON dan block.setColour(..).

Anda dapat menambahkan konstanta warna Anda sendiri dengan menambahkan ke Blockly.Msg:

// Define the colour
Blockly.Msg['EVERYTHING_HUE'] = '42';
// Use in a block or block definition:
block.setColour('%{BKY_EVERYTHING_HUE}');

Menyimpan warna dalam tabel string pelokalan mungkin tampak tidak biasa, tetapi mudah karena notasi JSON sudah memiliki dukungan untuk referensi. Hal ini juga memungkinkan warna dilokalkan, jika diperlukan.