Difference between revisions of "love.graphics.arc"

m (update the example for the new color range)
(Drawing a rounded borders rectangle)
 
(One intermediate revision by the same user not shown)
Line 53: Line 53:
 
end
 
end
 
</source>
 
</source>
 +
 +
=== Drawing a rounded sides rectangle ===
 +
<source lang="lua">
 +
quartcircle = math.pi / 2 -- Define 1/4 angle constant
 +
function love.draw( )
 +
  love.graphics.setColor( .7, .7, 1 ) -- Blueish color
 +
  love.graphics.line( 200, 100, 600, 100 )
 +
  love.graphics.line( 200, 300, 600, 300 )
 +
  -- Angles are clockwise, as y value grows when going down
 +
  love.graphics.arc( "line", "open", 200, 200, 100, quartcircle, math.pi+quartcircle )
 +
  love.graphics.arc( "line", "open", 600, 200, 100, -quartcircle, quartcircle)
 +
end
 +
</source>
 +
 
== Notes ==
 
== Notes ==
 
The arc is drawn counter clockwise if the starting angle is numerically bigger than the final angle. The arc is drawn clockwise if the final angle is numerically bigger than the starting angle.
 
The arc is drawn counter clockwise if the starting angle is numerically bigger than the final angle. The arc is drawn clockwise if the final angle is numerically bigger than the starting angle.

Latest revision as of 21:07, 26 March 2022

Available since LÖVE 0.8.0
This function is not supported in earlier versions.

Draws a filled or unfilled arc at position (x, y). The arc is drawn from angle1 to angle2 in radians. The segments parameter determines how many segments are used to draw the arc. The more segments, the smoother the edge.

Function

Draws an arc using the "pie" ArcType.

Synopsis

love.graphics.arc( drawmode, x, y, radius, angle1, angle2, segments )

Arguments

DrawMode drawmode
How to draw the arc.
number x
The position of the center along x-axis.
number y
The position of the center along y-axis.
number radius
Radius of the arc.
number angle1
The angle at which the arc begins.
number angle2
The angle at which the arc terminates.
number segments (10)
The number of segments used for drawing the arc.

Returns

Nothing.


Function

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

Synopsis

love.graphics.arc( drawmode, arctype, x, y, radius, angle1, angle2, segments )

Arguments

DrawMode drawmode
How to draw the arc.
ArcType arctype
The type of arc to draw.
number x
The position of the center along x-axis.
number y
The position of the center along y-axis.
number radius
Radius of the arc.
number angle1
The angle at which the arc begins.
number angle2
The angle at which the arc terminates.
number segments (10)
The number of segments used for drawing the arc.

Returns

Nothing.

Examples

Drawing half a circle

function love.draw( )
  love.graphics.arc( "fill", 400, 300, 100, 0, math.pi )
end

Drawing Pacman

pacwidth = math.pi / 6 -- size of his mouth
function love.draw( )
  love.graphics.setColor( 1, 1, 0 ) -- pacman needs to be yellow
  love.graphics.arc( "fill", 400, 300, 100, pacwidth, (math.pi * 2) - pacwidth )
end

Drawing a rounded sides rectangle

quartcircle = math.pi / 2 -- Define 1/4 angle constant
function love.draw( )
  love.graphics.setColor( .7, .7, 1 ) -- Blueish color
  love.graphics.line( 200, 100, 600, 100 )
  love.graphics.line( 200, 300, 600, 300 )
  -- Angles are clockwise, as y value grows when going down 
  love.graphics.arc( "line", "open", 200, 200, 100, quartcircle, math.pi+quartcircle )
  love.graphics.arc( "line", "open", 600, 200, 100, -quartcircle, quartcircle)
end

Notes

The arc is drawn counter clockwise if the starting angle is numerically bigger than the final angle. The arc is drawn clockwise if the final angle is numerically bigger than the starting angle.

See Also


Other Languages