RE: [Flashcoders] spacing horizontal dynamic xml menu textfields

2009-08-26 Thread thomas horner
Hi Sid many thanks for the demo, have managed to incorporate this
successfully into what I was doing,  and evenly space the items, but am
struggling to space the items, 

as per line;

 runningX += textheader.textwidth + 20;  //20 is the offset or padding
between the items, however for some reason there is no gap and all the items
are butted up to one another?

many thanks, in advance , Thomas 

-Original Message-
From: flashcoders-boun...@chattyfig.figleaf.com
[mailto:flashcoders-boun...@chattyfig.figleaf.com] On Behalf Of Sidney de
Koning - Funky Monkey Studios
Sent: 25 August 2009 16:44
To: Flash Coders List
Subject: RE: [Flashcoders] spacing horizontal dynamic xml menu textfields

He Thomas,

This stuff can be a bit difficult when making the transition.
Textfield has a really cool property called textWidth and textHeight, that
retruns only the width and height of the actual height :)

I have put comment in the code that explain it. Here is an example to demo:

var runningX:Number = 0;

// This is basically your data comming from XML
var itemsArr:Array = new Array(one, different length, piece of text,
last bit, evently spaced);

// It does not really matter what kind of loop you do, it is the way of
spacing them thst matters, so you can do your loop like you normally
would,
// here i'm just using an array to demonstrate
for (var index:int = 0; index  itemsArr.length ; index++) {

// You create items of any kind you like...
var _textheader:TextField = new TextField( );
_textheader.text = itemsArr[index];
_textheader.autoSize = TextFieldAutoSize.LEFT;

// You say that runningX is some value. since it was zero in the
beginning we are adding the value ontop of its current value (see line
below)
_textheader.x = runningX;
// ... And then you space them. You can use textWidth if using text
width
or plain width for object that extend from DisplayObjects or Sprites
etc...
runningX += _textheader.textWidth + 20; // +10 is the offset between
the
items you want ot use. Can be any number.
// And then you add the child to the display list so it becomes
visible.
addChild(_textheader);
}

Any questions, just ask :)

Cheers, Sid
 im using it with in the gaia framework do you know it? below is my loop
 and
 'navbut.x' is what im trying to find, i need to add all the widths of all
 the dynamic textfields sequentially and then space them out evenly
 horizontally ,

 im just totally stuck!


 for each (var section:XML in siteNav.section) {

   navbut = new navItem();


 navbut.label.autoSize=TextFieldAutoSize.LEFT;


   //Insert the menu text (li...@name reads the
 link's name attribute)
   navbut.label.text=secti...@name;
   //Assign an url to a menu item
   navbut.linkto=secti...@src;
   navbut.keepopen=secti...@keep;
   navbut.isclicked=secti...@highlight;

   //Insert the menu button to stage

   navbut.y=0;

   trace(total);

   navbut.x= ?;

   nav1.addChild(navbut);


   //Make the button look like a button (hand
 cursor)
   navbut.buttonMode=true;
   navbut.mouseChildren=false;
   navbut.alpha=0;
   navbut.name=secti...@url;
   TweenMax.to(navbut, 0.5, {alpha:1});
   //Add event handlers (used for animating the
 buttons)

 navbut.addEventListener(MouseEvent.MOUSE_OVER, mouseOverHandler);

 navbut.addEventListener(MouseEvent.MOUSE_OUT, mouseOutHandler);
   navbut.addEventListener(MouseEvent.CLICK,
 mouseClickHandler);


   //trace(navbut.x);

   //Increment the menu button counter, so we
 know how many buttons there are
   i++;
   }
   }

 -Original Message-
 From: flashcoders-boun...@chattyfig.figleaf.com
 [mailto:flashcoders-boun...@chattyfig.figleaf.com] On Behalf Of Sidney de
 Koning - Funky Monkey Studios
 Sent: 25 August 2009 15:52
 To: Flash Coders List
 Subject: RE: [Flashcoders] spacing horizontal dynamic xml menu textfields

 No problem :)
 This is using AS3. Where do you have problem with?

 Sid


 is this using as2 as im trying to do it in as3 so am a bit confused

 -Original Message-
 From: flashcoders-boun...@chattyfig.figleaf.com
 [mailto:flashcoders-boun...@chattyfig.figleaf.com] On Behalf Of Sidney
 de
 Koning
 Sent: 25 August 2009 15:22
 To: Flash Coders List
 Subject: Re: [Flashcoders] spacing horizontal dynamic xml menu
 textfields

Re: [Flashcoders] spacing horizontal dynamic xml menu textfields

2009-08-26 Thread Steven Sacks

As I described on my forum post, you have to first put your items in an array.

var items:Array = [all, of, your, items];
var len:int= items.length;
var i:int;

Then, you do the following measurements:


// the right of the last item minus the left of the first item
var availableWidth:Number = items[len - 1].x + items[len -1].width - items[0].x;

// the total widths of all the items
var totalWidth:Number = 0;
i = len;
while (i--)
{
totalWidth += items[i].textWidth;
}

//Subtract the totalWidth from availableWidth to get the remainingWidth
var remainingWidth:Number = availableWidth - totalWidth;

// Divide remainingWidthby the number of items
var gapWidth:Number = remainingWidth / len;


// iterate through your array setting the x positions
// of the items based on the previous item's width and the gap.

var lastX:Number = 0;
for (i= 0; i  len; ++i)
{
items[i].x = lastX;
lastX = items[i].textWidth + gapWidth;
}

// That's all there is to it.

___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


RE: [Flashcoders] spacing horizontal dynamic xml menu textfields

2009-08-26 Thread thomas horner
thanks steven, again! i had already managed to get the sids version going
inside my build, but was just getting problems with adding spacing between
them.  

