Difference between revisions of "love.graphics.draw"
(Improved explanation on coordinate systems and transformations) |
m |
||
Line 3: | Line 3: | ||
All objects have a local and global coordinate system. The object is positioned relative to the local coordinate system (LCS), and the LCS is positioned relative to the origin of the global coordinate system (GCS). The origin of the LCS is by default located at the top left corner of the object. All scaling, shearing, and rotation arguments transform the object relative to that point. | All objects have a local and global coordinate system. The object is positioned relative to the local coordinate system (LCS), and the LCS is positioned relative to the origin of the global coordinate system (GCS). The origin of the LCS is by default located at the top left corner of the object. All scaling, shearing, and rotation arguments transform the object relative to that point. | ||
− | One can offset the origin of the LCS to achieve a desired effect. For example, offsetting the origin to the object's center allows one to rotate an object about its center. Angles must given in radians for rotation. With the origin at the center of the object, one can also use a negative scaling factor to flip about its centerline. | + | One can offset the origin of the LCS to achieve a desired effect. For example, offsetting the origin to the object's center allows one to rotate an object about its center. Angles must be given in radians for rotation. With the origin at the center of the object, one can also use a negative scaling factor to flip about its centerline. |
The right and bottom edges of the object are shifted at an angle defined by the shearing factors. | The right and bottom edges of the object are shifted at an angle defined by the shearing factors. |
Revision as of 03:44, 29 March 2013
Draws a Drawable object (an Image, Canvas, SpriteBatch or ParticleSystem) on the screen with optional rotation, scaling and shearing.
All objects have a local and global coordinate system. The object is positioned relative to the local coordinate system (LCS), and the LCS is positioned relative to the origin of the global coordinate system (GCS). The origin of the LCS is by default located at the top left corner of the object. All scaling, shearing, and rotation arguments transform the object relative to that point.
One can offset the origin of the LCS to achieve a desired effect. For example, offsetting the origin to the object's center allows one to rotate an object about its center. Angles must be given in radians for rotation. With the origin at the center of the object, one can also use a negative scaling factor to flip about its centerline.
The right and bottom edges of the object are shifted at an angle defined by the shearing factors.
Contents
Function
Synopsis
love.graphics.draw( drawable, x, y, r, sx, sy, ox, oy, kx, ky )
Arguments
Drawable drawable
- A drawable object.
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.
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