views:

427

answers:

4

I have a movie which is made up of a series of SWF files that read XML. Is there any way to burn it to a CD/DVD or at least convert it to a 'burnable' format such as AVI, MPEG, or ISO? Currently in order to burn it I have to so some funky screen capture stuff and recorded it to a DVD that way.

+2  A: 

Flash CS3 has a nifty way to export any swf (including those that use scripts) to video, but for some reason this is only available when exporting to .mov

Open up your animation in Flash, if you don't have a .fla available making a simple wrapper that loads your swf should work too. Then go File -> Export -> Export movie, and choose Quicktime. Set the various fiddly bits to your liking, and then Flash will step through your animation as fast as it can, saving you both the risk of dropped frames and having to wait for a 1 fps capture.

grapefrukt
+1  A: 

What is your intended purpose? Are you looking to just have the flash play through as a demo or do you want it to be interactive so that the user can use it as they normally would on a website?

If you just want it to play though, then the method that @grapefrukt mentioned will probably work OK. I have had some issues doing it that way with the movie playing properly. The most fullproof method we have come up with it to screencap the file as a movie as you mentioned.

If you are looking to make it interactive, then you could use a program like Zinc to create cross-platform executables of the flash file and then burn it and your XML data to a CD as an application. The user would then be able to run the executable and interact with your file fully.

81bronco
+1  A: 

but would the xml document be visible to everyone???

josiane
josiane: see my comment for a way to obfuscate data files: http://stackoverflow.com/questions/295101/how-to-burn-a-data-driven-swf-to-cd-dvd/3975666#3975666
fish2000
A: 

If you're targeting disc media, embedding the XML in your SWFs may help. Here's a snippet example -- this is with JSON data, but XML files will works more or less the same.

package ost.panda.map.core {
/// ...
public dynamic class Signatories extends EventDispatcher {

    [Embed(source='../build/json/local_all.json',
        mimeType='application/octet-stream')]
    public static var rawSignatoryJSON:Class;

    public static function loadAll():void {
        loadFromJSON(JSON.deserialize(String(new rawSignatoryJSON())));
    }
    /// etc ...
}

... embedding the data in the SWF will keep the Flash Player from a few round-trip trips to the disc to read another file, which makes a difference in the case of optical media.

fish2000