love.graphics.draw (简体中文)

在屏幕上绘制物件。可绘制的物件可以是被加载的图形loaded images,也可以是其他可绘制Drawable物,比如粒子系统Particle System

除了简单地绘制之外,draw()方法还可以旋转、缩放或平移物件(比如,让图形在指定坐标系里居中)。

love.graphics.draw()默认从左上角开始计算锚点。

你也可以给sx或sy赋一个负值,以让绘制物水平或者垂直翻转。

物件的左上角会被绘制在(x, y)坐标处;(ox, oy)决定了物件的偏移值,偏移的计算先于旋转和缩放;然后物件被缩放(sx, sy)倍;接下来是旋转r弧度。

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.

一般偏移值都设置成物件高度和宽度的一半,以便让物件的中心处于(x, y)坐标处。

方法

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

语法

love.graphics.draw( drawable, x, y, r, sx, sy, ox, oy, kx, ky )

参数

Drawable drawable
可绘制物。
number x
欲绘制物件的x轴坐标。
number y
欲绘制物件的y轴坐标。
number r (0)
旋转量(弧度)。
number sx (1)
缩放因子(x轴)。可以为负值。
number sy (sx)
缩放因子(y轴)。可以为负值。
number ox (0)
原始偏移量(x轴)。(比如设置为20,则会让欲绘制的物件向左偏移20像素。)
number oy (0)
原始偏移量(y轴)。(比如设置为20,则会让欲绘制的物件向下偏移20像素。)
number kx (0)
平行形变因子(x轴)。
number ky (0)
平行形变因子(y轴)。

返回

无。

方法

Removed in LÖVE 0.8.0
This variant is not supported in that and later versions.

语法

love.graphics.draw( drawable, x, y, r, sx, sy, ox, oy)

参数

Drawable drawable
可绘制物。
number x
欲绘制物件的x轴坐标。
number y
欲绘制物件的y轴坐标。
number r (0)
旋转量(弧度)。
number sx (1)
缩放因子(x轴)。可以为负值。
number sy (sx)
缩放因子(y轴)。可以为负值。
number ox (0)
原始偏移量(x轴)。(比如设置为20,则会让欲绘制的物件向左偏移20像素。)
number oy (0)
原始偏移量(y轴)。(比如设置为20,则会让欲绘制的物件向下偏移20像素。)

返回

无。

示例

在坐标(100, 100)处绘制图像 (the Hamster Ball)

function love.load()
   hamster = love.graphics.newImage("hamster.png")
end
function love.draw()
   love.graphics.draw(hamster, 100, 100)
end

在坐标(100, 100)处,从中心开始绘制图像 (the Hamster Ball) ,并旋转90度

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