for some reason now though all my buttons are acting as one when i
mouseOver, 



siteNav=IXml(assets.siteNav).xml;

var runningX:Number=0;

var padding:Number=50;

var itemsArr:Array=new Array(sitenav.secti...@name);

for (var index:int = 0; index  itemsArr.length;
index++) {

// You create items of any kind you like...
var navbut:navItem = new navItem( );
//assign the menu text from the navxml
navbut.label.text=itemsArr[index];

navbut.label.autoSize=TextFieldAutoSize.LEFT;

//Assign an url to a menu item
navbut.linkto=sitenav.secti...@src;

//read instructions fomr nav xml
navbut.keepopen=sitenav.secti...@keep;
navbut.isclicked=sitenav.secti...@highlight;

//Make the button look like a button (hand
cursor)
navbut.buttonMode=true;
navbut.mouseChildren=false;
navbut.alpha=0;
navbut.name=sitenav.secti...@url;
TweenMax.to(navbut, 0.5, {alpha:1});
//Add event handlers (used for animating the
buttons)

navbut.addEventListener(MouseEvent.MOUSE_OVER, mouseOverHandler);

navbut.addEventListener(MouseEvent.MOUSE_OUT, mouseOutHandler);
navbut.addEventListener(MouseEvent.CLICK,
mouseClickHandler);


// You say that runningX is some value.
since it was zero in the beginning we are adding the value ontop of its
current value (see line below)
navbut.x=runningX;


// ... And then you space them. You can use
textWidth if using text width or plain width for object that extend from
DisplayObjects or Sprites etc...
runningX+=navbut.textWidth+padding;// +10 is
the offset between the items you want ot use. Can be any number.
// And then you add the child to the display
list so it becomes visible.
nav1.addChild(navbut);

trace(runningX);
}
}


function mouseClickHandler(e:Event):void {
}

function mouseOverHandler(e:Event):void {

TweenMax.to(e.target, 0.25, {tint:0x88})

 
}


function mouseOutHandler (e:Event):void {   
if (e.target.alpha  1) {
TweenMax.to(e.target, 0.25, { alpha:0.3 } )
} else {
//do nothing
}

-Original Message-
From: flashcoders-boun...@chattyfig.figleaf.com
[mailto:flashcoders-boun...@chattyfig.figleaf.com] On Behalf Of Steven Sacks
Sent: 26 August 2009 09:53
To: Flash Coders List
Subject: Re: [Flashcoders] spacing horizontal dynamic xml menu textfields

As I described on my forum post, you have to first put your items in an
array.

var items:Array = [all, of, your, items];
var len:int= items.length;
var i:int;

Then, you do the following measurements:


// the right of the last item minus the left of the first item
var availableWidth:Number = items[len - 1].x + items[len -1].width -
items[0].x;

// the total widths of all the items
var totalWidth:Number = 0;
i = len;
while (i--)
{
 totalWidth += items[i].textWidth;
}

//Subtract the totalWidth from availableWidth to get the remainingWidth
var remainingWidth:Number = availableWidth - totalWidth;

// Divide remainingWidthby the number of items
var gapWidth:Number = remainingWidth / len;


// iterate through your array setting the x positions
// of the items based on the previous item's width and the gap.

var lastX:Number = 0;
for (i= 0; i  len; ++i)
{
 items[i].x = lastX;
 lastX = items[i].textWidth + gapWidth;
}

// That's all there is to it.

___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] spacing horizontal dynamic xml menu textfields

2009-08-26 Thread Sidney de Koning

Hi Thomas,

In the nav item objects you are creating you can override the width  
and height functions, like so;


override public function get width( ):Number {
// The plus 4 makes it look better, change this if you like
return _myTextfield.textWidth + 4;
}

Then it will all have a different width.

Oh i just see that you have to use width since navItem is not a  
textfield, but uses a textfield so it does not have the textWidth  
funtion. Try that :)


runningX += navItem.width + 20;

Oh and just a (real important) note, it is very good practice to  
always create classes with a capital letter, so it then becomes  
NavItem instead of navItem.


Cheers,

Sid




On Aug 26, 2009, at 10:28 AM, thomas horner wrote:


Hi Sid many thanks for the demo, have managed to incorporate this
successfully into what I was doing,  and evenly space the items, but  
am

struggling to space the items,

as per line;

runningX += textheader.textwidth + 20;  //20 is the offset or padding
between the items, however for some reason there is no gap and all  
the items

are butted up to one another?

many thanks, in advance , Thomas

-Original Message-
From: flashcoders-boun...@chattyfig.figleaf.com
[mailto:flashcoders-boun...@chattyfig.figleaf.com] On Behalf Of  
Sidney de

Koning - Funky Monkey Studios
Sent: 25 August 2009 16:44
To: Flash Coders List
Subject: RE: [Flashcoders] spacing horizontal dynamic xml menu  
textfields


He Thomas,

This stuff can be a bit difficult when making the transition.
Textfield has a really cool property called textWidth and  
textHeight, that

retruns only the width and height of the actual height :)

I have put comment in the code that explain it. Here is an example  
to demo:


var runningX:Number = 0;

// This is basically your data comming from XML
var itemsArr:Array = new Array(one, different length, piece of  
text,

last bit, evently spaced);

// It does not really matter what kind of loop you do, it is the way  
of

spacing them thst matters, so you can do your loop like you normally
would,
// here i'm just using an array to demonstrate
for (var index:int = 0; index  itemsArr.length ; index++) {

// You create items of any kind you like...
var _textheader:TextField = new TextField( );
_textheader.text = itemsArr[index];
_textheader.autoSize = TextFieldAutoSize.LEFT;

// You say that runningX is some value. since it was zero in the
beginning we are adding the value ontop of its current value (see line
below)
_textheader.x = runningX;
// ... And then you space them. You can use textWidth if using text
width
or plain width for object that extend from DisplayObjects or Sprites
etc...
runningX += _textheader.textWidth + 20; // +10 is the offset between
the
items you want ot use. Can be any number.
// And then you add the child to the display list so it becomes
visible.
addChild(_textheader);
}

