Competing box colliders?
I'm trying to make a hidden object game.
I have a background image on my 'object' layer at 0, then on top of it, I have a bunch of 'hidden' objects on the same layer at layer order 1 or 2.
Each object including the background has a BoxCollider2D with isTrigger set on it, as well as a script. When someone clicks on an object that's on a list of objects to find, they get a score +10. But I want it to be when they click on the screen without clicking on an object they get -10.
Unfortunately, 50% of the time, the background gets triggered while the object on top does not. When I restart the level, none of the hidden objects gets triggered, only the background object (it's really weird). I can't understand why.
Here's the HiddenObject script on every 'hidden object' including the background image:
void OnMouseDown()
{
Debug.Log(objectName);
// background image that covers the whole screen but is at position 0
if (objectName == "background")
{
int score = PlayerPrefs.GetInt("currentScore");
int newScore = score - 10;
PlayerPrefs.SetInt("currentScore", newScore);
scoreTxt.text = newScore.ToString();
}
// these game objects are at position 1 or more on the layer
foreach (GameObject b in buttons)
{
// only a selection of all possible hidden objects are on the list of objects to be 'found'
if (b.GetComponentInChildren<Text>().text == objectName)
{
gameObject.SetActive(false);
b.SetActive(false);
int score = PlayerPrefs.GetInt("currentScore");
int newScore = score + 10;
PlayerPrefs.SetInt("currentScore", newScore);
scoreTxt.text = newScore.ToString();
break;
}
}
}
So I'm not sure why this approach isn't working properly. If anyone has any ideas I'd really appreciate hearing them. Thanks.
Your answer
Follow this Question
Related Questions
Help 2D Custom HillClimbRacingGame 0 Answers
Object with rigidbody2D doesn't move when it's supposed to 0 Answers
I need help with making a game over when an object interacts with a wall? 0 Answers
Sprites are wiggle / shaking while moving the player. 1 Answer
C# 2D top down shooter game, How do I get the player to shoot towards the mouse cursor? 0 Answers