I’d like to share some Articulate Storyline tips I’ve recently discovered. I find them very helpful and hopefully they support your next Storyline course.
Tip #1: Object Timing
When I was developing a tab type interaction for our eLearning Template library I wanted to add some cool animation effects for the tabs that on the screen. I liked the effect of scrolling in one after the other, but specifically the one that could come the other was just milliseconds behind it and then milliseconds behind that.
It seemed in Storyline I did not have as much control over timing of my animation, typically I will just grab the edge of my object and move the edge to when I want that object to come in. The issue was it seemed to jump to the next line on the timeline and I couldn’t get it how I wanted it.
Well, one tip I discovered to give you more control over when your object comes in and even goes out is to right click on the object within your stage and select the Timing option within the menu.
Once that is selected, you will see a new pop up window that gives you more control over object timing.
Adjust the start time, (you can enter in any number here). When I did the tab interaction, I increased each object by .1 to get the desired effect. I found it helpful to get your timings just right.
Tip #2: Change Object States on Drop
When I was creating this cork board interaction I wanted the notes you see below to show a push pin as soon as you dropped it onto the cork board. I used the feature to first of all convert my layout to a free form drag and drop. Since you select which objects are the drag and which objects are the drops from the pop up menu, you’d think that the form has all the options you can do.
Well, you can actually still add triggers to objects even when you are using the freeform question type, so set up your layout and then convert it to a freeform question. Save your changes and go back to your main layout.
First, you will need to do add some additional states to your draggable objects. For me, I had a note and I wanted it to change to have a push pin on it once dropped so I first brought in my note image I found in our template library. I brought that note into Storyline as a regular image.
I then needed to prep a new image of the note with a push pin which I also grabbed from our template library and combined those two images within Photoshop (which you can do in any photo editor or even group them within Storyline). So with the new image of the note containing push pin I went back into Storyline and selected my note without the push pin and clicked on the States tab to create a new state of the note having the push pin.
I created a dragged correct state and drag incorrect state and replaced the image of the note having no push pin to one having the push pin
Note: If you want the push pin to show also when you drag over the cork board you can also create a state labeled drag over and that state will show when you drag the note over the cork board.
Now that we have all our states created it is time to add triggers to the notes. Select a note and add a trigger, select the trigger Change State Of as the action of the trigger when the pop up shows. The On Object should already reflect the note that you selected so you should not have to do anything there. Select the To State option to be either one of your drop states. Change the When option to be Object Dropped On and then the Object should still be the note and then a Dropped On section will appear. Select the object or objects it will be dropped on which in my case is the cork board. You should end up with something like this:
That is it! When you drag your object onto the drop zone it will change to the state with the push pin or whatever draggable object you create.
Tip #3: Showing an Introduction Layer Only Once
When building an interaction or game you may want to have an introduction show the first time the user comes to this interaction or game but not any other time they come to it. This is a pretty simple thing to do and only takes the use of 1 variable. The first thing to do is to create your content and game like normal but instead of placing the introduction text on the main layer place it on an additional layer within Storyline.
Take for example my cork board interaction, I have the main interaction on my main timeline and then I have anything to do with the introduction on the Introduction layer.
That way I can place the content I only want to show once on the Introduction page. So I have everything set up so the next thing to do is to create a simple True/False variable within Storyline. You create variable right under the Triggers section by clicking on the button with an X on the button.
Once the variable window opens click on the create new variable option and a new window will open to create your new variable. Name the variable anything you want keeping in mind you cannot have spaces in the name. I named mine firstVisit set the type to True/False and the default value to False and then click ok and then ok again to go back to Storyline.
We will be using that variable shortly when we create our triggers. When Storyline plays it will first run the main layer, since our game is on our main layer our Introduction layer will never get triggered unless we add a trigger to show it. You might think you could add the introduction on the main layer and the game on the second layer but then any other layer you create won’t have easy access to your game objects so it is easier to keep all your main game items on the main layer.
Now we need to add a trigger on the main layer to show the introduction layer as soon as the main layer timeline starts. So on the main timeline create a new trigger. The Action will be Show Layer because we want to show the introduction layer. Under the layer option we select the layer we want to show which in our case is the Introduction layer and the when will be set as Timeline Starts that way we show this layer right away instead of having to wait for the timeline to end. So your new trigger should look like this:
This will work great, however every time I show this main timeline layer this trigger is going to fire and I am going to get the intro page showing more often then I want. Or if I go to another page and come back it will show the intro layer again and again. The way to stop this is to add a condition to this trigger, meaning we are telling Storyline to fire this trigger but only fire this trigger if the right conditions are met which the conditions will be based off our variable we created.
Click on Show Conditions and then a new section will appear. Click on the green plus button to create a new condition. The condition window will appear where you can create your condition. Remember, we only want to run this trigger if our FirstVisit variable is to set it to false, (which it is by default). So fill out the condition as you see here (Using your own variable of course).
The condition is saying if the variable FirstVisit is equal to False then it is ok to run this trigger, again keeping in mind that when we created that variable we set the default value to false to begin with so the first time this runs it will be false and the trigger will run.
One last thing we need to do is once the introduction page opens for the first time we need to change the variable to True, so it never opens or runs again. We do this by going into the Introduction layer and adding a timeline trigger to Adjust Variable.
Next, go to your Introduction layer and add a new trigger. Adjust your trigger to match these options here:
Now we are adjusting the FirstVisit variable as soon as the timeline starts to now be true instead of false. That way every time from now on we go back to the main layer that trigger to show the intro page will never show because that condition is no longer met meaning the variable is no longer False.
If you are just getting started with Storyline or even want to take your skills to a higher level in Storyline feel free to check out my online Articulate Training here. It gives you 9.5 hours of in depth Articulate Storyline training for only $99.