Copying, Duplicating & Resizing Buttons with multiple states

I have a set of nine buttons whose states are set by various variables.  Each button has ten states - mostly colour or format changes.

I need to duplicate the button eight times on the same slide an then I want to use smaller versions of the buttons on other slides that will reflect the current state of the buttons dependent upon the current variables.

How can replicate the button, move and resize it ensuring the ten button states are also kept in sync with the 'normal' state?

I have a horrible feeling this is not possible and if so, are there any suggestions as to how to achieve this?

7 Replies
Jason Reed

I agree with Phil. If you copy the button, all of the states will go with it. If there's text in any of the states, resizing won't alter it. That would need to be manually adjusted.

The only thing to watch out for is if you put buttons onto another slide that doesn't have the necessary triggers, you may lose some functionality.

Let me know how you go.

Walt Hamilton

If you have a variable that tells what state the button has, then all you need is a trigger "Set state of button1 to state1 when timeline begins if variable1 = 1" and "Set state of button1 to state2 when timeline begins if variable1 = 2" etc.

One trigger like that for each state of each button. Put them on one slide, then copy and paste to each slide.

Even better, if you have planned ahead far enough, make 1 blank slide and duplicate it. All the buttons and triggers are copied, and then you can add the specific content.

Even better still, try putting the smaller buttons and triggers on a master layout, and they will show up on every new slide.

Martin Dean

Jason & Phil

Many thanks for your very quick responses.

When I copy my button to a new slide, the states do indeed arrive safely in the new location.  However, when I resize the button, only the 'normal' state resizes (see screen cap attached). 

You should be able to see the normal state at its new size under one of the states being displayed.

Any thoughts would be greatly appreciated

Martin Dean

Hi Walt

Many thanks for your response too - much appreciated.

My initial intention was to have the button state updated in a lightbox presentation. However the advice you have given:

"if you have a variable that tells what state the button has, then all you need is a trigger "Set state of button1 to state1 when timeline begins if variable1 = 1" and "Set state of button1 to state2 when timeline begins if variable1 = 2" etc."

...is excellent and works well in a slide layer - but apparently not when used in a lightbox.  This is presumably because the timeline (of the source slide) is paused at the point where the lightbox is invoked and I cannot think of a way to restart the timeline on the source slide so that it reads in the new value of the variable.

Perhaps this is a step too far for SL2?

Walt Hamilton

As to the states, the good news is that if you once get a resized version of the buttons, you can then copy the new size to where you want it. To create the new sizes, I would copy a full sized button to a new slide, change its size, edit states, delete all the states, then copy the normal state, and change its name and color.

The lightbox is a little more esoteric, but you probably can do it. You need an action that can initiate your triggers when the lightbox closes. I think you can use the action that opens it. If it opens at a predictable spot on the timeline, then you can set the trigger to .25 after that action, because you are right, the timeline is paused. If a user action (like a click) initiates the lightbox, it can still be done.

On the object that is clicked, you need two triggers:

1. Set a trigger to show a blank layer. Give it a .25 sec timeline. Give it a trigger to set the states of the buttons when the timeline ends. This works because the layer is considered part of the slide and can manipulate objects on it. The lightbox slide cannot change the calling slide when it closes.

2. Set a trigger to lightbox.

When the lightbox closes, the timeline resumes, the layer's timeline ends, and you can use that action to trigger any sort of action you want.

Note: These triggers will only work in this order.