Difference between revisions of "love.graphics.setStencil"
(Newin 0.8.0.) |
(Examples don't help if they're wrong. :/) |
||
Line 25: | Line 25: | ||
Releases the active mask. | Releases the active mask. | ||
== Examples == | == Examples == | ||
+ | === Drawing circles masked by a rectangle === | ||
+ | <source lang="lua"> | ||
+ | myMaskFunction = function() | ||
+ | love.graphics.rectangle("fill", 225, 200, 350, 300) | ||
+ | end | ||
+ | |||
+ | myMask = love.graphics.newMask(myMaskFunction) | ||
+ | |||
+ | love.graphics.setMask(myMask) | ||
+ | |||
+ | love.graphics.setColor(255, 0, 0, 120) | ||
+ | love.graphics.circle("fill", 300, 300, 150, 50) | ||
+ | love.graphics.setColor(0, 255, 0, 120) | ||
+ | love.graphics.circle("fill", 500, 300, 150, 50) | ||
+ | love.graphics.setColor(0, 0, 255, 120) | ||
+ | love.graphics.circle("fill", 400, 400, 150, 50) | ||
+ | </source> | ||
=== Drawing a circle with a hole === | === Drawing a circle with a hole === | ||
<source lang="lua"> | <source lang="lua"> | ||
− | + | myMaskFunction = function() | |
love.graphics.circle("fill", 400, 300, 50) | love.graphics.circle("fill", 400, 300, 50) | ||
end | end | ||
− | love.graphics. | + | myMask = love.graphics.newMask(myMaskFunction) |
+ | |||
+ | love.graphics.setInvertedMask(myMask) | ||
love.graphics.circle("fill", 400, 300, 150) | love.graphics.circle("fill", 400, 300, 150) | ||
</source> | </source> | ||
=== Drawing two masked triangles with different colors === | === Drawing two masked triangles with different colors === | ||
<source lang="lua"> | <source lang="lua"> | ||
− | + | myMaskFunction = function() | |
love.graphics.circle("fill", 400, 300, 60, 25) | love.graphics.circle("fill", 400, 300, 60, 25) | ||
end | end | ||
+ | |||
+ | myMask = love.graphics.newMask(myMaskFunction) | ||
love.graphics.setMask(myMask) | love.graphics.setMask(myMask) | ||
Line 51: | Line 72: | ||
== See Also == | == See Also == | ||
* [[parent::love.graphics]] | * [[parent::love.graphics]] | ||
+ | * [[parent::love.graphics.newMask]] | ||
* [[parent::love.graphics.setInvertedMask]] | * [[parent::love.graphics.setInvertedMask]] | ||
[[Category:Functions]] | [[Category:Functions]] |
Revision as of 11:54, 10 August 2011
Available since LÖVE 0.8.0 |
This function is not supported in earlier versions. |
Defines or releases a mask for the drawing operations.
The passed function draws to the mask instead of the screen, creating an image with transparent and opaque pixel. While active, it is used to test where pixel will be drawn or discarded.
Calling the function without arguments releases the active mask.
Contents
Function
Synopsis
love.graphics.setMask( maskFunction )
Arguments
function maskFunction
- Function that draws to the mask.
Returns
Nothing.
Function
Synopsis
love.graphics.setMask( )
Arguments
None.
Returns
Nothing.
Notes
Releases the active mask.
Examples
Drawing circles masked by a rectangle
myMaskFunction = function()
love.graphics.rectangle("fill", 225, 200, 350, 300)
end
myMask = love.graphics.newMask(myMaskFunction)
love.graphics.setMask(myMask)
love.graphics.setColor(255, 0, 0, 120)
love.graphics.circle("fill", 300, 300, 150, 50)
love.graphics.setColor(0, 255, 0, 120)
love.graphics.circle("fill", 500, 300, 150, 50)
love.graphics.setColor(0, 0, 255, 120)
love.graphics.circle("fill", 400, 400, 150, 50)
Drawing a circle with a hole
myMaskFunction = function()
love.graphics.circle("fill", 400, 300, 50)
end
myMask = love.graphics.newMask(myMaskFunction)
love.graphics.setInvertedMask(myMask)
love.graphics.circle("fill", 400, 300, 150)
Drawing two masked triangles with different colors
myMaskFunction = function()
love.graphics.circle("fill", 400, 300, 60, 25)
end
myMask = love.graphics.newMask(myMaskFunction)
love.graphics.setMask(myMask)
love.graphics.setColor(155, 0, 128)
love.graphics.triangle("fill", 400, 200, 486, 350, 314, 350)
love.graphics.setInvertedMask(myMask)
love.graphics.setColor(144, 214, 128)
love.graphics.triangle("fill", 400, 200, 486, 350, 314, 350)
See Also
Other Languages
Dansk –
Deutsch –
English –
Español –
Français –
Indonesia –
Italiano –
Lietuviškai –
Magyar –
Nederlands –
Polski –
Português –
Română –
Slovenský –
Suomi –
Svenska –
Türkçe –
Česky –
Ελληνικά –
Български –
Русский –
Српски –
Українська –
עברית –
ไทย –
日本語 –
正體中文 –
简体中文 –
Tiếng Việt –
한국어
More info