Here's the complete code. Again, all this works fine in my swf in Flash, but
when I upload the swf it breaks when I roll over "Home". The color changes and
won't change back when I roll out. No other nav widget works at all.
function nav(nname:String, nurl:String, myX:int, bgcolor:uint):void
{
myfont2 = 'Arial';
mydize = 15;
mytxtcolor = 0x000000;
myborder = true;
mybordercolor = 0xFFFFFF;
myY = 170;
myfill = 0x97f9ec;
mynav = new TextField();
var format:TextFormat = new TextFormat();
format.font = myfont2;
format.size = mysize;
mynav.htmlText = '<a href="' + nurl + '.html">' + nname + '</a>';
mynav.textColor = myTextColor;
mynav.border = myborder;
mynav.borderColor = mybordercolor;
mynav.background=true;
mynav.backgroundColor = bgcolor;
mynav.autoSize = TextFieldAutoSize.LEFT;
mynav.x = myX;
mynav.y = myY;
mynav.setTextFormat(format);
var navdrop:DropShadowFilter = new DropShadowFilter();
navdrop.color = 0x000000;
navdrop.blurX = 3;
navdrop.blurY = 3;
navdrop.angle = 0;
navdrop.alpha = 0.5;
navdrop.distance = 3;
var navfilters:Array = new Array(navdrop);
mynav.filters = navFiltersArray;
var nsprite:Sprite = new Sprite();
addChild(nsprite);
nsprite.name = nname;
nsprite.addChild(mynav);
var len:int = mynav.numLines;
for (var i:int = 0; i < len; i++)
{
var metrics:TextLineMetrics = mynav.getLineMetrics(i);
with(nsprite.graphics)
{
beginFill(myfill, 1);
drawRect(mynav.x, mynav.y, metrics.width + 4,
metrics.height + metrics.descent + 1);
endFill();
}
}
addChild(nsprite);
nsprite.addEventListener(MouseEvent.ROLL_OVER, onRollOverHandler);
nsprite.addEventListener(MouseEvent.ROLL_OUT, onRollOutHandler);
nsprite.addEventListener(MouseEvent.CLICK, onClickHandler);
nsprite.addEventListener(MouseEvent.MOUSE_DOWN, onPressHandler);
nsprite.addEventListener(MouseEvent.MOUSE_UP, onReleaseHandler);
nsprite.mouseChildren = false;
nsprite.buttonMode = true;
}
function onRollOverHandler(e:MouseEvent)
{
if (e.currentTarget.name == ' Home ')
{
nav(' Home ', 'index', 235, 0x97f9ec);
} else if (e.currentTarget.name == ' Bathroom ') {
nav(' Bathroom ', 'Bathroom', 295, 0x97F9EC);
} else if (e.currentTarget.name == ' Bedroom ') {
nav(' Bedroom ', 'Bedroom', 415, 0x97F9EC);
} else if (e.currentTarget.name == ' Dining Room ') {
nav(' Dining Room ', 'Dining_Room', 485, 0x97F9EC);
} else if (e.currentTarget.name == ' Forms ') {
nav(' Forms ', 'Forms', 642, 0x97F9EC);
} else if (e.currentTarget.name == ' About Us ') {
nav(' About Us ', 'About_Us', 703, 0x97F9EC);
} else if (e.currentTarget.name == ' Contact Us ') {
nav(' Contact Us ', 'Contact_Us', 782, 0x97F9EC);
}
}
function onRollOutHandler(e:MouseEvent)
{
if (e.currentTarget.name == ' Home ')
{
nav(' Home ', 'index', 235, 0x0e778a);
} else if (e.currentTarget.name == ' Bathroom ') {
nav(' Bathroom ', 'Bathroom', 295, 0x0e778a);
} else if (e.currentTarget.name == ' Bedroom ') {
nav(' Bedroom ', 'Bedroom', 415, 0x0e778a);
} else if (e.currentTarget.name == ' Dining Room ') {
nav(' Dining Room ', 'Dining_Room', 485, 0x0e778a);
} else if (e.currentTarget.name == ' Forms ') {
nav(' Forms ', 'Forms', 642, 0x0e778a);
} else if (e.currentTarget.name == ' About Us ') {
nav(' About Us ', 'About_Us', 703, 0x0e778a);
} else if (e.currentTarget.name == ' Contact Us ') {
nav(' Contact Us ', 'Contact_Us', 782, 0x0e778a);
}
}
function onClickHandler(e:MouseEvent)
{
mynav.textColor = 0x000000;
mynav.borderColor = 0xFFFFFF;
}
function onPressHandler(e:MouseEvent)
{
if (e.currentTarget.name == ' Home ')
{
nav(' Home ', 'index', 235, 0xffffff);
} else if (e.currentTarget.name == ' Bathroom ') {
nav(' Bathroom ', 'Bathroom', 295, 0xffffff);
} else if (e.currentTarget.name == ' Bedroom ') {
nav(' Bedroom ', 'Bedroom', 415, 0xffffff);
} else if (e.currentTarget.name == ' Dining Room ') {
nav(' Dining Room ', 'Dining_Room', 485, 0xffffff);
} else if (e.currentTarget.name == ' Forms ') {
nav(' Forms ', 'Forms', 642, 0xffffff);
} else if (e.currentTarget.name == ' About Us ') {
nav(' About Us ', 'About_Us', 703, 0xffffff);
} else if (e.currentTarget.name == ' Contact Us ') {
nav(' Contact Us ', 'Contact_Us', 782, 0xffffff);
}
}
function onReleaseHandler(e:MouseEvent)
{
if (e.currentTarget.name == ' Home ')
{
nav(' Home ', 'index', 235, 0x0e778a);
} else if (e.currentTarget.name == ' Bathroom ') {
nav(' Bathroom ', 'Bathroom', 295, 0x0e778a);
} else if (e.currentTarget.name == ' Bedroom ') {
nav(' Bedroom ', 'Bedroom', 415, 0x0e778a);
} else if (e.currentTarget.name == ' Dining Room ') {
nav(' Dining Room ', 'Dining_Room', 485, 0x0e778a);
} else if (e.currentTarget.name == ' Forms ') {
nav(' Forms ', 'Forms', 642, 0x0e778a);
} else if (e.currentTarget.name == ' About Us ') {
nav(' About Us ', 'About_Us', 703, 0x0e778a);
} else if (e.currentTarget.name == ' Contact Us ') {
nav(' Contact Us ', 'Contact_Us', 782, 0x0e778a);
}
}
Thanks,
John
_______________________________________________
Flashcoders mailing list
[email protected]
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders