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 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 for the screencast and feature request, Patrick. We really appreciate the input, and I hope someone is able to offer you some help getting this to work.
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.
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:
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.
+1 (also facing the same issue here). It's actually preventing us from using Storyline for the purpose for which we bought it. Please fix .swf publishing so it waits for the added to stage event before trying to access the stage. This is generally considered good practice for Flash apps, anyway.
Trying to develop an app that will load Storyline quizzes - ran into this same issue and it's disheartening to learn that this hasn't received any attention. Hasn't anyone filled out the ubiquitous 'feature request'? :|
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!
Hi, Matthew -- Many thanks for sharing your input, and yes, if anyone would be interested in sharing their ideas and suggestion with our Product team via a Feature Request, here is the form you would need to do so.
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.
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..
Thanks Pierre for the ideas and help clarifying. It's not something I've seen on our roadmap yet, but if Patrick's workaround is still working for you then I'd continue using that.
Sorry, but there's NO workaround, it just does not work. What Patrick gave us is clues for the dev team to solve the problem but it looks like we'll never get a fix. One more time...
23 Replies
Hey Patrick,
Currently, Storyline doesn't support publishing to or uploading a single swf file. Storyline publishes a collection of files, all of which are necessary to quickly load all of Storyline's functionality.
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
For a better understanding of the issue, I've posted a screencast.
http://www.articulate.com/support/contact/screencast.php?screencastid=55911d42709847929e147d8ac5f7b38c
Thanks for the screencast and feature request, Patrick. We really appreciate the input, and I hope someone is able to offer you some help getting this to work.
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
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
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
Another verification of the issue, with a nice workaround. If this could be implemented in an update to Storyline, that would be fantastic!
http://www.markledford.com/blog/2008/08/13/why-some-as3-swfs-work-stand-alone-but-fail-to-load-into-other-swfs/
I'm facing the same issue and would love to see a fix
+1 (also facing the same issue here). It's actually preventing us from using Storyline for the purpose for which we bought it. Please fix .swf publishing so it waits for the added to stage event before trying to access the stage. This is generally considered good practice for Flash apps, anyway.
Thanks!
I am having the same issue also please can some one advice...
Same issue here ! I understand why it doesn't work now. Many thanks for your investigation Patrick.
Could you patch code as Patrick suggested, it would be great !
Thanks.
Me too. I could use a fix...soon. Thank you!
Trying to develop an app that will load Storyline quizzes - ran into this same issue and it's disheartening to learn that this hasn't received any attention. Hasn't anyone filled out the ubiquitous 'feature request'? :|
I just filled out a feature request, even if it's closer to a bug fix than a feature to me!
This one should be easy for the SL team.
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!
Hi, Matthew -- Many thanks for sharing your input, and yes, if anyone would be interested in sharing their ideas and suggestion with our Product team via a Feature Request, here is the form you would need to do so.
Hi, Is there any solution in storyline 2 to Loading Storyline-built SWF into another SWF
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?
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..
Thanks Pierre for the ideas and help clarifying. It's not something I've seen on our roadmap yet, but if Patrick's workaround is still working for you then I'd continue using that.
Let me know if you need anything else!
Hi Ashley,
Sorry, but there's NO workaround, it just does not work. What Patrick gave us is clues for the dev team to solve the problem but it looks like we'll never get a fix. One more time...
HI Pierre,
It's still considered a feature request at this time, so I'm sorry I don't have any more information to offer about a change in that behavior.
This discussion is closed. You can start a new discussion or contact Articulate Support.