Hello,
I created a Flash movie with AS3 which basically contains a MAP.
Each region in the map is a MC. I am taking the following actions:
- Hide all regions;
- Load a XML file with all regions info;
- Fade in differently each region according to its node info and create a tooltip with that info.
Everything works well when I preview it in Flash.
However, when I insert it on the web site site something strange happens:
-
Sometimes only a few regions of the map are visible.
Some are invisible … some have incorrect alpha.
I am not sure why this happens. The XMl file is always the same.
Usually the problem disappears when I refresh the page.
Could someone please help me out?
The map and the entire actions script are in frame one in different layers.
Maybe I should change something here?
My entire Flash code is as follows:
// -- Classes --
import fl.transitions.Tween;
import fl.transitions.easing.*;
// -- Variables --
var map:XML;
// -- Flash Variables --
//var pfile = loaderInfo.parameters.file;
//var planguage = loaderInfo.parameters.language;
//var purl = loaderInfo.parameters.url;
var pfile = "http://localhost:65125/Region/Map";
var planguage = "es";
var purl = "http://localhost:65125/Center/Region";
// -- Program --
HideMap();
LoadMap();
// -- Functions --
// HideMap
function HideMap() {
// Hide disabled
var disabled = new Array('RB0','RC0','RM0');
for (var i = 0; i < disabled.length; i++ ) {
var d : MovieClip = getChildByName(disabled*) as MovieClip;
d.alpha = 0;
} // Hide disabled
// Hide enabled
for (var j = 1; j < 73; j++ ) {
var e : MovieClip = getChildByName('R' + j) as MovieClip;
e.alpha = 0;
} // Hide enabled
} // HideMap
// LoadMap
function LoadMap(){
var loader = new URLLoader();
loader.addEventListener(Event.COMPLETE, onLoadComplete);
loader.load(new URLRequest(pfile));
} // LoadMap
// OnLoadComplete
function onLoadComplete(e:Event){
map = new XML(e.target.data);
BuildMap();
} // OnLoadComplete
// BuildMap
function BuildMap(){
// Fade disabled
var disabled = new Array('RB0','RC0','RM0');
for (var j = 0; j < disabled.length; j++ ) {
var d : MovieClip = getChildByName(disabled[j]) as MovieClip;
var dTween:Tween = new Tween(d, "alpha", Strong.easeOut, 0, 0.10, 2, true);
} // Fade disabled
// Build regions
for(var r in map.Region){
// Define region
var region : MovieClip = getChildByName ('R' + map.Region[r].Id) as MovieClip;
region.id = map.Region[r].Id;
region.buttonMode = true;
region.mouseChildren = false;
// Check region
if (map.Region[r].Present == "True") {
// Fade in region
var reTween:Tween = new Tween(region, "alpha", Strong.easeOut, 0, 0.70, 2, true);
// Add tooltip
var tooltip : Tooltip = new Tooltip();
tooltip.alpha = 0;
tooltip.x = region.x + region.width / 2; //(region.width + 120 - tooltip.width ) / 2;
tooltip.y = region.y + region.height / 2; //+ (region.height - tooltip.height ) / 2;
tooltip.id = 'T' + map.Region[r].Id;
tooltip.name = 'T' + map.Region[r].Id;
tooltip.Region.text = map.Region[r].Name;
tooltip.mouseEnabled = false;
addChild(tooltip);
// Check total
if (map.Region[r].Total != "0") {
region.addEventListener(MouseEvent.MOUSE_OUT, Region_Out);
region.addEventListener(MouseEvent.MOUSE_OVER, Region_Over);
} // Check total
// Check open
if (map.Region[r].Open != "0") {
region.addEventListener(MouseEvent.CLICK, Region_Click);
var olabel : String;
if (map.Region[r].Open == "1") {
olabel = "centro";
} else {
olabel = "centros";
}
tooltip.Open.text = map.Region[r].Open + " " + olabel;
} // Check open
// Check close
if (map.Region[r].Close != "0") {
var clabel : String;
if (planguage == "es") {
if (map.Region[r].Close == "1") {
clabel = "próxima apertura";
} else {
clabel = "próximas aperturas";
}
} else {
if (map.Region[r].Close == "1") {
clabel = "próxima abertura";
} else {
clabel = "próximas aberturas";
}
}
tooltip.Close.text = map.Region[r].Close + " " + clabel;
} // Check open
// Add mark
// var mark : Mark = new Mark ();
// mark.x = region.x + (region.width - mark.width ) / 2;
// mark.y = region.y + (region.height - mark.height ) / 2;
// mark.mouseEnabled = false;
// addChild (mark);
} else {
// Fade in region
var rdTween:Tween = new Tween(region, "alpha", Strong.easeOut, 0, 0.30, 2, true);
} // Check region
} // Build regions
} // BuildMap
// -- Events --
// Region_Click
function Region_Click(e : MouseEvent) : void {
var url : String = purl + '/' + (e.currentTarget as MovieClip).id;
navigateToURL(new URLRequest(url));
} // Region_Click
// Region_Over
function Region_Over(e : MouseEvent) : void {
var region : MovieClip = e.target as MovieClip
var rtween:Tween = new Tween(region, "alpha", Strong.easeOut, 0.70, 1, 1, true);
var tooltip : MovieClip = getChildByName ('T' + region.id) as MovieClip;
var ttween:Tween = new Tween(tooltip, "alpha", Strong.easeOut, 0, 1.0, 1, true);
} // Region_Over
// Region_Out
function Region_Out(e : MouseEvent) : void {
var region : MovieClip = e.target as MovieClip
var rtween:Tween = new Tween(region, "alpha", Strong.easeOut, 1, 0.7, 1, true);
var tooltip : MovieClip = getChildByName ('T' + region.id) as MovieClip;
var ttween:Tween = new Tween(tooltip, "alpha", Strong.easeOut, 1.0, 0, 1, true);
} // Region_Out
And I am inserting my Flash Movie in the HTML as follows:
Note: I am using SWF Object
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="560" height="440">
<param name="movie" value="<%=Url.Content("~/Contents/Flash/Map.swf")%>" />
<param name="flashvars" value="file=<%=Url.Action("Map", "Region")%>&url=<%=Url.Action("Region", "Center")%>&language=<%=Thread.CurrentThread.CurrentCulture.TwoLetterISOLanguageName%>" />
<param name="play" value="true" />
<param name="loop" value="true" />
<param name="menu" value="false" />
<param name="quality" value="best" />
<param name="scale" value="exactfit" />
<param name="wmode" value="transparent" />
<param name="allowfullscreen" value="false" />
<!--[if !IE]>-->
<object type="application/x-shockwave-flash" data="<%=Url.Content("~/Contents/Flash/Map.swf")%>" width="560" height="440">
<param name="flashvars" value="file=<%=Url.Action("Map", "Region")%>&root=<%=ResolveUrl("~/")%>&language=<%=Thread.CurrentThread.CurrentCulture.TwoLetterISOLanguageName%>" />
<param name="play" value="true" />
<param name="loop" value="true" />
<param name="menu" value="false" />
<param name="quality" value="best" />
<param name="scale" value="exactfit" />
<param name="wmode" value="transparent" />
<param name="allowfullscreen" value="false" />
<!--<![endif]-->
<a href="http://get.adobe.com/flashplayer/">
<img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash Player" />
</a>
<!--[if !IE]>-->
</object>
<!--<![endif]-->
</object>
Could someone, please, help me out?
Thank You,
Miguel