Talk:GUI Collision Tutorial: Difference between revisions

From Legacy Roblox Wiki
Jump to navigationJump to search
>NXTBoy
No edit summary
>Flurite
No edit summary
Line 19: Line 19:
{{User:flurite/signature|date=21:36, 21 January 2012 (UTC)}}
{{User:flurite/signature|date=21:36, 21 January 2012 (UTC)}}
:That's a real mess, and impossible to read. Why the {{`|math.abs(math.floor(}}? {{User:NXTBoy/sig|date=22:21, 21 January 2012 (UTC)}}
:That's a real mess, and impossible to read. Why the {{`|math.abs(math.floor(}}? {{User:NXTBoy/sig|date=22:21, 21 January 2012 (UTC)}}
::Well, that's how I was taught and it seems pretty common elsewhere as well. The math.floor() was used because sometimes the size of a UDim2 gets to a decimal point for some reason, so that rounds it down to the nearest pixel, and the math.abs() is used for negative positions. What's good about using AbsolutePositions/Sizes is that they work for scales and offsets and a combination. With explanation and formulas, it's pretty easy to understand.

Revision as of 00:59, 22 January 2012

Possible duplicate of Collision_detection_for_GUI's

Trappingnoobs (Writer) Have I done something bad? Good? Tell me on my talk page 15:51, 6 August 2011 (UTC)
That page is terrible
18:41, 6 August 2011 (UTC)
Still, we have two pages for the same thing. :l
Trappingnoobs (Writer) Have I done something bad? Good? Tell me on my talk page 13:36, 7 August 2011 (UTC)


Sorry, I know what I wrote was terrible. :(
Also, how do you add one of those signatures you guys have? (Flurite)

Isn't the standard formula for detecting GUIs this?

function IsTouching(gui1, gui2)
	return gui1.AbsolutePosition.X + math.abs(math.floor(gui1.AbsoluteSize.X)) > gui2.AbsolutePosition.X and
	gui2.AbsolutePosition.X + math.abs(math.floor(gui2.AbsoluteSize.X)) > gui1.AbsolutePosition.X and
	gui1.AbsolutePosition.Y + math.abs(math.floor(gui1.AbsoluteSize.Y)) > gui2.AbsolutePosition.Y and
	gui2.AbsolutePosition.Y + math.abs(math.floor(gui2.AbsoluteSize.Y)) > gui1.AbsolutePosition.Y
end

Flurite - 21:36, 21 January 2012 (UTC)

That's a real mess, and impossible to read. Why the math.abs(math.floor(?
22:21, 21 January 2012 (UTC)
Well, that's how I was taught and it seems pretty common elsewhere as well. The math.floor() was used because sometimes the size of a UDim2 gets to a decimal point for some reason, so that rounds it down to the nearest pixel, and the math.abs() is used for negative positions. What's good about using AbsolutePositions/Sizes is that they work for scales and offsets and a combination. With explanation and formulas, it's pretty easy to understand.