love.graphics.newQuad
Creates a new Quad.
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!
Function
Synopsis
quad = love.graphics.newQuad( x, y, width, height, sw, sh )
Arguments
number x
- The top-left position in the Image along the x-axis.
number y
- The top-left position in the Image along the y-axis.
number width
- The width of the Quad in the Image. (Must be greater than 0.)
number height
- The height of the Quad in the Image. (Must be greater than 0.)
number sw
- The reference width, the width of the Image. (Must be greater than 0.)
number sh
- The reference height, the height of the Image. (Must be greater than 0.)
Returns
Quad quad
- The new Quad.
Note
The purpose of a Quad is to use a fraction of an image to draw objects, as opposed to drawing entire image. It is most useful for sprite sheets and atlases: in a sprite atlas, multiple sprites reside in same image, quad is used to draw a specific sprite from that image; in animated sprites with all frames residing in the same image, quad is used to draw specific frame from the animation.
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
Please login to continue.