love.math.newTransform

Available since LÖVE 0.11.0
This function is not supported in earlier versions.

Creates a new Transform object.

Function

Creates a Transform with no transformations applied. Call methods on the returned object to apply transformations.

Synopsis

transform = love.math.newTransform( )

Arguments

None

Returns

Transform transform
The new Transform object.

Function

Creates a Transform with the specified transformation applied on creation.

Synopsis

transform = love.math.newTransform( x, y, angle, sx, sy, ox, oy, kx, ky )

Arguments

number x
The position of the new Transform on the x-axis.
number y
The position of the new Transform on the y-axis.
number angle (0)
The orientation of the new Transform in radians.
number sx (1)
Scale factor on the x-axis.
number sy (sx)
Scale factor on the y-axis.
number ox (0)
Origin offset on the x-axis.
number oy (0)
Origin offset on the y-axis.
number kx (0)
Shearing / skew factor on the x-axis.
number ky (0)
Shearing / skew factor on the y-axis.

Returns

Transform transform
The new Transform object.

Examples

Creates a new Transform object and uses it to position and rotate a rectangle around its center.

function love.load()
    rectwidth = 100
    rectheight = 100

    -- arguments are: x, y, angle, scalex, scaley, offsetx, offsety
    transform = love.math.newTransform(100, 100, math.pi/4, 1, 1, rectwidth / 2, rectheight / 2)
end

function love.draw()
    love.graphics.applyTransform(transform)
    love.graphics.rectangle("fill", 0, 0, rectwidth, rectheight)
end

See Also

Other Languages