- Home /
Detect cloned object detection once
I'm working on a game with a scene like this
One circle and one square, every time the circle comes to the square, the counter will +1 once if the circle exits the square, the counter = 0
My issue is when the circle is spawned/cloned, the counter won't count new clones that collide with the square as +1, the counter will remain counter = 1. These clones needs to -1 also when they leaves the square.
The game is how many circle plus it's clones can players brings to the square. Players can move it out of the square but the counter will remove 1 point per circle that enters then exit the square.
void OnCollisionEnter2D(Collision2D col) {
if (hasBeenTriggered)
return;
hasBeenTriggered = true;
count = count + 1;
SetCountText ();
getscore = count.ToString ();
The above code lets the counter counts collision with squares once, but it won't count cloned circles. If I would make that every time the circle is cloned to make the condition = true, it will also make the original circle be added again to the counter, so I don't know how to make the square detect collision with circle once plus collision with it's clones once.
if (exit == false)
{
if (exit = true) {
count = count + 1;
SetCountText ();
getscore = count.ToString ();
}
}
Writing like above makes it count collisions but continuously, score will be over 200+, 300+. This could work. But I would like to learn how to make the square only detects collision with circles and it's clones once.
Your answer
Follow this Question
Related Questions
Collision Counter +1 To Counter Only Once When Collided 1 Answer
Collider2D.GetContacts() always returns only 1 contact 1 Answer
Get the script instance associated with a collider 1 Answer
OnTriggerEnter not working, tried everything! :( (C#) 3 Answers
Why do Instantiated GameObjects Colliders only work on player i am controlling,nothing else? 2 Answers