Blog

  • MXDU 2005: Fly to Sydney for 50% Off

    Father-in-law found this. Today is the last day you can do it. Cost me like 5k or so for one person back in 2002, but this year for 2 people flying from Los Angeles, USA to Sydney, Australia round trip, sounds like a tad over 2k. Frikin’ awesome!

    *** Update: Word of advice, use Internet Explorer, not Firefox. Credit Card submission takes you to blank page after confirmation. Like that?

    *** Update v2: Firefox managed to confirm my debit card, which chared my checking account $1.03… but when I used IE, it confirmed it again, and this time I got my ticket purchased… but it charged a $1.03 again. I reckon that is a price Qantas pays another company to confirm credit card information before entering it into their billing. Am I really going to contest $1.03 duplicate charge on a $2,025 dollar purchase?

    …the whole world should be Flash…

    http://www.qantasusa.com/webDeals/236

  • TextFields Render Incorrect TextFormat HTML?

    I’ve been battling with this since yesterday, and am stumped what to do other than compensate for the incorrect HTML syntax TextFields’ are rendering. Basically, if you apply more than one TextFormat into intersecting index’ of the text, the HTML generated is not indicative of what your really seeing. If you trace out the TextField’s htmlText property, paste in Dreamweaver, or even into another HTML enabled TextField, it will display differently.

    Again, I need to save an accurate representation of what a TextField has displayed, and the only way it seems I can do this is to “fix” Flash’s TextField rendering error(s). For now, it seems that closing font tags are just off by one node… that doesn’t seem too bad.

    Problem Better Illustrated w/ Accompanying Code

  • Macromedia Captivate

    Released officially today. Next paycheck, I’m buying this program. I’ve been working on a tutorial all day in it on creating a Flash MX 2004 sample component. Take some lessons from using it for awhile (there are many other more experienced RoboDemo users out there other than me, but as a Flasher I have certain expectations when using Macromedia software):
    – make many small projects, and link the SWF’s together. I had a 80 meg, 30 minute presentation today that was a pain in the royal behind to deal with. My computer is a beast, and although I could multi-task, saving the file and editing it took 10 years because of the 391 slides and tons of audio. So, even if you play around, keep that in mind.
    – be extremely wary of utilizing full-motion recording with hardware acceleration. Frankly, I wouldn’t click this unless your sure you don’t mind if something unexpected happens. I’ve had great results not using it with real-time recordings, like drag and drop operations, etc.
    – if recording narration, take breaks. This will allow you to save your file, and continue on. Nothing like doing a 10 minute recording only to find it didn’t save, and your comp’s locked.
    – plan ahead what your going to say, like a speech, only your talking to your computer’s mic instead of a live audience. You should still treat it like your speaking to a classroom type of environment, as this will show through in the end product. Planning really goes a long way.

    Overall, I’ve only been using this product a short time, never used RoboDemo, and tested the Flash integration a few times. I truly love this product despite its need for a preferences overhaul and better way to manage large projects. It’s cool, though, for a 1.0 release under a Macromedia brand of an already maturing product. I didn’t have any expectations anyway, and will never do this type of work in Flash again… only edit it.

    Check it out if you have 20 minutes to play with it. I’m sure you’ll dig it.

    Macromedia Captivate

  • Case Sensitivity in Unexpected Place: XML Object

    Skip to the last sentence for the advice.

    Many Flashers already know about the caveats one faces when going from Flash Player 6 to Flash Player 7 development in dealing with case sensitivity. This new feature helps speed, and also allows for more freedom of naming in code since color can now be an instance of the Color class. Additionally, one mispell of mY_btn (instead of my_btn), will have the Output gettin’ all in yer face about “Yo, this variable doesn’t exist anywhere man… weird, what’s he doing here?”. It’s nice to know an uppercase Y makes one so distinctive. How about a capital J, biotch!?

    Anyway, re-writing some AS1 XML parsing code, and it was working fine when I published to Flash Player 6, but not 7. I was like, wtf. So, started debugging, making mad traces, long debugging window sessions, digging deep in XML objects in the Debug Window to inspect each and every property.

    Turns out, someXmlNode.attributes.href is different than someXmlNode.attributes.HREF. You may go, “No sh… thanks for wasting 3 paragraphs of my life Jester.” If your still here, you r0x0r. Ah… but is href a variable or a string? Attributes in XML have the neat distinction of being neatly placed on a vanilla object called “attributes”, so you can access them like you would any other plain object, such as a data provider item (item.label). Because they are vanilla, though, you typically don’t have classes defined that represent them. For instance, EventDispatcher, when it does a dispatchEvent, throws out an object. You’ve seen the familiar syntax:

    dispatchEvent({type: “event”, target: this});

    It’s just “known” that you make at the very least a type attribute, and usually a target. The “known” attitude is what led us from Flash MX to Flash MX 2004. No more mispellings of variables, objects… we now have real-world syntax checking!

    But again, you can’t for vanilla, one time use objects like EventDispatcher and the XML Object’s attribute construct do. Therefore, one must be extremely careful. For the knowns, like label and data, or for events like type and target, your fine because everyone and their mom knows you type it in lowercase.

    However, for some events, they aren’t. For instance, all UIComponents get “focusIn” and “focusOut” events. See the capitalized In and Out? Tricky, tricky…

    XML is even worse. The second you utilize an attribute, you’ve immediately hardcoded your code. Now, as a seasoned Flash developer, I’m cool with that. XML parsing is my daily bread, and it’s just known that you quickly navigate your document to get the data in. Some people think that using recursion is more encapsulated, but that is dangerous as hell in Flash, can be slow for large objects, and if your in your Model class, who gives a flying flizz-narg?

    So, just some advice. When parsing XML attributes, make sure your capitalization in your XML node’s attributes (or internal structure) is the same as what your using in your code.