Pixel Vision 8 BackgroundColor() Lua Tutorial

The background color is used to fill the screen when clearing the display. You can use this method to read or update the background color at runtime. When calling BackgroundColor() without an argument, it returns the current background color offset as an int. You can pass in an optional intto shift the background color by calling BackgroundColor(offset), where offset is any valid between 0 and 255.

Passing in a value such as -1, or one that is out of range will default to the first system color unless the ColorChip’sdebugColor property is set to true. In debug color mode, any out of bounds color IDs will display Magenta (#ff00ff), which is the engine's default transparent color.

Usage

BackgroundColor ( id )

Arguments

NameValueDescription
idintThis argument is optional. Supply an int to offset the default background color value by.

Returns

ValueDescription
intThis method returns the current background color offset. If no color exists, it returns 0 which is the default background color offset.

BackgroundColor Example

In this example, we will display the default background color on the display, then change it, and redraw the new value below it.

Running this code will output the following:

BackgroundColorOutput_image_0.png

Learn more about making Pixel Vision 8 games by checking out the docs.

Step 1

Create a new file called code.lua.{1} in your project folder.

Step 2

Create a new function called Init():

01 function Init()
02 
03 end

Step 3

Add the following code to the script:

02   DrawText("BackgroundColor()", 1, 1, DrawMode.Tile, "large", 15)
03   DrawText("Lua Example", 8, 16, DrawMode.TilemapCache, "medium", 15, -4)

Example Title

Step 4

Create a new local variable called defaultColor inside the script:

04   local defaultColor = BackgroundColor()

Get the current background color

Step 5

Add the following code to the script:

05   DrawText("Default Color " .. defaultColor, 1, 4, DrawMode.Tile, "large", 15)

Draw the default background color ID to the display

Step 6

Create a new local variable called newColor inside the script:

06   local newColor = BackgroundColor(1)

Here we are manually changing the background color

Step 7

Add the following code to the script:

07   DrawText("New Color " .. newColor, 1, 6, DrawMode.Tile, "large", 15)

Draw the new color ID to the display

Step 8

Create a new function called Draw():

09 function Draw()
10 
11 end

Step 9

Add the following code to the script:

10   RedrawDisplay()

Redraw the display

Final Code

When you are done, you should have the following code in the code.lua file:

01 function Init()
02   DrawText("BackgroundColor()", 1, 1, DrawMode.Tile, "large", 15)
03   DrawText("Lua Example", 8, 16, DrawMode.TilemapCache, "medium", 15, -4)
04   local defaultColor = BackgroundColor()
05   DrawText("Default Color " .. defaultColor, 1, 4, DrawMode.Tile, "large", 15)
06   local newColor = BackgroundColor(1)
07   DrawText("New Color " .. newColor, 1, 6, DrawMode.Tile, "large", 15)
08 end
09 function Draw()
10   RedrawDisplay()
11 end