Difference between revisions of "love.graphics.printf"

(Added new 0.9.0 variant)
(Added details about love.graphics.printf's implementation and cleaned up page)
Line 3: Line 3:
 
See additional notes in [[love.graphics.print]].
 
See additional notes in [[love.graphics.print]].
  
'''NOTE: aligning does not work as one might expect! It doesn't align to the x/y coordinates given, but in a rectangle. See https://love2d.org/forums/viewtopic.php?f=4&t=9709&p=59709'''
+
{{notice|Wrapping is implemented by breaking up words by spaces and putting them back together to make sure things fit nicely within the limit provided. However,  due to the way this is done, extra spaces between words will end up missing when printed on the screen, and some lines can overflow past the limit you provide!}}
 +
 
 +
{{notice|Aligning does not work as one might expect! It doesn't align to the x/y coordinates given, but in a rectangle.}}
  
 
== Function ==
 
== Function ==

Revision as of 05:34, 25 November 2013

Draws formatted text, with word wrap and alignment.

See additional notes in love.graphics.print.

O.png Wrapping is implemented by breaking up words by spaces and putting them back together to make sure things fit nicely within the limit provided. However, due to the way this is done, extra spaces between words will end up missing when printed on the screen, and some lines can overflow past the limit you provide!  


O.png Aligning does not work as one might expect! It doesn't align to the x/y coordinates given, but in a rectangle.  


Function

Synopsis

love.graphics.printf( text, x, y, limit, align )

Arguments

string text
A text string.
number x
The position on the x-axis.
number y
The position on the y-axis.
number limit
Wrap the line after this many horizontal pixels.
AlignMode align ("left")
The alignment.

Returns

Nothing.

Function

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

Synopsis

love.graphics.printf( text, x, y, limit, align, r, sx, sy, ox, oy, kx, ky )

Arguments

string text
A text string.
number x
The position on the x-axis.
number y
The position on the y-axis.
number limit
Wrap the line after this many horizontal pixels.
AlignMode align ("left")
The alignment.
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).
number kx (0)
Shearing factor (x-axis).
number ky (0)
Shearing factor (y-axis).

Returns

Nothing.

Examples

Draw text to the screen with right alignment and a horizontal limit of 125.

love.graphics.printf("This text is aligned right, and wraps when it gets too big.", 25, 25, 125, "right")

Notes

Note that the limit argument affects the position of your text for 'center' and 'right' alignment.

love.graphics.printf("This text is aligned center",100, 100, 200,"center") -- center your text around x = 200/2 + 100 = 200
love.graphics.printf("This text is aligned right",100, 100, 200,"right") -- align right to x = 100 + 200 = 300

See Also


Other Languages