1 Reply Latest reply on Jun 29, 2014 11:31 AM by kglad

    Flash CC to canvas and spreading code over several frames


      I know about the relationship between flash and CreateJS, and I know that I could step away from the flash interface for A LOT of what I'm after and simply use it to create a nifty library of assets and have all my javascript as external files. That's not what I'm after (although using a text editor with proper syntax highlighting would be wonderful!). I wish to keep as much of my workflow as possible inside of the Adobe Flash CC interface.


      The question comes in two parts, the second being a followup question:


      1) Where I before used to save code in external as files, since now the external javascript gets created (combined) when publishing the flash project, I thought I'd better keep all my code inside of flash. Is this a mistake? I'm after ease of use and keeping my projects structured.


      2) If I keep my code inside of flash I'd never nest it in movieclips. I'd keep it all on the main timeline strictly. Back in the golden flash days for decent but smaller apps I'd put general helper functions and imports on the first frame, then maybe some preloading graphics on frame 2 with minimal code for that. Finally "the app" on frame 3 with more specific code to manage the interface. This made everything load quickly and I could spread the app functionality naturally over a few frames to make it easier to visualise and manage. But exporting for canvas/javascript I can't even get code on one layer to recognise the functions on another. Do I really need to scope main timeline functions on creation to get it to work?


      I'm really after basic advice on workflow and project structuring.



        • 1. Re: Flash CC to canvas and spreading code over several frames
          kglad Adobe Community Professional & MVP

          1) that's a strange question considering you prefaced it by saying you want to keep everything in flash.  so yes, given that requirement (ie, you want to put everything, if possible, in flash), put all your code inside flash.


          2) you need to scope everything. there's no problem (from flash/exportJS) spreading code over different frames/layers, if that's what you want to do.  you probably just need to be more careful with your scoping if think code in one layer won't recognize functions in another layer.  ie, in your top layer, use:


          var tl = this;


          // and then use tl to reference the main timeline in your functions (and elsewhere).

          1 person found this helpful