love.graphics.print
Draws text on screen. If no Font is set, one will be created and set (once) if needed.
As of LOVE 0.7.1, when using translation and scaling functions while drawing text, this function assumes the scale occurs first. If you don't script with this in mind, the text won't be in the right position, or possibly even on screen.
love.graphics.print and love.graphics.printf both support UTF-8 encoding. You'll also need a proper Font for special characters.
In versions prior to 11.0, color and byte component values were within the range of 0 to 255 instead of 0 to 1.
Text may appear blurry if it's rendered at non-integer pixel locations. |
Contents
Function
Synopsis
love.graphics.print( text, x, y, r, sx, sy, ox, oy, kx, ky )
Arguments
string text
- The text to draw.
number x (0)
- The position to draw the object (x-axis).
number y (0)
- The position to draw the object (y-axis).
number r (0)
- Orientation (radians).
number sx (1)
- Scale factor (x-axis).
number sy (sx)
- Scale factor (y-axis).
number ox (0)
- Origin offset (x-axis).
number oy (0)
- Origin offset (y-axis).
Returns
Nothing.
Function
Available since LÖVE 11.0 |
This variant is not supported in earlier versions. |
Synopsis
love.graphics.print( text, font, x, y, r, sx, sy, ox, oy, kx, ky )
Arguments
string text
- The text to draw.
Font font
- The Font object to use.
number x (0)
- The position of the text on the x-axis.
number y (0)
- The position of the text on the y-axis.
number angle (0)
- The orientation of the text in radians.
number sx (1)
- Scale factor on the x-axis.
number sy (sx)
- Scale factor on the y-axis.
number ox (0)
- Origin offset on the x-axis.
number oy (0)
- Origin offset on the y-axis.
number kx (0)
- Shearing / skew factor on the x-axis.
number ky (0)
- Shearing / skew factor on the y-axis.
Returns
Nothing.
Function
Available since LÖVE 0.10.0 |
This variant is not supported in earlier versions. |
Synopsis
love.graphics.print( coloredtext, x, y, angle, sx, sy, ox, oy, kx, ky )
Arguments
table coloredtext
- A table containing colors and strings to add to the object, in the form of
{color1, string1, color2, string2, ...}
.table color1
- A table containing red, green, blue, and optional alpha components to use as a color for the next string in the table, in the form of
{red, green, blue, alpha}
. string string1
- A string of text which has a color specified by the previous color.
table color2
- A table containing red, green, blue, and optional alpha components to use as a color for the next string in the table, in the form of
{red, green, blue, alpha}
. string string2
- A string of text which has a color specified by the previous color.
tables and strings ...
- Additional colors and strings.
number x (0)
- The position of the text on the x-axis.
number y (0)
- The position of the text on the y-axis.
number angle (0)
- The orientation of the text in radians.
number sx (1)
- Scale factor on the x-axis.
number sy (sx)
- Scale factor on the y-axis.
number ox (0)
- Origin offset on the x-axis.
number oy (0)
- Origin offset on the y-axis.
number kx (0)
- Shearing / skew factor on the x-axis.
number ky (0)
- Shearing / skew factor on the y-axis.
Returns
Nothing.
Notes
The color set by love.graphics.setColor will be combined (multiplied) with the colors of the text.
Function
Available since LÖVE 11.0 |
This variant is not supported in earlier versions. |
Synopsis
love.graphics.print( coloredtext, font, x, y, angle, sx, sy, ox, oy, kx, ky )
Arguments
table coloredtext
- A table containing colors and strings to add to the object, in the form of
{color1, string1, color2, string2, ...}
.table color1
- A table containing red, green, blue, and optional alpha components to use as a color for the next string in the table, in the form of
{red, green, blue, alpha}
. string string1
- A string of text which has a color specified by the previous color.
table color2
- A table containing red, green, blue, and optional alpha components to use as a color for the next string in the table, in the form of
{red, green, blue, alpha}
. string string2
- A string of text which has a color specified by the previous color.
tables and strings ...
- Additional colors and strings.
Font font
- The Font object to use.
number x (0)
- The position of the text on the x-axis.
number y (0)
- The position of the text on the y-axis.
number angle (0)
- The orientation of the text in radians.
number sx (1)
- Scale factor on the x-axis.
number sy (sx)
- Scale factor on the y-axis.
number ox (0)
- Origin offset on the x-axis.
number oy (0)
- Origin offset on the y-axis.
number kx (0)
- Shearing / skew factor on the x-axis.
number ky (0)
- Shearing / skew factor on the y-axis.
Returns
Nothing.
Notes
The color set by love.graphics.setColor will be combined (multiplied) with the colors of the text.
Function
Available since LÖVE 11.0 |
This variant is not supported in earlier versions. |
Synopsis
love.graphics.print( text, transform )
Arguments
Returns
Nothing.
Function
Available since LÖVE 11.0 |
This variant is not supported in earlier versions. |
Synopsis
love.graphics.print( text, font, transform )
Arguments
string text
- The text to draw.
Font font
- The Font object to use.
Transform transform
- Transformation object.
Returns
Nothing.
Function
Available since LÖVE 11.0 |
This variant is not supported in earlier versions. |
Synopsis
love.graphics.print( coloredtext, transform )
Arguments
table coloredtext
- A table containing colors and strings to add to the object, in the form of
{color1, string1, color2, string2, ...}
.table color1
- A table containing red, green, blue, and optional alpha components to use as a color for the next string in the table, in the form of
{red, green, blue, alpha}
. string string1
- A string of text which has a color specified by the previous color.
table color2
- A table containing red, green, blue, and optional alpha components to use as a color for the next string in the table, in the form of
{red, green, blue, alpha}
. string string2
- A string of text which has a color specified by the previous color.
tables and strings ...
- Additional colors and strings.
Transform transform
- Transformation object.
Returns
Nothing.
Notes
The color set by love.graphics.setColor will be combined (multiplied) with the colors of the text.
Function
Available since LÖVE 11.0 |
This variant is not supported in earlier versions. |
Synopsis
love.graphics.print( coloredtext, font, transform )
Arguments
table coloredtext
- A table containing colors and strings to add to the object, in the form of
{color1, string1, color2, string2, ...}
.table color1
- A table containing red, green, blue, and optional alpha components to use as a color for the next string in the table, in the form of
{red, green, blue, alpha}
. string string1
- A string of text which has a color specified by the previous color.
table color2
- A table containing red, green, blue, and optional alpha components to use as a color for the next string in the table, in the form of
{red, green, blue, alpha}
. string string2
- A string of text which has a color specified by the previous color.
tables and strings ...
- Additional colors and strings.
Returns
Nothing.
Notes
The color set by love.graphics.setColor will be combined (multiplied) with the colors of the text.
Examples
A lame example
function love.draw()
love.graphics.setColor(0, 1, 0, 1)
love.graphics.print("This is a pretty lame example.", 10, 200)
love.graphics.setColor(1, 0, 0, 1)
love.graphics.print("This lame example is twice as big.", 10, 250, 0, 2, 2)
love.graphics.setColor(0, 0, 1, 1)
love.graphics.print("This example is lamely vertical.", 300, 30, math.pi/2)
end
Draw centered text
function drawCenteredText(rectX, rectY, rectWidth, rectHeight, text)
local font = love.graphics.getFont()
local textWidth = font:getWidth(text)
local textHeight = font:getHeight()
love.graphics.print(text, rectX+rectWidth/2, rectY+rectHeight/2, 0, 1, 1, textWidth/2, textHeight/2)
end
function love.draw()
local x, y = 100, 60
local w, h = 400, 40
love.graphics.rectangle("line", x, y, w, h)
drawCenteredText(x, y, w, h, "I print my LÖVE")
end
Notes
In version 0.8.0 and older, love.graphics.print stops at the first '\0' (null) character. This can bite you if you are appending keystrokes to form your string, as some of those are multi-byte unicode characters which will likely contain null bytes.
See Also
- love.graphics
- love.graphics.printf
- Font
- love.graphics.newFont
- love.graphics.setFont
- love.graphics.getFont
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