- press ENTER to search or ESC to cancel
Table of content
Globals namespaces
Constants
- Align
- AniDir
- BlendMode
- BrushPattern
- BrushType
- ColorMode
- FilterChannels
- FlipType
- Ink
- MouseButton
- MouseCursor
- RangeType
- SelectionMode
- SpriteSheetDataFormat
- SpriteSheetType
- TilemapMode
- TilesetMode
- WebSocketMessageType
Classes/objects
- Brush
- Cel
- Color
- ColorSpace
- Dialog
- Editor
- Events
- Frame
- GraphicsContext
- Grid
- Image
- ImageSpec
- KeyEvent
- Layer
- MouseEvent
- Palette
- Plugin
- Point
- Properties
- Range
- Rectangle
- Selection
- Site
- Size
- Slice
- Sprite
- Tag
- Tile
- Tileset
- Timer
- Tool
- TouchEvent
- Version
- Uuid
- WebSocket
- Window
Rectangle
If a function receives a rectangle as an argument it could be several things:
- You can specify the parameters
x, y, width, heightdirectly as arguments of the function. E.g.sprite:crop(0, 16, 64, 32) - You can specify an object with
x,y,width, andheightproperties. E.g.sprite:crop{ x=0, y=16, width=64, height=32 } - You can specify an array with 4 elements:
E.g.
sprite:crop{ 0, 16, 64, 32 } - You can specify a
Rectangleinstance: E.g.sprite:crop(Rectangle(0, 16, 64, 32))
Rectangle()
Rectangle()
Rectangle(otherRectangle)
Rectangle(x, y, width, height)
Rectangle{x=number, y=number, width=number, height=number}
Rectangle{x=number, y=number, w=number, h=number}
Rectangle{number, number, number, number}
Rectangle.x
local x = rectangle.x
rectangle.x = newX
Gets or sets the x-coordinate of the rectangle. 0 means at the left side of the screen/sprite.
Rectangle.y
local y = rectangle.y
rectangle.y = newY
Gets or sets the y-coordinate of the rectangle. 0 means at the top side of the screen/sprite.
Rectangle.width
local width = rectangle.width
rectangle.width = newWidth
Gets or sets the width of the rectangle. If it's 0, the rectangle is empty (so the coordinate doesn't matter).
Rectangle.height
local height = rectangle.height
rectangle.height = newHeight
Gets or sets the height of the rectangle. If it's 0, the rectangle is empty (so the coordinate doesn't matter).
Rectangle.w
Same as Rectangle.width.
Rectangle.h
Same as Rectangle.height.
Rectangle.origin
local point = rectangle.origin
rectangle.origin = newPoint
Gets or sets the origin of the rectangle with a Point object, just like changing Rectangle.x and Rectangle.y at the same time.
Rectangle.size
local size = rectangle.size
rectangle.size = newSize
Gets or sets the size of the rectangle with a Size object, just like changing Rectangle.width and Rectangle.height at the same time.
Rectangle.isEmpty
local booleanResult = rectangle.isEmpty
Returns true if the rectangle is empty i.e. width and/or height are 0.
Rectangle:contains()
local booleanResult = rectangle:contains(otherRectangle)
Returns true if otherRectangle is inside rectangle.
Example:
local bounds = Rectangle{ x=0, y=0, width=32, height=32 }
local rectInside = Rectangle{ x=4, y=4, width=8, height=8 }
if bounds:contains(rectInside) then ... end
Rectangle:intersects()
local booleanResult = rectangle:intersects(otherRectangle)
Returns true if rectangle intersects in some way otherRectangle.
Rectangle:intersect()
local newRectangle = rectangle:intersect(otherRectangle)
Returns the new rectangle newRectangle which is the intersection of
rectangle and otherRectangle. If both rectangles don't intersect each other, the result will be an empty rectangle
Rectangle:union()
local newRectangle = rectangle:union(otherRectangle)
Returns the new rectangle newRectangle which will be a rectangle big
enough to contains both given rectangles rectangle and
otherRectangle.