Difference between revisions of "love.graphics.shear"

m (Put info line first)
m (Shorten Example)
Line 16: Line 16:
 
=== Squish a rectangle ===
 
=== Squish a rectangle ===
 
<source lang="lua">
 
<source lang="lua">
x = 100
 
y = 100
 
width = 100
 
height = 50
 
 
 
function love.draw()
 
function love.draw()
love.graphics.translate(x, y)
+
love.graphics.translate(100, 100)
 
local t = love.timer.getTime()
 
local t = love.timer.getTime()
love.graphics.shear(math.cos(t), math.cos(t * 1.3))
+
love.graphics.shear(math.cos(t), math.cos(t * 1.3 ))
love.graphics.rectangle('fill', 0, 0, width, height)
+
love.graphics.rectangle('fill', 0, 0, 100, 50)
 
end
 
end
 
</source>
 
</source>
 +
 
== See Also ==
 
== See Also ==
 
* [[parent::love.graphics]]
 
* [[parent::love.graphics]]

Revision as of 03:19, 14 January 2016

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

Shears the coordinate system.

In version 0.9.2, a bug caused this function to reset all transformations. It was fixed in 0.10.0. A workaround for 0.9.2 would be to use a combination of rotating and scaling to imitate shearing.

Function

Synopsis

love.graphics.shear( kx, ky )

Arguments

number kx
The shear factor on the x-axis.
number ky
The shear factor on the y-axis.

Returns

Nothing.

Examples

Squish a rectangle

function love.draw()
	love.graphics.translate(100, 100)
	local t = love.timer.getTime()
	love.graphics.shear(math.cos(t), math.cos(t * 1.3 ))
	love.graphics.rectangle('fill', 0, 0, 100, 50)
end

See Also


Other Languages