Using variables to display layer name?

Nov 04, 2012

Is there any way to use a variable (or other technique) to display the name of the layer that is currently visible?  I have a scene which has about 135 layers that are linked together in a binary decision tree and, for troubleshooting purposes, I would like to be able to know which layer is visible when I'm testing the course.

8 Replies
Nancy Woinoski

Hi Rodger - you could create variables to do this but it might be more effort than it is worth because you would have to create a separate variable for each layer and then use a text field to display it on the slide - there is no way (at least none that I know of) to create one variable and then have it pick up the layer name.

So your best bet would be to just use a text box to add the name of the layer to the layer slide - it would then display when the layer is visible.

Once you have finished all your testing and troubleshooting, you would have to go back and delete them before publishing (or hide them) if you don't want the names to display in the completed course.

Not ideal, but should work for you.

Rodger McReynolds

Hmmm...6 scenes times 135 layers each = lots of hassle.  Is there a possibility of using some JavaScript?  Could I create a variable on a Master Page, then access it from the layers using some JavaScript?  I'm thinking of something like putting a textbox on the Master Page then writing some code like

textbox1.text = myVar

On each layer I could put some code like

myVar = layer.name

Do I have access to the various properties of the objects on a screen through cocde?  I can't find any documentation about doing this kind of thing at all.

Steve Flowers

Hey, Rodger - 

Unfortunately, none of that stuff is exposed. There is a way using variables but it's not automatic (takes a bit of work) I've done similar things at the slide level, displaying an address / reference in a text box at the master slide level.

  • Start by creating your address holder variable (text):  curAddress= ""
  • On your master slide, add a text box that contains this macro %curAddress%
  • On your slide or layer, add a trigger to change the value of curAddress to the address you want to reflect (on timeline start, change value of variable curAddress to s1l2a.1, for example)

Now when the slide layer shows it'll change that value and populate the box on your master slide layer. It seems like more work than it is. You can copy and paste the trigger and click the value to change it. Pretty quick once you get rolling.

Steve Flowers

Then you've got to go back and sweep out all the text fields when you're done It's really not that bad. Pasting the trigger then clicking the value in the trigger panel makes it pretty smooth. 

I'm used to doing this using the story view. Pretty fast. I can usually associate addresses for each slide in a 50 slide story in a couple of minutes. 

Steve Flowers

That was my initial motivation for jamming it into variables. I thought it would be easier to employ the value through an email submission / google docs capture, etc.. Haven't yet employed those but found it was relatively painless to add a variable change trigger so I stuck with it All of my screens have a trigger stack that I add to an off-screen shape. I copy and paste this shape and the stack comes with it. The screenID variable is in the stack.

Rodger McReynolds

Putting a textbox on the Master Slide with a variable in it works pretty well.  The only downside is that I have to go to each layer and add a trigger to put the proper text into the variable.  It sure would save effort if I could get to the properties for each object on a layer (plus the laer itself).  Oh, well...

This will add a bunch of triggers to the project, but it looks like I'll get the result I'm looking for.  Thanks to everyone for your input.

R.

This discussion is closed. You can start a new discussion or contact Articulate Support.