Difference between revisions of "love.graphics.shear"

m
(Note about persistence.)
 
(2 intermediate revisions by 2 users not shown)
Line 2: Line 2:
 
Shears the coordinate system.
 
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.
+
This change lasts until the next [[love.draw]] call, or a [[love.graphics.pop]] reverts to a previous [[love.graphics.push]], or [[love.graphics.origin]] is called - whichever comes first.
 +
 
 +
{{notice|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 ==
 
== Function ==
 
=== Synopsis ===
 
=== Synopsis ===
Line 26: Line 29:
 
== See Also ==
 
== See Also ==
 
* [[parent::love.graphics]]
 
* [[parent::love.graphics]]
 +
* [[love.graphics.pop]]
 +
* [[love.graphics.push]]
 +
* [[love.graphics.rotate]]
 +
* [[love.graphics.scale]]
 +
* [[love.graphics.translate]]
 +
* [[love.graphics.origin]]
 
[[Category:Functions]]
 
[[Category:Functions]]
 
{{#set:Description=Shears the coordinate system.}}
 
{{#set:Description=Shears the coordinate system.}}

Latest revision as of 18:22, 3 June 2022

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

Shears the coordinate system.

This change lasts until the next love.draw call, or a love.graphics.pop reverts to a previous love.graphics.push, or love.graphics.origin is called - whichever comes first.

O.png 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