Parameter passing in AS3 / Flex 3
April 22nd, 2008
If you need to do any sort of parameter passing to your AS3 or Flex Swf’s you may be wondering how to do it. In the olden days when you had a _root context on your MovieClips, and thank you very much there were your variables ready and waiting when you loaded your SWF.
Flex / AS3 has a more semantic and structured approach to the problem, well, it puts the values somewhere more semantic and structured at least.
If your application entry point is a subclass of Application you can grab your parameters from MyAppSubclass.application.parameters or in mxml Application.application.parameters.
For example I have a product ID I want to pass to a small swf when I load it.
<mx:Application
xmlns:mx="http://www.adobe.com/2006/mxml"
creationComplete="initVars()"
height="65">
<mx:Script><![CDATA[
[Bindable]
public var productId:String;
// Assign values parameters to properties.
private function initVars():void {
productId = Application.application.parameters.productId;
}
]]></mx:Script>
<mx:VBox fontSize="18" fontFamily="Arial">
<mx:HBox>
<mx:Label text="Product Id: "/>
<mx:Label text="{productId}" fontWeight="bold"/>
</mx:HBox>
</mx:VBox>
</mx:Application>
All I have to do is load the swf with a query string tacked on the end of the swf’s url and supply the key, value pair for my variable.
key: productId
value: 2983127 (or any other product id I need, be careful of invalid strings!)
so the swf load url would look something like…
myflex.swf?productId=2983127
The mxml will run straight from Flex Builder 3 so try it out for yourself and try loading the swf you compile into a browser (without HTML) and put ?productId=THX1138 on the end of the url…
Hey presto.
can you Digg it?
is it del.icio.us? 
Category: General



1 Comment Add your own
1. gagner au casino en ligne&hellip | June 9th, 2008 at 11:36 am
texas holdem hände…
Wenndu jugar tragaperras internet la ruleta de la suerte regole roulette juegos de poker gratuitos regle poker texas holdem…
Leave a Comment
You must be logged in to post a comment .
Trackback this post | Subscribe to the comments via RSS Feed