Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Chriss Miller on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Text Extent

Status
Not open for further replies.

ice78991

Programmer
Joined
Nov 20, 2006
Messages
216
I am trying to create a set of html type links in flash. I am using an array to contain the link text and I have created a seperate movie clip for each link ( with a textfield embedded)

My problem is that I am trying to get the movie clip to fit perfectly around its textfield so the onRollOver is right on the link and the links are spaced correctly.

When I use the following code the result is as follows

link1xxlink2xxxxxlink3
xxxxxxxxxxxxxxxxxxxxxx

x marks where the onRollOvers can be activated

The main problem is that links 2 and 3 are further apart than links 1 and 2. Also, onRollOvers are activated a few pixels off the links

Here's the code

//get the width of each link
var widths:Array = new Array();
var heights:Array = new Array();

for(var i:Number=0;i<links.length;i++)
{
var extentObj:Object=linksTextFormat.getTextExtent(links);
widths = extentObj.textFieldWidth;
heights = extentObj.textFieldHeight;
}



var prevWidth = 0;
var prevX = LINKXOFFSET;

for(var i:Number = 0; i< links.length; i++)
{

var mc:MovieClip = createEmptyMovieClip("link"+i+"_mc",i+1);

mc.createTextField("link_txt",1,0,0,widths+8,heights+8); //8 accounts for the text field border ??????
var txt:TextField = mc.link_txt;

mc._x = prevX+prevWidth+LINKSMARGIN;
mc._y = 0;


prevX = mc._x;
prevWidth = widths;

txt.setNewTextFormat(linksTextFormat);
txt.text = links;

}
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top