Skip to main content
Known Participant
January 23, 2023
Question

Using swf Files in Captivate

  • January 23, 2023
  • 2 replies
  • 895 views

As part of a new project, I have been asked to update our current eLearning which was mostly built in Animate/Flash. Is it possible to use old existing swf files and build newer eLearning in Captivate? I tried inserting the existing swf files in a new Captivate project but they do not seem to work. I was hoping to sort of create a course in a rapid manner with existing swf files, but maybe that's not the right approach? I would appreciate any ideas/ suggestions on this issue.

    This topic has been closed for replies.

    2 replies

    RodWard
    Community Expert
    Community Expert
    January 23, 2023

    Ideally you should have access to the original FLA files used to create the SWF content in Adobe Animate (previously called Flash).  If your organisation does have those files, then you should be able to open them with current version Adobe Animate software and experiment with converting them to HTML5 project format.  I have done this many times because I created quite a few courses starting in 2015 for a particular client that required Flash animations that were then imported into Captivate.  When we saw the Death of Flash coming, the client asked for all course modules to be upgraded to HTML5 and fortunately I never throw away source files for any of my projects.  So I was able to convert everything over.

     

    In my case the animations I had created did not rely on a lot of custom ActionScript coding and any interactivity in the animations was done on the Captivate side, not inside the FLA files themselves.  If your content is similar, then you may not really need to learn any ActionScript.  I found that Adobe Animate does quite a good job of converting the content over to HTML5 where the underlying code is JavaScript.

     

    If the source files are not available or lost, another possible way you might potentially be able to reuse the SWF content is just to convert the SWFs into MP4 video and then import that into Captivate.  This again assumes that the SWF content does not involve custom interactivity but is really just linear animation.  Most versions of Animate still support building Flash projects (because SWF is still heavily used in gaming apps).  This means you may find that you could create a Flash project in Animate, then import your SWF assets to that project before then publishing out as MP4 video.  Sometimes it is even possible to just play the SWFs and use Captivate to do a video capture that can be published to MP4 as well.

     

    Bottom line is that all might not be lost if you still have the SWFs or hopefully the original FLAs and the content is mostly linear, not interactive in nature.

     

    Don't abandon hope just yet...

    Known Participant
    January 24, 2023

    Thank you so much for your valuable recommendations. The source files in FLA format are fortunately available. However, when I did try to convert them to the html5 format 

    and then when I test the converted fla file in html5/canvas format I get the following WARNINGS in Output:

     

    Good moFrame numbers in EaselJS start at 0 instead of 1. For example, this affects gotoAndStop and gotoAndPlay calls. (254)
    Only circular (not oval) radial gradients are supported. (8)
    Modifying the transform point in a tween can produce unexpected results.
    Shadow and glow filters are very expensive effects, and not all options are supported. (103)
    Filters are very expensive and are not updated once applied. Cache as bitmap is automatically enabled when a filter is applied. This can prevent animations from updating. (33)
    Applying "cache as bitmap" to an animated instance will prevent the animation from updating. (33)
    Feature not supported: Bevel, gradient glow, and gradient bevel filters. (14)rning

     

    It turns out that the content in the FLA files is in part, linear animations, but not all, and there is still some interactivity in the animations for which ActionScript might be needed, I guess.  So I am assuming, an effective option would be to learnt ActionScript and then modify the existing files in FLA format. It's just that I am not familiar with ActionScript at all, and I am assuming the learning curve would be steep. Learning new languages is something I look forward to, so I will start learning ActionScript but it’s just that I was trying to see if there is a work around that would allow me to use existing FLA files to build a short course in Captivate in a rapid manner.

    RodWard
    Community Expert
    Community Expert
    January 24, 2023

    The warning messages you see there are not serious and will not prevent your content from working.  They are just telling you that there are some fundamental differences between the way things worked back in the ActionScript world when compared to the modern HTML5 world.

     

    There are also some features in ActionScript that are still not supported in HTML5 (e.g. oval gradients, bevels, glows, etc).  But the good news is that as HTML5 improves these gaps are becoming fewer and fewer.

     

    The warnings also point out that use of certain features (e.g. shadow and glow filters) require a lot of CPU processing will tend to slow down rendering of your content in a browser which could make the animations play slower than expected.

     

    The good news here is that none of these warnings really mean there is anything terribly wrong with your content.  And the fact that you still have the original FLA files is a huge bonus.

     

    I would NOT suggest you spend time on trying to learn ActionScript.  Unless you intend transitioning from e-learning development into the world of online game development programming, the time you spend learning AS3 is likely to be wasted.  If you really want to try and learn programming, you would be better off putting your time into learning JavaScript because that is now the default programming language of the web.

     

    If your time to get this all done is limited, my suggestion is that you get as far as you can with upgrading your FLA files and then hire the services of someone that already knows AS3 to migrate any files that require it over to their JavaScript alternative versions.  If you ask around in the e-learning community, you may find one of the programmers willing to do it for a reasonable cost. When converting my own projects I pay my son Tristan Ward to do it. He programmed all the original Infosemantics Captivate AS3 widgets that are no longer available due to the death of Flash. He's also the developer of the CpExtra HTML5 widget for Captivate, so he also knows his way around JS as well. (You can hire his professional services by the hour here.)

    Lilybiri
    Legend
    January 23, 2023

    SWF always needs the Flash Player, which has been declared EOL in 2020 for all browsers on all devices.

    If you have the source files (cptx project) you could try to take out all items incompatible with HTML5 output and eventually replace them. There is no rapid way to achieve this. Since 5 years many warnings have been released about the upcoming death of Flash player, too bad that those were missed. You can have a look at a blog post I created three years ago:

    https://blog.lilybiri.com/using-cpquizinfoanswerchoice-for-survey-conversion-from-swf-to-html

     

     

    Known Participant
    January 23, 2023

    Thank you for the valuable suggestions. It really helps to hear from experienced professionals/expert users like yourself and I really value all your feedback. The way I am seeing this work out is that since the files were originally developed in Flash/Animate , any step would require me to first convert them to html5 , which of course, as you know, has not been a simple task. They do get converted to html5 from swf but then then the files have various errors and sometimes the animation does not have audio and is incomplete. Also, I learnt the conversion from swf to html5 does require an adequate knowledge of ActionScript and that is another area that I need to learn about. The reason I am in this situation is that this project recently got put on my desk, so to speak, and the last person working on this project, developed these swf files 10 years ago and since then no work was done after, in regards to the flash conversion to html5.

     

    So, it seems like more or less, I would have to recreate these swf files from scratch in html5 format using Animate probably and then go from there. Would this be a good way to approach this scenario?

    Lilybiri
    Legend
    January 23, 2023

    You posted this in the Captivate forum, you mentioned that they were created in Animate/Flash which is very weird because those great tools were not meant to create real eLearning. However that could be just a terminology problem. An eLearning course has a lot of interactivity to engage the learner and is mostly used to be uploaded to a Learning Management System so that results of quizzes and interactions can be transferred to the gradebook in the LMS. 

    Although you can create animations and more in Animate and publish as HTML5, if those projects are meant for eLearning the use of Captivate would be the perfect choice. It would save you a lot of time (have used Animate myself but keep that in eLearning courses just to create some more complicated animations, never for the eLearning interactions) compared with a full development in Animate. But that is your choice of course.