Difference between revisions of "Shape:getBoundingBox"

(Fixed the vertex order in the text, which was wrong (see: see sample code, see attached image produced by sample code))
(included link to other languages)
Line 67: Line 67:
 
{{#set:Description=Gets the bounding box of the shape.
 
{{#set:Description=Gets the bounding box of the shape.
 
}}
 
}}
 +
== Other Languages ==
 +
{{i18n|Shape:getBoundingBox}}

Revision as of 07:59, 23 January 2011

Gets the bounding box of the shape. This function can be used in a nested fashion with love.graphics.polygon.

Function

Synopsis

A bounding box is the smallest rectangle that encapsulates the entire polygon.

x1, y1, x2, y2, x3, y3, x4, y4 = Shape:getBoundingBox( )

Vertexes are returned starting from the bottom-left in a clockwise fashion (bottom-left, top-left, top-right, bottom-right).

Arguments

None.

Returns

number x1
The x-component of the first vertex, bottom-left.
number y1
The y-component of the first vertex, bottom-left.
number x2
The x-component of the second vertex, top-left.
number y2
The y-component of the second vertex, top-left.
number x3
The x-component of the third vertex, top-right.
number y3
The y-component of the third vertex, top-right.
number x4
The x-component of the fourth vertex, bottom-right.
number y4
The y-component of the fourth vertex, bottom-right.

Example

Love Ex getBoundingBox.png


And here's the source code if you want to try/test/see it yourself.
function love.load()

    world = love.physics.newWorld(650, 650)
	    world:setGravity(0,700)
		world:setMeter(64)
		
	body = love.physics.newBody(world, 650/2, 650/2, 0, 0)
	shape = love.physics.newRectangleShape(body, 0, 0, 300, 300, 0)

		
	love.graphics.setFont(18)
    love.graphics.setBackgroundColor(255, 255, 255, 255)
	love.graphics.setMode(650, 650, false, true, 0)

end

function love.draw()

    X1, Y1, X2, Y2, X3, Y3, X4, Y4 = shape:getBoundingBox()
	
	love.graphics.setColor(0,0,0,255)
	
    love.graphics.print("X1, Y1", X1, Y1)
	love.graphics.print("X2, Y2", X2, Y2)
	love.graphics.print("X3, Y3", X3, Y3)
	love.graphics.print("X4, Y4", X4, Y4)

end


See Also

Other Languages