Difference between revisions of "love.graphics.line"
(→Draw a zigzag line from a single table) |
(→Examples: Cleaned up examples.) |
||
Line 23: | Line 23: | ||
Nothing. | Nothing. | ||
== Examples == | == Examples == | ||
+ | |||
=== Draw the outline of a simple trapezoid === | === Draw the outline of a simple trapezoid === | ||
<source lang="lua"> | <source lang="lua"> | ||
function love.draw() | function love.draw() | ||
− | + | love.graphics.line(200,50, 400,50, 500,300, 100,300, 200,50) -- last pair is a repeat to complete the trapezoid | |
end | end | ||
</source> | </source> | ||
+ | |||
=== Draw a line from the center of the screen to the mouse pointer === | === Draw a line from the center of the screen to the mouse pointer === | ||
<source lang="lua"> | <source lang="lua"> | ||
− | |||
− | |||
function love.draw() | function love.draw() | ||
− | + | local mx, my = love.mouse.getPosition() | |
− | + | ||
+ | local windowWidth, windowHeight = love.graphics.getDimensions() | ||
+ | |||
+ | love.graphics.line(windowWidth/2, windowHeight/2, mx, my) | ||
end | end | ||
</source> | </source> | ||
− | === Draw | + | === Draw a zigzag line using a table === |
<source lang="lua"> | <source lang="lua"> | ||
− | + | local zigzagLine = {100,100, 200,200, 300,100, 400,200} | |
− | + | ||
function love.draw() | function love.draw() | ||
− | + | love.graphics.line(zigzagLine) | |
− | |||
− | love.graphics.line( | ||
end | end | ||
</source> | </source> | ||
− | === | + | === Generate and draw a grid === |
<source lang="lua"> | <source lang="lua"> | ||
− | + | local cellSize = 30 -- Width and height of cells. | |
− | + | local gridLines = {} | |
− | |||
− | |||
− | |||
− | } | ||
− | |||
− | |||
− | |||
− | |||
+ | local windowWidth, windowHeight = love.graphics.getDimensions() | ||
− | + | -- Vertical lines. | |
− | + | for x = cellSize, windowWidth, cellSize do | |
− | + | local line = {x, 0, x, windowHeight} | |
− | + | table.insert(gridLines, line) | |
− | |||
− | |||
− | for x = | ||
− | local line = {x, 0, x, | ||
− | table.insert ( | ||
end | end | ||
− | for y = | + | -- Horizontal lines. |
− | local line = {0, y, | + | for y = cellSize, windowHeight, cellSize do |
− | table.insert ( | + | local line = {0, y, windowWidth, y} |
+ | table.insert(gridLines, line) | ||
end | end | ||
− | function | + | function love.draw() |
− | for i, line in | + | love.graphics.setLineWidth(2) |
+ | |||
+ | for i, line in ipairs(gridLines) do | ||
love.graphics.line(line) | love.graphics.line(line) | ||
end | end | ||
− | |||
− | |||
− | |||
− | |||
end | end | ||
</source> | </source> |
Revision as of 03:10, 16 July 2021
Draws lines between points.
Function
Synopsis
love.graphics.line( x1, y1, x2, y2, ... )
Arguments
number x1
- The position of first point on the x-axis.
number y1
- The position of first point on the y-axis.
number x2
- The position of second point on the x-axis.
number y2
- The position of second point on the y-axis.
number ...
- You can continue passing point positions to draw a polyline.
Returns
Nothing.
Function
Synopsis
love.graphics.line( points )
Arguments
table points
- A table of point positions, as described above.
Returns
Nothing.
Examples
Draw the outline of a simple trapezoid
function love.draw()
love.graphics.line(200,50, 400,50, 500,300, 100,300, 200,50) -- last pair is a repeat to complete the trapezoid
end
Draw a line from the center of the screen to the mouse pointer
function love.draw()
local mx, my = love.mouse.getPosition()
local windowWidth, windowHeight = love.graphics.getDimensions()
love.graphics.line(windowWidth/2, windowHeight/2, mx, my)
end
Draw a zigzag line using a table
local zigzagLine = {100,100, 200,200, 300,100, 400,200}
function love.draw()
love.graphics.line(zigzagLine)
end
Generate and draw a grid
local cellSize = 30 -- Width and height of cells.
local gridLines = {}
local windowWidth, windowHeight = love.graphics.getDimensions()
-- Vertical lines.
for x = cellSize, windowWidth, cellSize do
local line = {x, 0, x, windowHeight}
table.insert(gridLines, line)
end
-- Horizontal lines.
for y = cellSize, windowHeight, cellSize do
local line = {0, y, windowWidth, y}
table.insert(gridLines, line)
end
function love.draw()
love.graphics.setLineWidth(2)
for i, line in ipairs(gridLines) do
love.graphics.line(line)
end
end
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