views:

269

answers:

2

I have existing flash 8 AS2 work that I want to update to Flash 10. Can I update only those elements i need to be Flash 10 and load them in to the Flash 8 movie as an external swf and pass variables and call methods? Is this a good option and what are the issues to be aware of? Eg will a user with player lower than 10 be able to load the flash 8 movie and then find that it breaks because the flash 10 wont load or will the player realise that there is flash 10 content and inform the user that they need to upgrade their player?

thanks

+1  A: 

You might be able to load Flash 8 into Flash 10 but I would be very surprised if the reverse is true.

SpliFF
SpliFF is correct. The AVM1 for Flash 8 would have no way to interpret AVM2 code. AVM2, as found in Players 9 and 10, does have the ability to interpret AVM1, though I'm told there are some significant hurdles getting the two to play nicely together.
Wikiup
great thanks guys, is this possible with LocalConnection - I have been looking at the docs - "LocalConnection objects created in ActionScript 3.0 can communicate with LocalConnection objects created in ActionScript 1.0 or 2.0. The reverse is also true: LocalConnection objects created in ActionScript 1.0 or 2.0 can communicate with LocalConnection objects created in ActionScript 3.0. Flash Player handles this communication between LocalConnection objects of different versions automatically." ... sounds possible?
undefined
Uh, SpliFF is not correct, you can load Flash 8 content into Flash 10 content, or vice versa, all you like. Loading version X content into a version Y player is a different issue. I'll put more detail into a separate answer.
fenomas
+1  A: 

Several questions are overlapping here.

  • You can update parts of your content without updating the root, but interoperability becomes hairy. When the Flash player plays a SWF, it executes it according to the version tag in the file, not the version tag of the SWF that loaded it. So your F8 content can load in F10 SWFs without any particular issue, except for the following point.

  • However, if an AS2 SWF loads in an AS3 SWF (or vice versa), communication between them is hairy. I seem to recall there's some limited hand-waving support for setting variables in the root of one or the other, but for anything complicated the recommended method is to use LocalConnection. I've played with it and as I said it's hairy.

  • Whether content updated to version 10 will play in older versions of the Flash player is a separate question from either of the previous, and the answer is the same regardless of whether it's a lone SWF or newer SWFs loaded into older SWFs. And the answer is, the older player will attempt to play the content, but any newer features won't work, and Flash will not automatically tell the person to upgrade, or refuse to show your content until they do.

fenomas