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 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
>
> _______________________________________________
> 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

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

Reply via email to