Any questions, just ask :)

Cheers, Sid
im using it with in the gaia framework do you know it? below is my  
loop

and
'navbut.x' is what im trying to find, i need to add all the widths  
of all

the dynamic textfields sequentially and then space them out evenly
horizontally ,

im just totally stuck!


for each (var section:XML in siteNav.section) {

navbut = new navItem();


navbut.label.autoSize=TextFieldAutoSize.LEFT;


//Insert the menu text (li...@name reads the
link's name attribute)
navbut.label.text=secti...@name;
//Assign an url to a menu item
navbut.linkto=secti...@src;
navbut.keepopen=secti...@keep;
navbut.isclicked=secti...@highlight;

//Insert the menu button to stage

navbut.y=0;

trace(total);

navbut.x= ?;

nav1.addChild(navbut);


//Make the button look like a button (hand
cursor)
navbut.buttonMode=true;
navbut.mouseChildren=false;
navbut.alpha=0;
navbut.name=secti...@url;
TweenMax.to(navbut, 0.5, {alpha:1});
//Add event handlers (used for animating the
buttons)

navbut.addEventListener(MouseEvent.MOUSE_OVER, mouseOverHandler);

navbut.addEventListener(MouseEvent.MOUSE_OUT, mouseOutHandler);
navbut.addEventListener(MouseEvent.CLICK,
mouseClickHandler);


//trace(navbut.x);

//Increment the menu button counter, so we
know how many buttons there are
i

RE: [Flashcoders] spacing horizontal dynamic xml menu textfields

2009-08-26 Thread thomas horner
Hi Sid for some reason that still doesn't work, it's not spacing the buttons
out,  it also seems to be treating all the buttons as just one button, and
when i trace out the value of runningX it only gives me one value,

any ideas, many thanks again, Thomas

siteNav=IXml(assets.siteNav).xml;

var runningX:Number=0;

var padding:Number=50;

var itemsArr:Array=new Array(sitenav.secti...@name);

for (var index:int = 0; index  itemsArr.length;
index++) {

// You create items of any kind you like...
var navbut:navItem = new navItem( );
//assign the menu text from the navxml
navbut.label.text=itemsArr[index];

navbut.label.autoSize=TextFieldAutoSize.LEFT;

//Assign an url to a menu item
navbut.linkto=sitenav.secti...@src;

//read instructions fomr nav xml
navbut.keepopen=sitenav.secti...@keep;
navbut.isclicked=sitenav.secti...@highlight;

//Make the button look like a button (hand
cursor)
navbut.buttonMode=true;
navbut.mouseChildren=false;
navbut.alpha=0;
navbut.name=sitenav.secti...@url;
TweenMax.to(navbut, 0.5, {alpha:1});
//Add event handlers (used for animating the
buttons)

navbut.addEventListener(MouseEvent.MOUSE_OVER, mouseOverHandler);

navbut.addEventListener(MouseEvent.MOUSE_OUT, mouseOutHandler);
navbut.addEventListener(MouseEvent.CLICK,
mouseClickHandler);


// You say that runningX is some value.
since it was zero in the beginning we are adding the value ontop of its
current value (see line below)
navbut.x=runningX;


// ... And then you space them. You can use
textWidth if using text width or plain width for object that extend from
DisplayObjects or Sprites etc...
runningX+=navbut.width + 10;// +10 is the
offset between the items you want ot use. Can be any number.
// And then you add the child to the display
list so it becomes visible.
nav1.addChild(navbut);

trace(runningX);
}
}

-Original Message-
From: flashcoders-boun...@chattyfig.figleaf.com
[mailto:flashcoders-boun...@chattyfig.figleaf.com] On Behalf Of Sidney de
Koning
Sent: 26 August 2009 10:42
To: Flash Coders List
Subject: Re: [Flashcoders] spacing horizontal dynamic xml menu textfields

Hi Thomas,

In the nav item objects you are creating you can override the width  
and height functions, like so;

override public function get width( ):Number {
// The plus 4 makes it look better, change this if you like
return _myTextfield.textWidth + 4;
}

Then it will all have a different width.

Oh i just see that you have to use width since navItem is not a  
textfield, but uses a textfield so it does not have the textWidth  
funtion. Try that :)

runningX += navItem.width + 20;

Oh and just a (real important) note, it is very good practice to  
always create classes with a capital letter, so it then becomes  
NavItem instead of navItem.

Cheers,

Sid




On Aug 26, 2009, at 10:28 AM, thomas horner wrote:

 Hi Sid many thanks for the demo, have managed to incorporate this
 successfully into what I was doing,  and evenly space the items, but  
 am
 struggling to space the items,

 as per line;

 runningX += textheader.textwidth + 20;  //20 is the offset or padding
 between the items, however for some reason there is no gap and all  
 the items
 are butted up to one another?

 many thanks, in advance , Thomas

 -Original Message-
 From: flashcoders-boun...@chattyfig.figleaf.com
 [mailto:flashcoders-boun...@chattyfig.figleaf.com] On Behalf Of  
 Sidney de
 Koning - Funky Monkey Studios
 Sent: 25 August 2009 16:44
 To: Flash Coders List
 Subject: RE: [Flashcoders] spacing horizontal dynamic xml menu  
 textfields

 He Thomas,

 This stuff can be a bit difficult when making the transition.
 Textfield has a really cool property called textWidth and  
 textHeight, that
 retruns only the width and height of the actual height :)

 I have put comment in the code that explain it. Here is an example  
 to demo:

 var runningX:Number = 0;

 // This is basically your data comming from XML
 var itemsArr:Array = new Array(one, different length, piece of  
 text,
 last bit, evently spaced);

 // It does not really matter

