Add to Technorati Favorites

Monday 3 September 2007

You're having a laugh?!

Somebody at Adobe deserves a slap upside the head with a large blunt instrument - I'm thinking something the size of a planet here.

All I want to do is create a nice box that pops up over the top of a webpage in flash, and allows you to enter some data into a form in order to get some information back from a database. In Flash 8, the XML coding was so rickety, I ended up giving up - sometimes it would load XML from the server, other times it just forgot. Not to mention that it would load everything fine the second time it went through the script, but not the first. That's sure to look professional.

So I decided to upgrade to Flash 9 (or CS3 as Adobe are calling everything these days) to see if it would sort the problem out. After discovering that they'd pretty much completely re-written actionscript, and that my file would have to be re-programmed from the ground up, I found that the new way of working with XML was not only much better, but it worked! W00t w00t! Finally I could select things in my comboboxes, and have the data load straight from the database into flash (via PHP and XML).

Unfortunately my joy was short-lived, as some pillock at Adobe had obviously decided that nobody would ever want to layer form controls over the top of HTML. Having the wmode setting set to "window", everything works fine, but setting it to "transparent", which is what I need to if everything's going to look nice on top of the HTML doesn't show the comboboxes at all. WTF??? In IE it's fine, but Firefox pretty much just keels over and dies the second you try to do this. I've reported this as a bug to Adobe, but nobody seems to be able to find a workaround for this at the moment. Dammit! Flash would be perfect for doing this if Adobe weren't the equivalent of programming gypsies.

The only mention on the Adobe website to the problem that I can work out is this cryptic message about The plugin version of Flash Player does not fire flash.events.Event.RENDER when wmode is set as transparent. (198515). Well, thanks very much, you really cleared that up for me Adobe. By the way, the link on that page takes you to a broken link page. Very professional to say these guys are supposed to be at the forefront of web design, and their own software has a site-wide link checking feature to make sure they all work.

Incidentally, has anyone noticed the download size for Flash has changed from about 70Mb for Flash 8 (when Macromedia were still making it) and 460Mb now Adobe make it? It took me about 3 hours to install it earlier, and still it's riddled with bugs. And they have the cheek to ask $699 for this?? I've seen less infections on a chinese whore with leprosy, AIDS and Windows '98(which is a well known ailment) all at the same time.

3 comments:

  1. I don't know if you've found a workaround for this but I had the same issue. I'm trying to use some Flash CS3 components in a SWF with wmode set to transparent. The problem is a lot of the components rely on the stage's RENDER event. In order to get past this, I added stage.dispatchEvent(new Event(Event.RENDER)) to the code. I only need to force a render in a couple places, so this solution suffices, but you could also probably alter the component source code to reduce redundancy.

    ReplyDelete
  2. Thanks so much for this - it's been pissing me off since all this happened! I'll give your solution a try and see what I can do!

    :)

    ReplyDelete
  3. thanks so much for the code snippet. it helped me out with a slider component. what is interesting is that on 1 computer i have flash player 9,0,64 "moviestar" which is beta from adobe labs, it renders the slider no problem without the added snippet. on another computer, i have flash player 9,0,47 and nothing displayed until i added the above code. so maybe adobe fixed it with their new player update?
    thanks again
    :)

    ReplyDelete