Difference between revisions of "love.graphics.clear"

m
m
Line 4: Line 4:
  
 
Note that the [[love.graphics.setScissor|scissor area]] bounds the cleared region.
 
Note that the [[love.graphics.setScissor|scissor area]] bounds the cleared region.
 +
 +
In versions prior to [[11.0]], color component values were within the range of 0 to 255 instead of 0 to 1.
  
 
In versions prior to [[0.10.0]], this function clears the screen to the currently set [[love.graphics.setBackgroundColor|background color]] instead.
 
In versions prior to [[0.10.0]], this function clears the screen to the currently set [[love.graphics.setBackgroundColor|background color]] instead.
Line 28: Line 30:
 
{{param|number|g|The green channel of the color to clear the screen to.}}
 
{{param|number|g|The green channel of the color to clear the screen to.}}
 
{{param|number|b|The blue channel of the color to clear the screen to.}}
 
{{param|number|b|The blue channel of the color to clear the screen to.}}
{{param|number|a (255)|The alpha channel of the color to clear the screen to.}}
+
{{param|number|a (1)|The alpha channel of the color to clear the screen to.}}
  
 
=== Returns ===
 
=== Returns ===
Line 64: Line 66:
 
         -- Draw lines from the screen's origin to a random x and y coordinate.
 
         -- Draw lines from the screen's origin to a random x and y coordinate.
 
         local rx, ry = love.math.random( 0, love.graphics.getWidth() ), love.math.random( 0, love.graphics.getHeight() )
 
         local rx, ry = love.math.random( 0, love.graphics.getWidth() ), love.math.random( 0, love.graphics.getHeight() )
         love.graphics.setColor( love.math.random( 255 ), 0, 0 )
+
         love.graphics.setColor( love.math.random( ), 0, 0 )
 
         love.graphics.line( 0, 0, rx, ry )
 
         love.graphics.line( 0, 0, rx, ry )
         love.graphics.setColor( 255, 255, 255 )
+
         love.graphics.setColor( 1, 1, 1 )
 
     end)
 
     end)
 
end
 
end

Revision as of 11:05, 3 April 2018

Clears the screen or active Canvas to the specified color.

This function is called automatically before love.draw in the default love.run function. See the example in love.run for a typical use of this function.

Note that the scissor area bounds the cleared region.

In versions prior to 11.0, color component values were within the range of 0 to 255 instead of 0 to 1.

In versions prior to 0.10.0, this function clears the screen to the currently set background color instead.

Function

Clears the screen to the background color in 0.9.2 and earlier, or to transparent black (0, 0, 0, 0) in LÖVE 0.10.0 and newer.

Synopsis

love.graphics.clear( )

Arguments

None.

Returns

Nothing.

Function

Available since LÖVE 0.10.0
This variant is not supported in earlier versions.

Clears the screen or active Canvas to the specified color.

Synopsis

love.graphics.clear( r, g, b, a )

Arguments

number r
The red channel of the color to clear the screen to.
number g
The green channel of the color to clear the screen to.
number b
The blue channel of the color to clear the screen to.
number a (1)
The alpha channel of the color to clear the screen to.

Returns

Nothing.

Function

Available since LÖVE 0.10.0
This variant is not supported in earlier versions.

Clears multiple active Canvases to different colors, if multiple Canvases are active at once via love.graphics.setCanvas.

Synopsis

love.graphics.clear( color, ... )

Arguments

table color
A table in the form of {r, g, b, a} containing the color to clear the first active Canvas to.
table ...
Additional tables for each active Canvas.

Returns

Nothing.

Notes

A color must be specified for each active Canvas, when this function variant is used.

Examples

Clear canvas before drawing

If the c-key is pressed the canvas will be cleared before drawing a new line on the screen.

local canvas = love.graphics.newCanvas()
local clear

function love.update()
    -- Use an anonymous function to draw lines on our canvas.
    canvas:renderTo( function()
        if clear then
            love.graphics.clear() -- Clear the canvas before drawing lines.
        end

        -- Draw lines from the screen's origin to a random x and y coordinate.
        local rx, ry = love.math.random( 0, love.graphics.getWidth() ), love.math.random( 0, love.graphics.getHeight() )
        love.graphics.setColor( love.math.random( ), 0, 0 )
        love.graphics.line( 0, 0, rx, ry )
        love.graphics.setColor( 1, 1, 1 )
    end)
end

function love.draw()
    love.graphics.draw( canvas )
end

function love.keypressed( key )
    if key == "c" then
        clear = not clear
    end
end

See Also


Other Languages