Difference between revisions of "love.graphics.shear"
Mcjohnalds45 (talk | contribs) (Added an example) |
(Note about persistence.) |
||
(7 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
{{newin|[[0.8.0]]|080|type=function}} | {{newin|[[0.8.0]]|080|type=function}} | ||
Shears the coordinate system. | 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. | ||
+ | |||
+ | {{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 14: | Line 19: | ||
=== Squish a rectangle === | === Squish a rectangle === | ||
<source lang="lua"> | <source lang="lua"> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
function love.draw() | function love.draw() | ||
− | love.graphics.translate( | + | 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, | + | love.graphics.rectangle('fill', 0, 0, 100, 50) |
end | end | ||
</source> | </source> | ||
+ | |||
== 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.
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. |
Contents
Function
Synopsis
love.graphics.shear( kx, ky )
Arguments
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
- love.graphics
- love.graphics.pop
- love.graphics.push
- love.graphics.rotate
- love.graphics.scale
- love.graphics.translate
- love.graphics.origin
Other Languages
Dansk –
Deutsch –
English –
Español –
Français –
Indonesia –
Italiano –
Lietuviškai –
Magyar –
Nederlands –
Polski –
Português –
Română –
Slovenský –
Suomi –
Svenska –
Türkçe –
Česky –
Ελληνικά –
Български –
Русский –
Српски –
Українська –
עברית –
ไทย –
日本語 –
正體中文 –
简体中文 –
Tiếng Việt –
한국어
More info