Storyline360, Animation and GSAP ( Greensock )
Oct 23, 2020
Hi,
Trying to figure something out in SL360 i stumbled upon the ds-bootstrap.min.js file thats added to the lib/scripts folder when publishing a Storyline360 file. In that file are GSAP(Greensock) references... some samples../*!
* VERSION: 1.11.8
* DATE: 2014-05-13
* UPDATES AND DOCS AT: http://www.greensock.com
*
* @license Copyright (c) 2008-2014, GreenSock. All rights reserved.
* This work is subject to the terms at http://www.greensock.com/terms_of_use.html or for
* Club GreenSock members, the software agreement that was issued with your membership.
*
* @author: Jack Doyle, jack@greensock.com
*/
What i can find in that file that both GSAP CSS-plugin, easing and basic GSAP tweens are somehow used in Storyline.
Bad news however is that its a really old version they have implemented... from 2014... version 1.11.8, whereas the current GSAP version is version 3.5.1 !!!
Big advantages of the newer GSAP are mobile performance, speed and perfect control over SVG. So Storyline would certainly benefit from updating their internal used Storyline to the latest version.
As Storyline probably uses GSAP for all its animation features, the transitions and everything, i personally would really like it to have the control of GSAP in the hands of the frontend-user. I do use GSAP constantly in my elearning projects, but always have to add the newest version..
Is there an option to get the latest version of GSAP implemented in Storyline?
And can we have some better scripted control over Storyline elements...as you do use it already anyway?
Kind regards,
Math Notermans
63 Replies
nice and complete explanation Jurgen...let me quickly check the font i used.
used Open Sans, so it should work as shown. Will doublecheck and fix later.
interesting news - the coding depends on which characters really used in the text of the complete course (with the same font)
tests are made with Firefox - therefore the "good" view of non-printable characters
decoding
Example 1: in the course is used "f – ff – fi – fl - ffi – ffl (Stoffflasche)"
Example 2: in the course is used "f – ff – fl - ffi – ffl (Stoffflasche)" <- no "fi" used (same decoding)
=> decode of "fl", "ffi", ffl" has different results!
=> don't use fonts with legatures, if you want to grab the vector text !
=> you can use e.g. font "Articulate" (no ligature at all) for the vector text
Or you could add all the ligatures in an offstage text box in the first slide which would/should make it predictable.
Just read it properly I think I will use Articulate font which would work for this.
Sent from my iPhone
For the SplitText and similar setups..i do think using a non-ligature Articulate font version for the original text field probably is the easiest solution. Good to keep in mind. Whenever you create HTML text with that content...it doesnot matter anyway as its no real Storyline text anymore.
Even better I have to use it in a mock-up of a terminal window and Cascadia Mini has no ligatures.
Sent from my iPhone
Your ligature test.story is very helpfull...as it makes it easy to check whether any given font has issues with them in Storyline.
Math, I was wondering if I can ask to borrow your coding genius mind to help me figure out the screen size refresh code for this slide. It functions like I want on a desktop monitor, but when reduced down the scrolling panel percentages don't work correctly. Here is the example -
https://360.articulate.com/review/content/ce7573c7-fc10-42c8-961e-c0fd17576556/review
My first thought was that it was a Review issue, but testing and publishing purely as Web has the same results. Checking things out now.
Tweenlite you can exchange for gsap as thats included in Storyline now.
As you use a 'FromTo' tween for the scrollArea... easiest is using some static elements and then getProperty to get the exact values to move From and To... making that work in your sample.
OK - that is good advise, will change this to gsap.
Fixed.
Added a ResizeHandler() that acts on every resize and shows width and height. Thus you can if needed calculate where what needs to be.
But using a temporary shape to reposition it to on the x is easiest.
Added a fromShape... and in the ResizeHandler a gsap.set is used.
gsap.set(lessArw, { x:gsap.getProperty(fromShape, "x") });
Getting the x from the element.
First attempt though failed... In Storyline shapes, images and groups all have different orientation points or origins. And that makes it going wrong.
The fromShape probably calculates from its center, where a group uses the 0,0 point..thus getting unexplainable positions. Setting both orientpoints to 0,0 or top,left now...
Thats working, so its fixed.
PS.. Gsap code formatting is a bit different then TweenLite/TweenMax was.
All code is backwards compatible, but better to adhere to newest approach.
TweenLite.to(txtArea, .65 ,{y:pos1, ease: "back.out(3)", delay: 0});
gsap.to(txtArea ,{duration:.65, y:pos1, ease: "back.out(3)", delay: 0});
So main difference is all parameters inside the { }. And the duration has a label ;-)
I am so thankful for you sharing your knowledge and expertise on this! I really appreciate you and your ability to figure complex issues out.