Resume initial state of layer via button

In the attached slide, I have different layers with objects that students drag and drop in various orders. They move between layers to see more objects. I want to keep objects in the drop locations while the user moves back and forth (so they can't select the same object twice once selected); but I want the objects to snap back to their initial location if the user presses the "reset" button. I have two states for each object, "normal" and "included", where "included" is blank. 

Is this even feasible? Thank you in advance for your help!

6 Replies
Leslie McKerchie

Hi Jonathan!

I cannot say that I've seen a setup like this before. I'm hoping someone will be able to pop in and assist you with your design as it's a very clever concept.

By having the drag items on layers and the layers set to be hidden from other slide layers, I'm not sure how this can work without a lot of overlap and possible confusion. I'm no ID though, so again, hopefully someone can assist.

Brian Allen

I've used a lower tech solution for creating a reset button that has worked fairly well for me in the past.  Create your reset button and add a trigger to this button to jump to the current slide.  Adjust the slide properties for that slide to reset to initial state when revisited.  This essentially takes care of your reset.

I've made this adjustment to your .story file.  I also moved your reset "foundation" trigger to the slide level, as well as added a trigger to reset "studyabroad".

Jonathan Southgate

Hi Brian,

Thanks for the straightforward solution. It looks that the "reset to initial state" does not apply to the individual layers though. I have them set to "saved state" because otherwise every time a student goes between the layers they see the original selections again. Is there a way to reset the slide to initial state and keep the layers "saved state"?

I would think that "resetting the slide" meant every object on it (including layers) was set to initial state, but obviously that is not the case.


Brian Allen

Jonathan, you're correct. You have the ability to control "saved state" or "initial state" on each individual slide layer, and the base layer does not override this.

That can be good or bad...

In your case, if you don't want the entire slide to reset (including layers) each time the slide is revisited, then that makes a true reset on your slide and layers quite a bit more cumbersome.

It can probably be done, but you'll have to really look at how you're controlling states, not only from the base layer but the slide layers as well.

If I get some time I may play around with your file and see what can be done.

As you work on this, I would encourage you to stay away from using the built-in "normal" state for this type of thing.  My experience is that it can be pretty buggy sometimes.

A work around I use is to duplicate the normal state and rename it to something like "starting" or "base" or something like that. Doing this seems to work much better.

Jonathan Southgate

Thanks Brian for your feedback. Looking at your document changed my thinking and I came up with a solution that worked!

I didn't realize that each layer has its own timeline. Using this new found insight, I set a trigger to change the state of each object at timeline start. The timeline in this case is on the layer (which if I set to initial state upon return always restarts its own timeline). This way the trigger has an action to initialize the change layer state back and forth depending on whether the "object"used variable is true or false.

Attached is my new document for those people who might have a similar issue in the future.

Thanks for making me re-think my strategy!