A course Im taking requires that we use flash and we are left to using specific workstations at school or download a 30 day trial for the 6-7 week project. And well either way we are supposed to be using a proprietary piece of software from Adobe.
The first flash assignment were to create a picture slide show, with captions and a soundtrack. Using the Adobe flash gui its very easy, drag and drop “programming”.
But as Richard Stallman says “its not a matter of convenience, but of ethics”. So I went looking for replacements. In another course I had no problems using octave instead of matlab, so should this be any different? Yes, unfortunately it seems that its very difficult to get the needed features in free software, well at least in the given timeframe.
HaXe is able to compile to swf, as well as doing a lot of other nifty stuff. I just learnt about it recently from this video.
I didn’t manage to make the entire assignment, (yet?) in haxe, but i did make this :
flash presentation(5MB+)
UPDATE
I did manage to add sound and captions.
So how did I do it?
Well first of all i installed haxe and swfmill. Haxe is able to use the actionsscript api and swfmill can create resources so your are able to refference them in you haxe code.Here is the recipe i used to create this slideshow.
1. create a xml file for swfmill, in order to create a resources for the haxe code.This i something like
<movie width="480" height="480" framerate="25">
<frame>
<library><clip id="img1" import="library/newton001Slide_.png"/>
unfortunately swfmill isn’t able to add sound to a library, so that had to be loaded directly from a file. I had some trouble getting it to function on the server but i think that adding “-D network-sandbox” to the haxe compilation might have done something. ???
2. run swfmill, thats swfmill simple slides.xml slides.swf
now i had linkage names for the image files, and could add them to the movieClip.
3. Create file SlideShow.hx
The main part. The basic haxe syntax is pretty straightforward, but since it uses the actionscript api it were mostly a question of getting a hang of actionscript. I did however strugle a bit with making a anonymous function, for the sounds onLoad. I used “static inline function sndStart(succes){…}” , its a wee bit diffrent than what i would do in java. but it works.
3. compile.
make a “make file” for haxe, compile.hxml
-swf test.swf
-main SlideShow
-swf-lib slides.swf
-swf-header 480:480:25:FFFFFF
-D network-sandbox
The last part -D is a conditional flag and as far as i can tell it shouldn’t do anything, but a saw it in Fmp3PlayerHx and when i added it the sound seemed to work from the server, using a URL :s :s
4. run haxe compile.hxml
5. display the pretty result. (try not to go crazy when wordpress decides to help you format the html code….), at first i tried embedding the flash in this post, but wordpress kept on changing the code, apparently if you add code and have newlines between the tags it throws in a couple og <p> tags …..
Now its on a separate page, then you don’t have to download the 5 mb flash file just to view the page, and I can use wordpress with out getting too frustrated.
sourcecode slideShow.hx
The music is “the free software song” this version is by Jono Bacon , and I personally prefer it to the version by Richard Stallman