RE: [Flashcoders] spacing horizontal dynamic xml menu textfields

2009-08-26 Thread thomas horner
thanks steven but where in this do i populate my textfield in order to
calculate the widths?

-Original Message-
From: flashcoders-boun...@chattyfig.figleaf.com
[mailto:flashcoders-boun...@chattyfig.figleaf.com] On Behalf Of Steven Sacks
Sent: 26 August 2009 09:53
To: Flash Coders List
Subject: Re: [Flashcoders] spacing horizontal dynamic xml menu textfields

As I described on my forum post, you have to first put your items in an
array.

var items:Array = [all, of, your, items];
var len:int= items.length;
var i:int;

Then, you do the following measurements:


// the right of the last item minus the left of the first item
var availableWidth:Number = items[len - 1].x + items[len -1].width -
items[0].x;

// the total widths of all the items
var totalWidth:Number = 0;
i = len;
while (i--)
{
 totalWidth += items[i].textWidth;
}

//Subtract the totalWidth from availableWidth to get the remainingWidth
var remainingWidth:Number = availableWidth - totalWidth;

// Divide remainingWidthby the number of items
var gapWidth:Number = remainingWidth / len;


// iterate through your array setting the x positions
// of the items based on the previous item's width and the gap.

var lastX:Number = 0;
for (i= 0; i  len; ++i)
{
 items[i].x = lastX;
 lastX = items[i].textWidth + gapWidth;
}

// That's all there is to it.

___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


[Flashcoders] spacing horizontal dynamic xml menu textfields

2009-08-25 Thread thomas horner
 

Hi all am struggling to position, my textFields generated within my loop
from my external xml,

 

i want to evenly space them and as they are dynamic they are all of
different sizes.

 

i have run a trace on the loop as follows;

 

trace(navbut.label.width);

 

which gives me the widths of each field how do it add the total of the
widths from the loop? to then space them.

___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] spacing horizontal dynamic xml menu textfields

2009-08-25 Thread Sidney de Koning

Hi Thomas,

Try to do something like this and adjust it to your own needs;

// When you are in a for loop, create new items and and try to measure  
the height of an item.
// And position items vertically.You need to remember the previous  
item, the fastest way to do this is to have a runningY var declared  
outside the for loop with an initial value of zero.

//See comments in code for further explanation.

var runningY:Number = 0;
var OFFSET_X:Number = 20;

for (var index:int = 0; index  4 ; index++) {

var _textheader:TextField = new TextField( );
_textheader.text = Text;
_textheader.autoSize = TextFieldAutoSize.LEFT;
_textheader.x = _background.x - _background.width / 2 + OFFSET_X;
// First iteration  runningY = 0;
	// Second iteration runningY = 0 + textHeader.height +2;  
textHeader.height = 20
	// Third iteration  runningY = 22 + textHeader.height +2;  
textHeader.height = 40 -- mutiple lines of text
	// Fourth iteration runningY = 64 + textHeader.height +2;  
textHeader.height = 20

// Fifth iteration  runningY = 86
_textheader.y = runningY;
runningY += _textheader.height + 2; // textheader = 20
}



On Aug 25, 2009, at 3:06 PM, thomas horner wrote:




Hi all am struggling to position, my textFields generated within my  
loop

from my external xml,



i want to evenly space them and as they are dynamic they are all of
different sizes.



i have run a trace on the loop as follows;



trace(navbut.label.width);



which gives me the widths of each field how do it add the total of the
widths from the loop? to then space them.

___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


RE: [Flashcoders] spacing horizontal dynamic xml menu textfields

2009-08-25 Thread thomas horner
Hi thanks, so this is for a vertical menu or positioning vertical
textFields, 

i will try and adjust this for horizontal purposes and measure the width as
opposed to the height then?

-Original Message-
From: flashcoders-boun...@chattyfig.figleaf.com
[mailto:flashcoders-boun...@chattyfig.figleaf.com] On Behalf Of Sidney de
Koning
Sent: 25 August 2009 14:22
To: Flash Coders List
Subject: Re: [Flashcoders] spacing horizontal dynamic xml menu textfields

Hi Thomas,

Try to do something like this and adjust it to your own needs;

// When you are in a for loop, create new items and and try to measure  
the height of an item.
// And position items vertically.You need to remember the previous  
item, the fastest way to do this is to have a runningY var declared  
outside the for loop with an initial value of zero.
//See comments in code for further explanation.

var runningY:Number = 0;
var OFFSET_X:Number = 20;

for (var index:int = 0; index  4 ; index++) {

var _textheader:TextField = new TextField( );
_textheader.text = Text;
_textheader.autoSize = TextFieldAutoSize.LEFT;
_textheader.x = _background.x - _background.width / 2 + OFFSET_X;
// First iteration  runningY = 0;
// Second iteration runningY = 0 + textHeader.height +2;  
textHeader.height = 20
// Third iteration  runningY = 22 + textHeader.height +2;  
textHeader.height = 40 -- mutiple lines of text
// Fourth iteration runningY = 64 + textHeader.height +2;  
textHeader.height = 20
// Fifth iteration  runningY = 86
_textheader.y = runningY;
runningY += _textheader.height + 2; // textheader = 20
}



On Aug 25, 2009, at 3:06 PM, thomas horner wrote:



 Hi all am struggling to position, my textFields generated within my  
 loop
 from my external xml,



 i want to evenly space them and as they are dynamic they are all of
 different sizes.



 i have run a trace on the loop as follows;



 trace(navbut.label.width);



 which gives me the widths of each field how do it add the total of the
 widths from the loop? to then space them.

 ___
 Flashcoders mailing list
 Flashcoders@chattyfig.figleaf.com
 http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] spacing horizontal dynamic xml menu textfields

