Difference between revisions of "love.graphics.arc"

(Added pacman image)
(Drawing a rounded borders rectangle)
 
(3 intermediate revisions by 3 users not shown)
Line 49: Line 49:
 
pacwidth = math.pi / 6 -- size of his mouth
 
pacwidth = math.pi / 6 -- size of his mouth
 
function love.draw( )
 
function love.draw( )
   love.graphics.setColor( 255, 255, 0 ) -- pacman needs to be yellow
+
   love.graphics.setColor( 1, 1, 0 ) -- pacman needs to be yellow
 
   love.graphics.arc( "fill", 400, 300, 100, pacwidth, (math.pi * 2) - pacwidth )
 
   love.graphics.arc( "fill", 400, 300, 100, pacwidth, (math.pi * 2) - pacwidth )
 
end
 
end
 
</source>
 
</source>
[[File:Pacman_arc.png|300px]]
+
 
 +
=== 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 ==

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