How to make hidden objects unclickable?

I tried this but it doesnt work.

I tired:
Condition: At the beginning of scene
Actions: hide object

Condition: Cursor on (object)
Condition: Layer (name) is visible
Condition: The animation of (object) is (animation)
Condition: (Object) is visible
Condition: Touch of Left mouse button is down
Actions…

It’s kinda like the second group but in the format of the first group.

The layer I’m working on is called “Research”. When I click a button another layer(basically a pop-up) comes on top of “Research”. When I click on an area where the object is on (but hidden) it activates

Hey!

Is the popup layer the one with the buttons? In that case it’s a simple fix. Just change your Layer "Research" Is visible condition to say Layer "EnginePPopUp" Is visible.

I think you just mixed up the layer names, and since the research layer is always visible it allows for button presses!

Lemme know if you that worked or not!

OB

Or if you mean that buttons on the research layer are being activated when the popup is up, just add an inverted condition saying Layer "EnginePPopUp Is visible in any events that let you press buttons on the research layer.

No, “Research” is a layer with buttons, then the buttons activate another layer with a button. I changed it and it doesnt work

As a general heads up “The cursor is on” events do not care about button visibility. It cares about location.
With that said, every event that deals with buttons need to have their own visibility required as a condition.

E.g. Lets say your other layer with buttons is called “Test”.

For every event that deals with buttons on test, they need to have “Layer “Test” is visible” as a condition.

Additionally, if their layer is going to remain visible while Research is visible, but are “on top” of research buttons, and you don’t want the research buttons to activate, this means you must also go into every Research button event, and add “Layer “Test” is visible (inverted)” as a condition.

You can make all of this simpler by having a parent event that is just “Layer “Blah” is visible” by itself, and make the rest of your events subevents of that.

Just to clarify in case it comes up: Layer visibility DOES NOT impact Object visibility for conditions. Objects on a hidden layer are not treated as hidden for purposes of conditions such as “ObjectBlah is visible (not marked as hidden)”

Edit:

Also, as a heads up, these two events are potentially going to conflict. Since all events are processed every frame, it’s either going to immediately hide then unhide the object, or the inverse, if you move the cursor off the engineR object while the button is held.

You will need to implement some kind of “mouse has been clicked” toggle variable where you track if the mouse has been released since it was last clicked, require that variable to be true as part of the event conditions, then set it to false as the last action in the event. You’ll need a separate event that checks that the mouse is not pressed (Do not use released conditions, they won’t apply for this purposes), and set the variable back to true.

Double also, whenever dealing with any hide or show events, you want to use the trigger once condition.

2 Likes