an open source flash workflow using haxe (2009)

Download An open source flash workflow using HaXe (2009)

If you can't read please download the document

Upload: dirkcuys

Post on 18-Aug-2015

65 views

Category:

Software


0 download

TRANSCRIPT

  1. 1. HaXe An open source flash workflow
  2. 2. HaXe From haxe.org: The idea behind haXe is to let the developer choose the best platform to do a given job. In general, this is not easy to do because every new platform comes with its own programming language. What haXe provides to you is : a standardized language with many good features a standard library (including Date, Xml, Math...) that works the same on all platforms platform-specific libraries : the full APIs for a given platform are accessible from haXe
  3. 3. Haxe Based on ECMA script and thus very similar to ActionScript 3 Different targets: SWF bytecode (Flash) ActionScript code (Flash) JavaScript PHP C++ NekoVM
  4. 4. NekoVM Lightweight virtual machine Can be used for server side scripting (mod_neko on Apache) Can be used to deploy native applications on the client side (ScreenweaverHx and hippoHx) Recently gained a experimental LLVM implementation
  5. 5. HaXeLib Used to manage additional HaXe libraries (similar to ruby gems) Easy installation of libraries Large number of libraries available Physics 3D Graphics MVC frameworks GUI frameworks Animation/Tweening
  6. 6. HaxeVideo Lightweight server for streaming video over RTMP.
  7. 7. HaXe wrt. Flash Target all the different versions of Flash (you could target Flash 7/8 and use Gnash instead of Adobe Flash Player/Plugin) More comparable to Flex rather than the Flash IDE Currently optimizes code better that the Flash and Flex compilers Can control PixelBender
  8. 8. The toolchain Make Swfmill FFMPEG HaXe compiler Flash debug player or browser plugin
  9. 9. Make GNU Make Simple bash-like configuration Ex. all: menu.swf lib external external: buildExternal make -C external menu.swf: src/*.hx resource.swf compile.hxml catalogue.xml haxe compile.hxml lib: make -C lib resource.swf: resource.swfml resources/samusic/* swfmill simple resource.swfml resource.swf clean: rm -f resource.swf menu.swf resource2.swf menu2.swf *~
  10. 10. Swfmill Used to embed resources inside SWF files Images Audio Fonts Binary
  11. 11. Swfmill (Ex.)
  12. 12. FFMPEG Used to encode video files to FLV Used H.264 codec ffmpeg -i filename.extension filename.flv
  13. 13. HaXe Compiler Use a text configuration file for compilation Ex. -swf menu.swf -swf-version 9 -swf-lib resource.swf -resource catalogue.xml@catalogue -cp src -cp lib/src -main Menu
  14. 14. HaXe Code class Background extends flash.display.Sprite {} class Comic extends flash.text.Font {} class Menu { public var width(default,default) : Float; public var height(default,none) : Float; public static function main() { flash.Lib.current.addChild(new Background()); } }
  15. 15. A practical example Requirements: A platform independent cover DVD with rich multimedia content Photos Videos Audio
  16. 16. Why Flash?! Cross platform Flash player available for most platforms Familiarity for designers Support for Audio and Video codecs