Customizing Colors
Odyc.js uses a predefined color palette to render sprites, dialogs, and messages.
You can replace or adjust it however you like.
Customizing the Palette
Here is the default color palette. Click a color to copy its hex code.
These colors are based on the excellent Open Color palette.
By default, the palette contains 10 colors, referenced by characters 0
to 9
.
However, you can provide up to 62 colors in total. In that case, you can use the full range of characters to represent colors in your sprites:
0–9 → first 10 colors
a–z → next 26 colors
A–Z → final 26 colors
Each character corresponds to a position in the colors
array.
createGame({
colors: [
'red', // 0
'orange', // 1
'lab(50% 40 59.5)', // 2
'hwb(12 50% 0%)', // 3
'#f06595', // 4
'#f09', // 5
'oklch(60% 0.15 50)', // 6
'hsl(150 30% 60%)', // 7
'light-dark(white, black)', // 8
'black', // 9
'hotpink', // a
'#0000ff', // b
'#ffff00' // c
// and so on...
]
})
The colors
array can include any valid CSS color value: names, hex codes, HSL, LAB, etc.
Background Color
Use the background
option to set the background color.
createGame({
//...
background: '#ff00ff'
})
The background
value can be a CSS color or a character pointing to a color in your palette.
Dialog and Message Appearance
You can also customize the appearance of dialog and message boxes with dedicated options.
Dialog Box
dialogColor
→ text colordialogBackground
→ background colordialogBorder
→ border color
These values can be any CSS color or a character referring to a color from your palette.
createGame({
// ...
dialogBackground: '#228be6',
dialogBorder: '3',
dialogColor: 'white'
})
Note
The colors defined for the dialog box also apply to the prompt
window.
Message Box
messageColor
→ text colormessageBackground
→ background color
These also accept any valid CSS color or a palette index.
createGame({
//...
messageColor: 'red',
messageBackground: '#228be6'
})