Loading Storyline-built SWF into another SWF

Nov 16, 2012

Hi,

I'm hoping to load a Storyline-built SWF (story.swf) into another SWF file (lets call it main.swf). However, main.swf always fails to load story.swf. The main.swf loads any other SWF file just fine, but always fails to load any Storyline-built SWF. Any suggestions to get this to work?

Thanks,

Patrick

23 Replies
Patrick Geiger

Hi Pete,

Thanks for your reply. However, I'm still curious as to why this would not function. I can open the outputted story.swf file in the standalone Flash Player and it is fully functional (as it loads all external assets in the story_content folder appropriately). So there is obvious need for the story.html file. Additionally, I can load other swf files that load other additional external assets into my main.swf file without issue. If possible, I'd really love to find a workaround (even though I understand it is not officially supported).

Thanks,

Patrick

Patrick Geiger

After some more investigation, it looks as though the reason it fails is because the story.swf file can not load and call functions from the com.articulate.bw.v2_0.bwPlayer class. Here is an error I receive when attempting to package as an AIR file:

[SWF] story.swf - 487903 bytes after decompression

TypeError: Error #1009: Cannot access a property or method of a null object reference.

at com.articulate.bw.v2_0::bwPlayer/StartLoad()

at com.articulate.bw.v2_0::bwPlayer()

If this issue can be avoided and Storyline-built pieces can be converted into independent native iOS/Android utilizing Adobe AIR, that could be a real game changer on what Storyline can be used for.

But again, if anyone figures out a workaround for this in the meantime - that would be awesome.

Thanks,

Patrick

Patrick Geiger

I've done some more looking around. The root of the problem may be because the outputted story.swf references "stage" when it adds its listeners. Since the story.swf is no longer the root SWF, this causes issues. Here is a short description:

http://www.actionscript.org/forums/showthread.php3?t=264733&page=2

Thanks,

Patrick

Patrick Geiger

After decompiling a story.swf my findings were verified. The StartLoad() method in the story.swf (in the com.articulate.bw.v_20.bwPlayer class) utilizes stage.addEventListener methods

This causes issues for child SWF files (as stage becomes loader). These would have to be replaced with root references.

Thanks,

Patrick

Matthew Paquette

I just want to bump this, I ran into this issue when trying to come up with a solution to be able to use the enter key in a trigger for CD publishes (the projector is listening for the enter key for some reason and hogging the input, so i figured id make a wrapper that grabs it first). Patrick has some amazing findings here that might help me, but fulfilling the feature request would be great, fingers crossed!

Ashley Terwilliger-Pollard

Hi Rakesh, 

I'm not clear on what you're looking to do? You created an SWF file in Storyline, and you'd like to use it in another Storyline course? 

We don't have a method for publishing a Storyline course to a single file (SWF or otherwise). You can combine multiple Storyline courses by importing one into an existing course. 

Does that match what you're looking to do?

Pierre Jouan

Hi Ashley,

I think Rakesh, like all of us in this thread, would like to be able to load (embed) a SWF Storyline course into another SWF (designed in Flash). Like a custom launcher that would load different Storyline courses.

The problem and its solution were described and documented... 4 years ago by Patrick Geiger so I don't think we can expect a fix anytime soon..

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