Flash CS3 & AS3. What's the best way to learn?

Discussion in 'Web Design and Development' started by Poogis, Dec 9, 2008.

  1. Poogis macrumors member


    Jun 2, 2006
    London, UK
    Hello all.

    I'm trying to get familiar with Flash CS3 and ActionScript 3 but I seem to be struggling a bit.

    I am using Lynda.com for the various Flash CS3 tutorials plus the Actionscript 3 Essential Training but just don't seem to be able to bring it all together. I'm a graphic designer that uses Photoshop, Illustrator, InDesign (and Dreamweaver occasionally) which I have no problems with. However, Flash CS3 plus Actionscript 3 equals one major headache. It seems you have to be a maths whizz for Actionscript.

    I was wondering if anybody had a method of picking it all up or, even better, could anyone recommend an official Adobe approved course (I'm in the UK).

    I'd appreciate any advice on any books or self-paced courses.

    Many thanks in advance.

  2. snickelfritz macrumors 65816


    Oct 24, 2003
    Tucson AZ
    The book "Learning ActionScript 3.0" by Oreilly, is required reading for Flash CS3.
    Here's a link to the companion site:

    Complete the tutorials at the following site: http://www.gotoandlearn.com/
    These are among the best free AS3 tutorials out there.

    Download Lee Brimelow's "snippets panel".
    This allows you to store/access frequently used actionscripts and saves a lot of time and effort, especially while you are learning AS3.

    Learn how to use TweenGroup/Tweenmax/TweenLite immediately.
    These are excellent tweening classes commonly used to programatically animate objects.
    Start with some basic experiments and save them for future reference.
    Download the AS3 version of TweenGroup; it includes several useful utilities, TweenLite, TweenMax, and TweenGroup.

    Attached is a basic frame navigation FLA for you to examine.
    I put this together specifically to help beginners learn some of the basics of constructing site navigation using AS3.
    It includes examples of variables, arrays, for loops, switches, event listeners, event propagation, TweenMax, adding and removing listeners dynamically, controlling the timeline playhead, rollover/rollout buttons, "sticky" buttons, etc...
    Open the FLA and examine the construction of each of the symbols in the library, the actionscripts, and the configuration of the timeline.

    Attached Files:

  3. lucidmedia macrumors 6502a

    Oct 13, 2008
    Wellington, New Zealand
    I know your pain Poogis! I just spent the last semester teaching AS3 to a group of graduate-level graphic and industrial designers. Sadly, there are few learning resources created for visual thinkers.

    I used both "Learning ActionScript 3.0" and Colin Moock's "Essential ActionScript 3.0" as textbooks but wound up developing a curriculum that jumped around quite a bit from the standard order that these books follow.

    One of the first things to get out of your head is that "you have to be a maths whizz for Actionscript." Programming requires an understanding of logic (which is actually something that most designers are quite skilled at). You can be terrible at math (like me) and program. Many designers went into the visual arts BECAUSE they hated math. As you improve and begin writing more advanced algorithms you will find your math will improve, but do not feel excluded from programming because of poor math skills.

    I have a slightly different philosophy from Snicklefritz. If at all possible try to move away from using the timeline. The timeline will only limit you as your work becomes more algorithmic. Learn to set a document class and leave the flash interface behind. Once you learn loaders to pull in external assets you will not need the flash library very much anymore. Pretty soon you will be coding in pure actionscript and creating SWFs that are smaller and more optimized than anything flash can make.

    I agree with Snicklefritz that, once you are ready to make things move, the tweening classes by greensock are excellent. Note that if you want to get Snicklefritz's flash file to work for you, you will need to download Tweenmax and put the library into the same folder as his FLA.

    If you don't have a lot of prior programming experience, taking a class where you can be face-to-face with an actionscript expert who can walk you though the process of coding and debugging gives you a big headstart over doing things in isolation. As someone who is self-taught, it was amazing to me to see how quickly this group of students learned by working together and sharing their experiences.
  4. Poogis thread starter macrumors member


    Jun 2, 2006
    London, UK

    Thanks for your replies, I truly am grateful for your time.

    Yep. The above is true of me as maths is definitely my weakest skill.

    I am going through the Lynda.com AS3 Essential Training videos again so some things stick. I get the gist of AS3 but it is just putting it into practise. I have a project for a freelance photographer friend who needs a nice Flash website that will involve loading images and moving around when hovered over but this is where I am struggling.

    I was made redundant a couple of months ago so being self-taught is my only option. But you're right, the only way I learn is by being in a team that learn from mistakes or playing about that can pass on the info to each other.

    I'll keep at it.

    Anyway, thanks again.
  5. Poogis thread starter macrumors member


    Jun 2, 2006
    London, UK
    Thanks for providing all this, snickelfritz.

    I am now having a look at your attached .fla file. One question I forgot to ask is, does it matter that I'm starting from scratch with ActionScript 3 and not 2?

    What I mean is, is there there anything that I would need to know from ActionScript 2?
  6. snickelfritz macrumors 65816


    Oct 24, 2003
    Tucson AZ
    AS2 and AS3 are different languages.
    In fact, those that are well-versed in AS2 often have the most difficulty learning AS3, because so much has to be unlearned.

    Probably the most significant difference is that AS2 is a "relaxed" coding language in which best practices are optional, while AS3 is a "strict" coding language that requires best practices.
    The benefit is significantly improved runtime performance, and more comprehensive error reporting in AS3.
    AS3 often requires more code than AS2, for seemingly simple tasks such as a button rollover effect or loading an external image.
    This is where experienced AS2 programmers usually start kicking and screaming while learning AS3.
    The payoff is well worth the effort.

    AS3 has also added E4X for handling XML, which basically mitigates the need to push items into arrays prior to assigning the data; XML items are brought into Flash as lists, which can be handled much like arrays; items can be accessed directly without having to navigate a complex node structure.
    It is quite common to use XML as the basis for loading external images, videos, text and other data. This allows the site to be updated easily by simply making changes to the XML file and uploading the new assets; the SWF does not have to be recompiled or edited.

    FlashCS3/AS3 also introduces the document class, which allows you to easily associate an external class file to replace the main timeline.
    This is what lucidmedia was referring to, and is the first step toward object oriented programming.
    The main benefit of OOP is the encapsulation of programming instructions into dedicated external classes, as opposed to a single long list of procedural instructions on the main timeline.
    This allows multiple programmers to collaborate on large projects, and breaks down the code into more manageable "chunks".

    The decision to use OOP as opposed to procedural programming is often debated, but generally speaking, if your actionscript exceeds 1000 lines or so (this happens quickly, even on moderately sized projects), or if you are collaborating with other programmers on a project, you probably should consider breaking it down into classes.
    It'll be easier to work with. The code is also reusable in other projects, since it resides in an external file.
    The performance of the SWF will be the same either way, although some say that timeline (procedural) scripting can yield slightly improved runtime performance.

    My recommendation is to get comfortable with timeline scripting and library assets, as the majority of basic online tutorials are based on this method of Flash development.

  7. hobbbz macrumors 6502a


    Mar 8, 2005
    Use Kirupa.com forums for answers to questions about Flash/AS3 it's a good community.
  8. snickelfritz macrumors 65816


    Oct 24, 2003
    Tucson AZ
    I agree; I've made close to $1000 in the past few months on small jobs from that forum.

Share This Page