AS3 and AS2 are different VMs and cannot access each other.
LocalConnection or ExternalInterface can be used instead.  Google for
"AS2 SWF Loader" for some existing solutions.

 

________________________________

From: [email protected] [mailto:[EMAIL PROTECTED] On
Behalf Of Ian Thomas
Sent: Tuesday, March 11, 2008 3:13 AM
To: [email protected]
Subject: [flexcoders] AS3 loading AS2 getBounds() issue

 

Hi guys,

(This is an AS3 issue rather than Flex per se, but might be of
interest.)

I've discovered a strange bug with the AS2 MovieClip.getBounds() and
MovieClip.getRect() methods.

As far as I can tell, it only happens in this situation:

AppA is an _AS3_ application. AppA loads AppB.
AppB is an AS2 application. AppB loads AppC.
AppC is an AS2 application.

If you run AppA, then any getBounds() or getRect() calls on objects in
AppC fail, but they work as expected in AppB.

(If you just run AppB, then everything works as expected.)

I've tried various variants of this; if, instead of loading AppB, you
embed it into AppA at compile-time, the problem still occurs. It
appears to be something to do with loading one VM1 movie into another
one within a VM2 shell.

For the curious, here's a Zip containing a minimal test setup:
http://www.wildwinter.net/public/getBoundsBug.zip
<http://www.wildwinter.net/public/getBoundsBug.zip> 

All suggestions for workarounds welcomed, as this is a real nuisance
for what we're currently working on.

(For reference, this is in Flash Player 9,0,115,0, using either Flex
compiler 2.01 or Flex Compiler 3.0 for the AS3 and using Flash 8.0 or
MTASC for the AS2.)

Cheers,
Ian

 

Reply via email to