Ground Script explanation
Hi people , im loocking the scripts of the standart asset, and lock the block, how make the ground check, can someone explain this script to me? I know what he does, but I would like to understand all the components.
Collider2D[] colliders = Physics2D.OverlapCircleAll (groundCheck.position, groundradius, whatsIsGround);
for (int i = 0; i < colliders.Length; i++)
{
if(colliders[i].gameObject != gameObject)
grounded = true;
}
I understand that you are declaring the variable colliders , but I do not understand Physics2D function, and the loop.
Answer by jgodfrey · Jun 15, 2016 at 12:36 AM
OverlapCircleAll() returns a collection of colliders found within a defined radius. You can see the details in the scripting docs here.
So, whatever colliders that method returns are stored in an array named "colliders". Then, the "for" loop iterates through all of the colliders in that array. For each collider in the array, if the gameObject the collider is attached to is NOT the gameObject the above script is attached to (which is presumably the player), then it sets the grounded flag.
So, essentially... It finds all colliders within some defined radius of the player. Then, if one of the found colliders is NOT on the player itself, it assumes the ground has been found and sets the "grounded" boolean. That boolean is then likely used elsewhere to handle grounded logic.
Your answer
Follow this Question
Related Questions
What is the best way to do a 2D Ground Check? 0 Answers
How do I make Polygon Collider 2D more smooth? 0 Answers
Is it possible to exclude a GameObject by his tag for a Physics2D.OverlapPoint test ?, 0 Answers
OverlapBox is not detecting all objects inside it. 0 Answers
,How to use Physics2D.OverlapArea 1 Answer