2009-08-25 Thread Sidney de Koning

Yup that is correct. X and width, Y and height.

Good luck!

Sid

On Aug 25, 2009, at 3:36 PM, thomas horner wrote:


Hi thanks, so this is for a vertical menu or positioning vertical
textFields,

i will try and adjust this for horizontal purposes and measure the  
width as

opposed to the height then?

-Original Message-
From: flashcoders-boun...@chattyfig.figleaf.com
[mailto:flashcoders-boun...@chattyfig.figleaf.com] On Behalf Of  
Sidney de

Koning
Sent: 25 August 2009 14:22
To: Flash Coders List
Subject: Re: [Flashcoders] spacing horizontal dynamic xml menu  
textfields


Hi Thomas,

Try to do something like this and adjust it to your own needs;

// When you are in a for loop, create new items and and try to measure
the height of an item.
// And position items vertically.You need to remember the previous
item, the fastest way to do this is to have a runningY var declared
outside the for loop with an initial value of zero.
//See comments in code for further explanation.

var runningY:Number = 0;
var OFFSET_X:Number = 20;

for (var index:int = 0; index  4 ; index++) {

var _textheader:TextField = new TextField( );
_textheader.text = Text;
_textheader.autoSize = TextFieldAutoSize.LEFT;
_textheader.x = _background.x - _background.width / 2 + OFFSET_X;
// First iteration  runningY = 0;
// Second iteration runningY = 0 + textHeader.height +2;
textHeader.height = 20
// Third iteration  runningY = 22 + textHeader.height +2;
textHeader.height = 40 -- mutiple lines of text
// Fourth iteration runningY = 64 + textHeader.height +2;
textHeader.height = 20
// Fifth iteration  runningY = 86
_textheader.y = runningY;
runningY += _textheader.height + 2; // textheader = 20
}



On Aug 25, 2009, at 3:06 PM, thomas horner wrote:




Hi all am struggling to position, my textFields generated within my
loop
from my external xml,



i want to evenly space them and as they are dynamic they are all of
different sizes.



i have run a trace on the loop as follows;



trace(navbut.label.width);



which gives me the widths of each field how do it add the total of  
the

widths from the loop? to then space them.

___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


RE: [Flashcoders] spacing horizontal dynamic xml menu textfields

2009-08-25 Thread thomas horner
is this using as2 as im trying to do it in as3 so am a bit confused

-Original Message-
From: flashcoders-boun...@chattyfig.figleaf.com
[mailto:flashcoders-boun...@chattyfig.figleaf.com] On Behalf Of Sidney de
Koning
Sent: 25 August 2009 15:22
To: Flash Coders List
Subject: Re: [Flashcoders] spacing horizontal dynamic xml menu textfields

Yup that is correct. X and width, Y and height.

Good luck!

Sid

On Aug 25, 2009, at 3:36 PM, thomas horner wrote:

 Hi thanks, so this is for a vertical menu or positioning vertical
 textFields,

 i will try and adjust this for horizontal purposes and measure the  
 width as
 opposed to the height then?

 -Original Message-
 From: flashcoders-boun...@chattyfig.figleaf.com
 [mailto:flashcoders-boun...@chattyfig.figleaf.com] On Behalf Of  
 Sidney de
 Koning
 Sent: 25 August 2009 14:22
 To: Flash Coders List
 Subject: Re: [Flashcoders] spacing horizontal dynamic xml menu  
 textfields

 Hi Thomas,

 Try to do something like this and adjust it to your own needs;

 // When you are in a for loop, create new items and and try to measure
 the height of an item.
 // And position items vertically.You need to remember the previous
 item, the fastest way to do this is to have a runningY var declared
 outside the for loop with an initial value of zero.
 //See comments in code for further explanation.

 var runningY:Number = 0;
 var OFFSET_X:Number = 20;
   
 for (var index:int = 0; index  4 ; index++) {

   var _textheader:TextField = new TextField( );
   _textheader.text = Text;
   _textheader.autoSize = TextFieldAutoSize.LEFT;
   _textheader.x = _background.x - _background.width / 2 + OFFSET_X;
   // First iteration  runningY = 0;
   // Second iteration runningY = 0 + textHeader.height +2;
 textHeader.height = 20
   // Third iteration  runningY = 22 + textHeader.height +2;
 textHeader.height = 40 -- mutiple lines of text
   // Fourth iteration runningY = 64 + textHeader.height +2;
 textHeader.height = 20
   // Fifth iteration  runningY = 86
   _textheader.y = runningY;
   runningY += _textheader.height + 2; // textheader = 20
 }



 On Aug 25, 2009, at 3:06 PM, thomas horner wrote:



 Hi all am struggling to position, my textFields generated within my
 loop
 from my external xml,



 i want to evenly space them and as they are dynamic they are all of
 different sizes.



 i have run a trace on the loop as follows;



 trace(navbut.label.width);



 which gives me the widths of each field how do it add the total of  
 the
 widths from the loop? to then space them.

 ___
 Flashcoders mailing list
 Flashcoders@chattyfig.figleaf.com
 http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

 ___
 Flashcoders mailing list
 Flashcoders@chattyfig.figleaf.com
 http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

 ___
 Flashcoders mailing list
 Flashcoders@chattyfig.figleaf.com
 http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


RE: [Flashcoders] spacing horizontal dynamic xml menu textfields

2009-08-25 Thread Sidney de Koning - Funky Monkey Studios
No problem :)
This is using AS3. Where do you have problem with?

