Archive
This post is archived and may contain outdated information. It has been set to 'noindex' and should stop showing up in search results.
This post is archived and may contain outdated information. It has been set to 'noindex' and should stop showing up in search results.
Actionscript 3 Passing Variables from HTML to Flash (FlashVars, Query String)
Jan 17, 2011ProgrammingComments (1)

Here is an example of loading variables via FlashVars (use an & to separate each name/value pair):
<object>
<param name="movie" value="movie.swf">
<param name="FlashVars" value="name1=value1&name2=value2">
<embed src="movie.swf" FlashVars="name1=value1&name2=value2">
</object>
And now via the query string:
<object>
<param name="movie" value="movie.swf?name1=value1&name2=value2">
<embed src="movie.swf?name1=value1&name2=value2">
</object>
Notice that both methods require you to use redundant param and embed tags. This is to solve browser compatibility issues.
Once you have passed variables to the Flash movie, you can retrieve them in Actionscript 3 using root.loaderInfo.parameters. If you know the "name" of the variable you want to retrieve, you can use a simple String variable to load it like so:
var var1:String = root.loaderInfo.parameters.name1;
Using the above code, var1 is assigned the string value1 and you can then use it like you would a normal string.
If you're passing lots of name/value pairs into Flash, or you're passing them dynamically, you can instead load them all into an object, and then loop through it like this:
var vars:Object = root.loaderInfo.parameters;
for(var each:String in vars)
{
vars[each];
}