Difference between revisions of "love.graphics.draw"
(Add more explanatory text) |
(Added new variant.) |
||
Line 1: | Line 1: | ||
− | + | Draws objects on screen. Drawable objects are [[Image|loaded images]], but may be other kinds of [[Drawable]] objects, such as a [[ParticleSystem]]. | |
In addition to simple drawing, the draw() function can rotate and scale the object at the same time, as well as offset the image (for example, to center the image at the chosen coordinates). | In addition to simple drawing, the draw() function can rotate and scale the object at the same time, as well as offset the image (for example, to center the image at the chosen coordinates). | ||
+ | love.graphics.draw() anchors from the top left corner by default. | ||
+ | |||
+ | You can specify a negative value for sx or sy to flip the drawable horizontally or vertically. | ||
+ | |||
+ | The pivotal point is (x, y) on the screen and (ox, oy) in the internal coordinate system of the drawable object, before rotation and scaling. The object is scaled by (sx, sy), then rotated by r around the pivotal point. | ||
+ | |||
+ | The default [[ColorMode]] blends the current drawing color into the image, so you will often want to invoke [[love.graphics.setColorMode]]("replace") before drawing images, to ensure that the drawn image matches the source image file. | ||
+ | |||
+ | The origin offset values are most often used to shift the images up and left by half of its height and width, so that (effectively) the specified x and y coordinates are where the center of the image will end up. | ||
+ | == Function == | ||
+ | {{newin|[[0.8.0]]|type=variant}} | ||
+ | === Synopsis === | ||
+ | <source lang="lua"> | ||
+ | love.graphics.draw( drawable, x, y, r, sx, sy, ox, oy, kx, ky ) | ||
+ | </source> | ||
+ | === Arguments === | ||
+ | {{param|Drawable|drawable|A drawable object.}} | ||
+ | {{param|number|x|The position to draw the object (x-axis).}} | ||
+ | {{param|number|y|The position to draw the object (y-axis).}} | ||
+ | {{param|number|r (0)|Orientation (radians).}} | ||
+ | {{param|number|sx (1)|Scale factor (x-axis). Can be negative.}} | ||
+ | {{param|number|sy (sx)|Scale factor (y-axis). Can be negative.}} | ||
+ | {{param|number|ox (0)|Origin offset (x-axis). (A value of 20 would effectively move your drawable object 20 pixels to the left.)}} | ||
+ | {{param|number|oy (0)|Origin offset (y-axis). (A value of 20 would effectively move your drawable object 20 pixels up.)}} | ||
+ | {{param|number|kx|The shearing factor (x-axis).}} | ||
+ | {{param|number|ky|The shearing factor (y-axis).}} | ||
+ | === Returns === | ||
+ | Nothing. | ||
== Function == | == Function == | ||
+ | {{oldin|[[0.7.2]]|type=variant}} | ||
=== Synopsis === | === Synopsis === | ||
<source lang="lua"> | <source lang="lua"> | ||
Line 19: | Line 48: | ||
=== Returns === | === Returns === | ||
Nothing. | Nothing. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== Examples == | == Examples == | ||
=== Draw an image (the [https://love2d.org/w/images/c/c3/Resource-HamsterBall.png Hamster Ball]) at 100 by 100 pixels === | === Draw an image (the [https://love2d.org/w/images/c/c3/Resource-HamsterBall.png Hamster Ball]) at 100 by 100 pixels === | ||
Line 55: | Line 73: | ||
* [[parent::love.graphics]] | * [[parent::love.graphics]] | ||
[[Category:Functions]] | [[Category:Functions]] | ||
− | {{#set:Description= | + | {{#set:Description=Draws objects on screen.}} |
{{#set:Since=000}} | {{#set:Since=000}} | ||
== Other Languages == | == Other Languages == | ||
{{i18n|love.graphics.draw}} | {{i18n|love.graphics.draw}} |
Revision as of 23:27, 8 April 2012
Draws objects on screen. Drawable objects are loaded images, but may be other kinds of Drawable objects, such as a ParticleSystem.
In addition to simple drawing, the draw() function can rotate and scale the object at the same time, as well as offset the image (for example, to center the image at the chosen coordinates).
love.graphics.draw() anchors from the top left corner by default.
You can specify a negative value for sx or sy to flip the drawable horizontally or vertically.
The pivotal point is (x, y) on the screen and (ox, oy) in the internal coordinate system of the drawable object, before rotation and scaling. The object is scaled by (sx, sy), then rotated by r around the pivotal point.
The default ColorMode blends the current drawing color into the image, so you will often want to invoke love.graphics.setColorMode("replace") before drawing images, to ensure that the drawn image matches the source image file.
The origin offset values are most often used to shift the images up and left by half of its height and width, so that (effectively) the specified x and y coordinates are where the center of the image will end up.
Contents
Function
Available since LÖVE 0.8.0 |
This variant is not supported in earlier versions. |
Synopsis
love.graphics.draw( drawable, x, y, r, sx, sy, ox, oy, kx, ky )
Arguments
Drawable drawable
- A drawable object.
number x
- The position to draw the object (x-axis).
number y
- The position to draw the object (y-axis).
number r (0)
- Orientation (radians).
number sx (1)
- Scale factor (x-axis). Can be negative.
number sy (sx)
- Scale factor (y-axis). Can be negative.
number ox (0)
- Origin offset (x-axis). (A value of 20 would effectively move your drawable object 20 pixels to the left.)
number oy (0)
- Origin offset (y-axis). (A value of 20 would effectively move your drawable object 20 pixels up.)
number kx
- The shearing factor (x-axis).
number ky
- The shearing factor (y-axis).
Returns
Nothing.
Function
Removed in LÖVE 0.7.2 |
This variant is not supported in that and later versions. |
Synopsis
love.graphics.draw( drawable, x, y, r, sx, sy, ox, oy )
Arguments
Drawable drawable
- A drawable object.
number x
- The position to draw the object (x-axis).
number y
- The position to draw the object (y-axis).
number r (0)
- Orientation (radians).
number sx (1)
- Scale factor (x-axis). Can be negative.
number sy (sx)
- Scale factor (y-axis). Can be negative.
number ox (0)
- Origin offset (x-axis). (A value of 20 would effectively move your drawable object 20 pixels to the left.)
number oy (0)
- Origin offset (y-axis). (A value of 20 would effectively move your drawable object 20 pixels up.)
Returns
Nothing.
Examples
Draw an image (the Hamster Ball) at 100 by 100 pixels
function love.load()
hamster = love.graphics.newImage("hamster.png")
end
function love.draw()
love.graphics.draw(hamster, 100, 100)
end
Draw an image (the Hamster Ball) from the center at 100 by 100 pixels, rotated by 90 degrees
function love.load()
hamster = love.graphics.newImage("hamster.png")
width = hamster:getWidth()
height = hamster:getHeight()
end
function love.draw()
love.graphics.draw(hamster, 100, 100, math.rad(90), 1, 1, width / 2, height / 2)
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