Sid


 is this using as2 as im trying to do it in as3 so am a bit confused

 -Original Message-
 From: flashcoders-boun...@chattyfig.figleaf.com
 [mailto:flashcoders-boun...@chattyfig.figleaf.com] On Behalf Of Sidney de
 Koning
 Sent: 25 August 2009 15:22
 To: Flash Coders List
 Subject: Re: [Flashcoders] spacing horizontal dynamic xml menu textfields

 Yup that is correct. X and width, Y and height.

 Good luck!

 Sid

 On Aug 25, 2009, at 3:36 PM, thomas horner wrote:

 Hi thanks, so this is for a vertical menu or positioning vertical
 textFields,

 i will try and adjust this for horizontal purposes and measure the
 width as
 opposed to the height then?

 -Original Message-
 From: flashcoders-boun...@chattyfig.figleaf.com
 [mailto:flashcoders-boun...@chattyfig.figleaf.com] On Behalf Of
 Sidney de
 Koning
 Sent: 25 August 2009 14:22
 To: Flash Coders List
 Subject: Re: [Flashcoders] spacing horizontal dynamic xml menu
 textfields

 Hi Thomas,

 Try to do something like this and adjust it to your own needs;

 // When you are in a for loop, create new items and and try to measure
 the height of an item.
 // And position items vertically.You need to remember the previous
 item, the fastest way to do this is to have a runningY var declared
 outside the for loop with an initial value of zero.
 //See comments in code for further explanation.

 var runningY:Number = 0;
 var OFFSET_X:Number = 20;

 for (var index:int = 0; index  4 ; index++) {

  var _textheader:TextField = new TextField( );
  _textheader.text = Text;
  _textheader.autoSize = TextFieldAutoSize.LEFT;
  _textheader.x = _background.x - _background.width / 2 + OFFSET_X;
  // First iteration  runningY = 0;
  // Second iteration runningY = 0 + textHeader.height +2;
 textHeader.height = 20
  // Third iteration  runningY = 22 + textHeader.height +2;
 textHeader.height = 40 -- mutiple lines of text
  // Fourth iteration runningY = 64 + textHeader.height +2;
 textHeader.height = 20
  // Fifth iteration  runningY = 86
  _textheader.y = runningY;
  runningY += _textheader.height + 2; // textheader = 20
 }



 On Aug 25, 2009, at 3:06 PM, thomas horner wrote:



 Hi all am struggling to position, my textFields generated within my
 loop
 from my external xml,



 i want to evenly space them and as they are dynamic they are all of
 different sizes.



 i have run a trace on the loop as follows;



 trace(navbut.label.width);



 which gives me the widths of each field how do it add the total of
 the
 widths from the loop? to then space them.

 ___
 Flashcoders mailing list
 Flashcoders@chattyfig.figleaf.com
 http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

 ___
 Flashcoders mailing list
 Flashcoders@chattyfig.figleaf.com
 http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

 ___
 Flashcoders mailing list
 Flashcoders@chattyfig.figleaf.com
 http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

 ___
 Flashcoders mailing list
 Flashcoders@chattyfig.figleaf.com
 http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

 ___
 Flashcoders mailing list
 Flashcoders@chattyfig.figleaf.com
 http://chattyfig.figleaf.com/mailman/listinfo/flashcoders



--
Hire me to do your website, businesscards, presentations or flyers.
--
Only those who dare to fail greatly can ever achieve greatly. - Robert F.
Kennedy
--
Sidney de Koning | Flash Developer/Creative Soul/Multimedialist
Funky Monkey Studios | Van Ostadestraat 286 HS | 1073 TW | Amsterdam |
e:sid...@funky-monkey.nl | tel: +31(06)24 548336 | fax: +31 (0)84 747 7288



___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


RE: [Flashcoders] spacing horizontal dynamic xml menu textfields

2009-08-25 Thread thomas horner
im using it with in the gaia framework do you know it? below is my loop and
'navbut.x' is what im trying to find, i need to add all the widths of all
the dynamic textfields sequentially and then space them out evenly
horizontally ,

im just totally stuck!


for each (var section:XML in siteNav.section) {

navbut = new navItem();


navbut.label.autoSize=TextFieldAutoSize.LEFT;


//Insert the menu text (li...@name reads the
link's name attribute)
navbut.label.text=secti...@name;
//Assign an url to a menu item
navbut.linkto=secti...@src;
navbut.keepopen=secti...@keep;
navbut.isclicked=secti...@highlight;

//Insert the menu button to stage

navbut.y=0;

trace(total);

navbut.x= ?;

nav1.addChild(navbut);


//Make the button look like a button (hand
cursor)
navbut.buttonMode=true;
navbut.mouseChildren=false;
navbut.alpha=0;
navbut.name=secti...@url;
TweenMax.to(navbut, 0.5, {alpha:1});
//Add event handlers (used for animating the
buttons)

navbut.addEventListener(MouseEvent.MOUSE_OVER, mouseOverHandler);

navbut.addEventListener(MouseEvent.MOUSE_OUT, mouseOutHandler);
navbut.addEventListener(MouseEvent.CLICK,
mouseClickHandler);


//trace(navbut.x);

//Increment the menu button counter, so we
know how many buttons there are
i++;
}
}

-Original Message-
From: flashcoders-boun...@chattyfig.figleaf.com
[mailto:flashcoders-boun...@chattyfig.figleaf.com] On Behalf Of Sidney de
Koning - Funky Monkey Studios
Sent: 25 August 2009 15:52
To: Flash Coders List
Subject: RE: [Flashcoders] spacing horizontal dynamic xml menu textfields

No problem :)
This is using AS3. Where do you have problem with?

