Blog

  • I Tried Eclipse, ASDT, MTASC, & Flashout – FAME

    I ran through the tutorial in the Towards Open Source Flash Development article. Upon compiling my first open source SWF, a “Wow!” escaped my lips through a nervous laugh; my hands started to shake. When I got the Alert component part to work, the same thing happened again… “Wow! HA HA!!!”

    There are a plethora of instructions, both on the site, and in each of the pieces’ intsall instructions… but none of it was painful at all to install and configure. And Eclipse, geez, so far it feels pretty nice. I’ve tried for 4 years, unsuccessfully, to use another external editor other than Flash to create & manage my ActionScript in. I won’t know for another few weeks if we have a winner, but I must say, I like the workflow so far. Why?

    I don’t have to leave… sort of.

    The “hack” as it’s described ActionScript.com’s site doesn’t feel that hackish at all. You just instantiate your class & include the necessarey components in the library. That’s not hard, nor evil feeling at all; it’s a fact of Flash development life.

    More investigation is necessarey to see how it compiles my current projects, how diffucult it is to set them up in Eclipse, and what, if any, code is needed to change to ensure it compiles correctly with MTASC.

    So far, the tabbed interface, a Project panel that actually works well, an Outline view (which has yet to prove its usefulness), all visible at the same time with colored code… feels nice. The Flashout tab makes things feel professional. I have a SWF, traces, and compiler configuration controls built right in.

    Why am I using the Flash IDE again? This is cool! Let’s see if I’m singing the same tune in 2 weeks; that’s been my Acid test over the past 4 years. I am recently starting to have to utilize Java at work, so that adds a few points for the Eclipse route.

    I encourage others to try it out.

    Reference links:

    I’ve been trying to come up with an anacronym from the letters of “E”, “A”, “M”, and “F” to describe these various technologies that make up this new workflow. FAME, perhaps?

  • Birthday Presents, Games, Wireless Router, & The Pope Liked Breakdancing

    My 26th birthday was Tuesday. I obtained some nice clothes, and the following are some pictures of my presents.

    My Mom & her majesty snagged one of my logos and put it on 6 or so coffee mugs.

    A gig of RAM for my Alienware (has 4 slots on the motherboard), via 2 sticks of 512megs.

    The 1st season of Knight Rider on DVD. We watched the first episode (1982) Wednesday night, it was pretty good! I remember watching an old episode of the A-Team and not being able to make it halfway through it was so bad, so I’m glad I can actually enjoy this series of DVD’s.

    This weekend’s gonna suck; I’ve got my Finance paper due Monday morning. I’ve had 8 weeks to do it, and now I’ve only got 3 days left. I purchased Prince of Persia: The Warrior Within for PC, and both Splinter Cell 3: Chaos Theory & Brothers in Arms: Road to Hill 30 for XBox to give me something to look forward to Sunday night when I’m hopefully done with my homework.

    Got a new D-link wireless router (they didn’t have Netgear or any of the other brands recommended in my other post); anyone know how secure such things? Her majesty found something via Google saying to change my SSID to something jacked; easy enough, but I don’t know what else I can do… not a network guy.

    Finally, I remembered posting about how the Pope liked breakdancing after a Rave flyer I got via email quoted that. Here’s to hoping the new one digs it too.

    Wish me luck…

  • Flash Remoting AS2 Classes

    I’ve been seeing requests for these classes requested a lot lately. My guess is:
    – it wasn’t publicized enough when they were released
    – people cannot find them on Macromedia’s site

    So, for the former, here is a direct link (again):

    Flash Remoting AS2 Classes – ZIP

    For the later, I know things are crazy with the merger I’m sure, but please tell those in charge of such things to make them more prominent, either on this page, or even better, a link on the right of the Flash Remoting section at Macromedia’s site.

  • Class Deserialization: OpenAMF & Flashcom

    Had a hell of a time debugging some OpenAMF calls yesterday. Turns out, when Flash deserializes your class, it basically takes a vanilla object, puts properties on it and assigns their values, and then points that instance’s __proto__ property to the prototype of the class you registered via Object.registerClass. The downside to this is it doesn’t run your setter functions on any getter/setters you have set on the class. Naturally, your getters fail immediately because they look to a private equivalent variable which is different, and when you call the setter… it’s really a function.

    How Flash manages to keep “firstName” the public property and “firstName” the public getter function in the same namespace is beyond me, but regardless, I’ve tested in Flashcom last night, and the same thing happens there, too, so it appears to be how Flash deserializes your class.

    The way we, “solved it” as my manager says, or “worked around it” as I claim, is emulating, EXACTLY the Java class equivalents. So, you have private properties in the Java model class, like:

    private String firstName;

    And same on the Flash side:

    private var firstName:String;

    And instead of getter/setter functions in Flash, you just use the get/set function methology:

    public function getFirstName():String
    {
    return firstName;
    }

    public function setFirstName(val:String):Void
    {
    firstName = val;
    }

    I really don’t like this at all, and personally feel that there should either be an event letting you know when the class is deserialized (Flashcom does this for server-side ActionScript classes via the onInitialize event) so you can then run the getter/setters yourself, OR Flash should just intrinsically know there are getter/setters in place, and set the private variables accordingly. This gets sticky though because you’re now having the Flash Player run code on your classes. Thus, I vote for the first.