Difference between revisions of "love.graphics.newQuad"
Flamingarrow (talk | contribs) |
Flamingarrow (talk | contribs) (Major, document an undocumented variant of newQuad) |
||
Line 16: | Line 16: | ||
{{param|number|sw|The reference width, the width of the [[Texture]]. (Must be greater than 0.)}} | {{param|number|sw|The reference width, the width of the [[Texture]]. (Must be greater than 0.)}} | ||
{{param|number|sh|The reference height, the height of the [[Texture]]. (Must be greater than 0.)}} | {{param|number|sh|The reference height, the height of the [[Texture]]. (Must be greater than 0.)}} | ||
+ | |||
+ | === Returns === | ||
+ | {{param|Quad|quad|The new Quad.}} | ||
+ | |||
+ | == Function == | ||
+ | === Synopsis === | ||
+ | <source lang="lua"> | ||
+ | quad = love.graphics.newQuad( x, y, width, height, texture ) | ||
+ | </source> | ||
+ | === Arguments === | ||
+ | {{param|number|x|The top-left position in the [[Texture]] along the x-axis.}} | ||
+ | {{param|number|y|The top-left position in the [[Texture]] along the y-axis.}} | ||
+ | {{param|number|width|The width of the Quad in the [[Texture]]. (Must be greater than 0.)}} | ||
+ | {{param|number|height|The height of the Quad in the [[Texture]]. (Must be greater than 0.)}} | ||
+ | {{param|Texture|texture|The texture whose width and height will be used as the reference width and height.}} | ||
=== Returns === | === Returns === |
Revision as of 17:21, 8 December 2020
Creates a new Quad.
The purpose of a Quad is to use a fraction of a texture to draw objects, as opposed to drawing the entire texture. It is most useful for sprite sheets and atlases: in a sprite atlas, multiple sprites reside in the same texture, quad is used to draw a specific sprite from that texture; in animated sprites with all frames residing in the same texture, quad is used to draw specific frame from the animation.
This function can be slow if it is called repeatedly, such as from love.update or love.draw. If you need to use a specific resource often, create it once and store it somewhere it can be reused! |
Contents
Function
Synopsis
quad = love.graphics.newQuad( x, y, width, height, sw, sh )
Arguments
number x
- The top-left position in the Texture along the x-axis.
number y
- The top-left position in the Texture along the y-axis.
number width
- The width of the Quad in the Texture. (Must be greater than 0.)
number height
- The height of the Quad in the Texture. (Must be greater than 0.)
number sw
- The reference width, the width of the Texture. (Must be greater than 0.)
number sh
- The reference height, the height of the Texture. (Must be greater than 0.)
Returns
Quad quad
- The new Quad.
Function
Synopsis
quad = love.graphics.newQuad( x, y, width, height, texture )
Arguments
number x
- The top-left position in the Texture along the x-axis.
number y
- The top-left position in the Texture along the y-axis.
number width
- The width of the Quad in the Texture. (Must be greater than 0.)
number height
- The height of the Quad in the Texture. (Must be greater than 0.)
Texture texture
- The texture whose width and height will be used as the reference width and height.
Returns
Quad quad
- The new Quad.
Examples
Use a Quad to display part of an Image:
img = love.graphics.newImage("mushroom-64x64.png")
-- Let's say we want to display only the top-left
-- 32x32 quadrant of the Image:
top_left = love.graphics.newQuad(0, 0, 32, 32, img:getDimensions())
-- And here is bottom left:
bottom_left = love.graphics.newQuad(0, 32, 32, 32, img:getDimensions())
function love.draw()
love.graphics.draw(img, top_left, 50, 50)
love.graphics.draw(img, bottom_left, 50, 200)
-- v0.8:
-- love.graphics.drawq(img, top_left, 50, 50)
-- love.graphics.drawq(img, bottom_left, 50, 200)
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