Sid


 is this using as2 as im trying to do it in as3 so am a bit confused

 -Original Message-
 From: flashcoders-boun...@chattyfig.figleaf.com
 [mailto:flashcoders-boun...@chattyfig.figleaf.com] On Behalf Of Sidney de
 Koning
 Sent: 25 August 2009 15:22
 To: Flash Coders List
 Subject: Re: [Flashcoders] spacing horizontal dynamic xml menu textfields

 Yup that is correct. X and width, Y and height.

 Good luck!

 Sid

 On Aug 25, 2009, at 3:36 PM, thomas horner wrote:

 Hi thanks, so this is for a vertical menu or positioning vertical
 textFields,

 i will try and adjust this for horizontal purposes and measure the
 width as
 opposed to the height then?

 -Original Message-
 From: flashcoders-boun...@chattyfig.figleaf.com
 [mailto:flashcoders-boun...@chattyfig.figleaf.com] On Behalf Of
 Sidney de
 Koning
 Sent: 25 August 2009 14:22
 To: Flash Coders List
 Subject: Re: [Flashcoders] spacing horizontal dynamic xml menu
 textfields

 Hi Thomas,

 Try to do something like this and adjust it to your own needs;

 // When you are in a for loop, create new items and and try to measure
 the height of an item.
 // And position items vertically.You need to remember the previous
 item, the fastest way to do this is to have a runningY var declared
 outside the for loop with an initial value of zero.
 //See comments in code for further explanation.

 var runningY:Number = 0;
 var OFFSET_X:Number = 20;

 for (var index:int = 0; index  4 ; index++) {

  var _textheader:TextField = new TextField( );
  _textheader.text = Text;
  _textheader.autoSize = TextFieldAutoSize.LEFT;
  _textheader.x = _background.x - _background.width / 2 + OFFSET_X;
  // First iteration  runningY = 0;
  // Second iteration runningY = 0 + textHeader.height +2;
 textHeader.height = 20
  // Third iteration  runningY = 22 + textHeader.height +2;
 textHeader.height = 40 -- mutiple lines of text
  // Fourth iteration runningY = 64 + textHeader.height +2;
 textHeader.height = 20
  // Fifth iteration  runningY = 86
  _textheader.y = runningY;
  runningY += _textheader.height + 2; // textheader = 20
 }



 On Aug 25, 2009, at 3:06 PM, thomas horner wrote:



 Hi all am struggling to position, my textFields generated within my
 loop
 from my external xml,



 i want to evenly space them and as they are dynamic they are all of
 different sizes.



 i have run a trace on the loop as follows;



 trace(navbut.label.width);



 which

RE: [Flashcoders] spacing horizontal dynamic xml menu textfields

2009-08-25 Thread Sidney de Koning - Funky Monkey Studios
He Thomas,

This stuff can be a bit difficult when making the transition.
Textfield has a really cool property called textWidth and textHeight, that
retruns only the width and height of the actual height :)

I have put comment in the code that explain it. Here is an example to demo:

var runningX:Number = 0;

// This is basically your data comming from XML
var itemsArr:Array = new Array(one, different length, piece of text,
last bit, evently spaced);

// It does not really matter what kind of loop you do, it is the way of
spacing them thst matters, so you can do your loop like you normally
would,
// here i'm just using an array to demonstrate
for (var index:int = 0; index  itemsArr.length ; index++) {

// You create items of any kind you like...
var _textheader:TextField = new TextField( );
_textheader.text = itemsArr[index];
_textheader.autoSize = TextFieldAutoSize.LEFT;

// You say that runningX is some value. since it was zero in the
beginning we are adding the value ontop of its current value (see line
below)
_textheader.x = runningX;
// ... And then you space them. You can use textWidth if using text 
width
or plain width for object that extend from DisplayObjects or Sprites
etc...
runningX += _textheader.textWidth + 20; // +10 is the offset between the
items you want ot use. Can be any number.
// And then you add the child to the display list so it becomes visible.
addChild(_textheader);
}

Any questions, just ask :)

Cheers, Sid
 im using it with in the gaia framework do you know it? below is my loop
 and
 'navbut.x' is what im trying to find, i need to add all the widths of all
 the dynamic textfields sequentially and then space them out evenly
 horizontally ,

 im just totally stuck!


 for each (var section:XML in siteNav.section) {

   navbut = new navItem();


 navbut.label.autoSize=TextFieldAutoSize.LEFT;


   //Insert the menu text (li...@name reads the
 link's name attribute)
   navbut.label.text=secti...@name;
   //Assign an url to a menu item
   navbut.linkto=secti...@src;
   navbut.keepopen=secti...@keep;
   navbut.isclicked=secti...@highlight;

   //Insert the menu button to stage

   navbut.y=0;

   trace(total);

   navbut.x= ?;

   nav1.addChild(navbut);


   //Make the button look like a button (hand
 cursor)
   navbut.buttonMode=true;
   navbut.mouseChildren=false;
   navbut.alpha=0;
   navbut.name=secti...@url;
   TweenMax.to(navbut, 0.5, {alpha:1});
   //Add event handlers (used for animating the
 buttons)

 navbut.addEventListener(MouseEvent.MOUSE_OVER, mouseOverHandler);

 navbut.addEventListener(MouseEvent.MOUSE_OUT, mouseOutHandler);
   navbut.addEventListener(MouseEvent.CLICK,
 mouseClickHandler);


   //trace(navbut.x);

   //Increment the menu button counter, so we
 know how many buttons there are
   i++;
   }
   }

 -Original Message-
 From: flashcoders-boun...@chattyfig.figleaf.com
 [mailto:flashcoders-boun...@chattyfig.figleaf.com] On Behalf Of Sidney de
 Koning - Funky Monkey Studios
 Sent: 25 August 2009 15:52
 To: Flash Coders List
 Subject: RE: [Flashcoders] spacing horizontal dynamic xml menu textfields

 No problem :)
 This is using AS3. Where do you have problem with?

 Sid


 is this using as2 as im trying to do it in as3 so am a bit confused

 -Original Message-
 From: flashcoders-boun...@chattyfig.figleaf.com
 [mailto:flashcoders-boun...@chattyfig.figleaf.com] On Behalf Of Sidney
 de
 Koning
 Sent: 25 August 2009 15:22
 To: Flash Coders List
 Subject: Re: [Flashcoders] spacing horizontal dynamic xml menu
 textfields

 Yup that is correct. X and width, Y and height.

 Good luck!

 Sid

 On Aug 25, 2009, at 3:36 PM, thomas horner wrote:

 Hi thanks, so this is for a vertical menu or positioning vertical
 textFields,

 i will try and adjust this for horizontal purposes and measure the
 width as
 opposed to the height then?

 -Original Message-
 From: flashcoders-boun...@chattyfig.figleaf.com
 [mailto:flashcoders-boun...@chattyfig.figleaf.com] On Behalf Of
 Sidney de
 Koning
 Sent: 25 August 2009 14:22
 To: Flash Coders List
 Subject: Re: [Flashcoders] spacing horizontal dynamic xml menu
 textfields

 Hi Thomas,

 Try to do something like this and adjust it to your own needs;

 // When you

