States showing on layers

Hello - I've had this problem with every project I've worked on, and the only solution I've found is to not use states.  But there must be a way to control this and I just haven't found it.

Problem:  Base layer has 2 buttons that invoke a layer.  Meanwhile, I want the button to dim when it's selected so the user knows that it's been done.  When I created the trigger to invoke the state, the button now shows on the layer (dimly, but it's there).  I do not want the button to seep thru to the layer, I want the button to only show on the Base.

5 Replies
Sharon Bildstein

Thank you so much for the looking at the file and taking the time to reply, Richard.  I do, actually, have Hide Base Layer checked off.  However, I think I figured it out now that I posted the question (just like when you take you car to the shop, it no longer makes that funny sound that made you make an appt in the 1st place).

I know buttons come with some built-in functionality.  I was adding a trigger to show the Visited state when the button was selected.  When I remove the trigger, the overlay problem goes away, and the state of the button is still dimmed when returned back to the layer.  So, I'm guessing that setting a state/trigger rather than relying on the built-in functionality with the button was the crux of my problem.

Walt Hamilton

Sharon,

Absolutely. The built-in states come with triggers that are hardwired to make them perform their expected functions. When you write your own triggers to mimic those functions, they may come into conflict, with, as you observed, results that are sometimes interesting, but almost never pretty or useful.

If the built-in functions are not exactly what you want and you need to change them, you need to create a state with a custom name, then you can write whatever triggers you need for it.

Ashley Terwilliger-Pollard

Hi Sharon,

As Walt mentioned using the built in states even if you've added them to your own shape, they'll still behave as defined here. Adding triggers to control them can also cause issues associated with the course and set up, so if you're looking to have the states changed based on a specific action I'd recommend creating a custom state (with a custom name) and then using the triggers to control it.