RE: [Flashcoders] spacing horizontal dynamic xml menu textfields

2009-08-25 Thread thomas horner
that looks fantastic sid, try and crack on with it this evening many thanks
in advance!

cheers, Thomas 

-Original Message-
From: flashcoders-boun...@chattyfig.figleaf.com
[mailto:flashcoders-boun...@chattyfig.figleaf.com] On Behalf Of Sidney de
Koning - Funky Monkey Studios
Sent: 25 August 2009 16:44
To: Flash Coders List
Subject: RE: [Flashcoders] spacing horizontal dynamic xml menu textfields

He Thomas,

This stuff can be a bit difficult when making the transition.
Textfield has a really cool property called textWidth and textHeight, that
retruns only the width and height of the actual height :)

I have put comment in the code that explain it. Here is an example to demo:

var runningX:Number = 0;

// This is basically your data comming from XML
var itemsArr:Array = new Array(one, different length, piece of text,
last bit, evently spaced);

// It does not really matter what kind of loop you do, it is the way of
spacing them thst matters, so you can do your loop like you normally
would,
// here i'm just using an array to demonstrate
for (var index:int = 0; index  itemsArr.length ; index++) {

// You create items of any kind you like...
var _textheader:TextField = new TextField( );
_textheader.text = itemsArr[index];
_textheader.autoSize = TextFieldAutoSize.LEFT;

// You say that runningX is some value. since it was zero in the
beginning we are adding the value ontop of its current value (see line
below)
_textheader.x = runningX;
// ... And then you space them. You can use textWidth if using text
width
or plain width for object that extend from DisplayObjects or Sprites
etc...
runningX += _textheader.textWidth + 20; // +10 is the offset between
the
items you want ot use. Can be any number.
// And then you add the child to the display list so it becomes
visible.
addChild(_textheader);
}

Any questions, just ask :)

Cheers, Sid
 im using it with in the gaia framework do you know it? below is my loop
 and
 'navbut.x' is what im trying to find, i need to add all the widths of all
 the dynamic textfields sequentially and then space them out evenly
 horizontally ,

 im just totally stuck!


 for each (var section:XML in siteNav.section) {

   navbut = new navItem();


 navbut.label.autoSize=TextFieldAutoSize.LEFT;


   //Insert the menu text (li...@name reads the
 link's name attribute)
   navbut.label.text=secti...@name;
   //Assign an url to a menu item
   navbut.linkto=secti...@src;
   navbut.keepopen=secti...@keep;
   navbut.isclicked=secti...@highlight;

   //Insert the menu button to stage

   navbut.y=0;

   trace(total);

   navbut.x= ?;

   nav1.addChild(navbut);


   //Make the button look like a button (hand
 cursor)
   navbut.buttonMode=true;
   navbut.mouseChildren=false;
   navbut.alpha=0;
   navbut.name=secti...@url;
   TweenMax.to(navbut, 0.5, {alpha:1});
   //Add event handlers (used for animating the
 buttons)

 navbut.addEventListener(MouseEvent.MOUSE_OVER, mouseOverHandler);

 navbut.addEventListener(MouseEvent.MOUSE_OUT, mouseOutHandler);
   navbut.addEventListener(MouseEvent.CLICK,
 mouseClickHandler);


   //trace(navbut.x);

   //Increment the menu button counter, so we
 know how many buttons there are
   i++;
   }
   }

 -Original Message-
 From: flashcoders-boun...@chattyfig.figleaf.com
 [mailto:flashcoders-boun...@chattyfig.figleaf.com] On Behalf Of Sidney de
 Koning - Funky Monkey Studios
 Sent: 25 August 2009 15:52
 To: Flash Coders List
 Subject: RE: [Flashcoders] spacing horizontal dynamic xml menu textfields

 No problem :)
 This is using AS3. Where do you have problem with?

 Sid


 is this using as2 as im trying to do it in as3 so am a bit confused

 -Original Message-
 From: flashcoders-boun...@chattyfig.figleaf.com
 [mailto:flashcoders-boun...@chattyfig.figleaf.com] On Behalf Of Sidney
 de
 Koning
 Sent: 25 August 2009 15:22
 To: Flash Coders List
 Subject: Re: [Flashcoders] spacing horizontal dynamic xml menu
 textfields

 Yup that is correct. X and width, Y and height.

 Good luck!

 Sid

 On Aug 25, 2009, at 3:36 PM, thomas horner wrote:

 Hi thanks, so this is for a vertical menu or positioning vertical
 textFields,

 i will try and adjust this for horizontal purposes and measure the
 width as
 opposed