I have a couple of mc’s that are added to the stage after one another.
I want them to have equal space between them.
Here i the code snippet with the problem, below is the full code.
for each (var link:XML in settingsXML.links.link) {
i++;
newsItem = new NewsItem();
newsItem.menuLabel.text = link.@name;
newsItem.menuLabel.autoSize = TextFieldAutoSize.LEFT;
total += newsItem.menuLabel.width;
//*******HERE IS THE PROBLEM**********
newsItem.x = total+newsItem.menuLabel.width
//trace("t"+total)
//trace("w"+newsItem.menuLabel.width);
//trace("x"+newsItem.x)
Full code here
import fl.transitions.Tween;
import fl.transitions.easing.*;
var xmlPath:String = "site.xml";
var settingsXML:XML;
var tweensArray:Array = new Array();
var buttonTween:Tween;
var newsSpeed:Number = 3;
var newsHolder:Sprite = new Sprite();
addChild(newsHolder);
var total:Number = 0;
var loader = new URLLoader();
loader.load (new URLRequest(xmlPath));
loader.addEventListener (Event.COMPLETE, xmlLoaded);
function xmlLoaded (e:Event):void {
if ((e.target as URLLoader) != null ) {
settingsXML = new XML(loader.data);
settingsXML.ignoreWhitespace = true;
createTicker ();
}
}
function createTicker ():void {
var newsItem:NewsItem;
var i:uint = 0;
for each (var link:XML in settingsXML.links.link) {
i++;
newsItem = new NewsItem();
newsItem.menuLabel.text = link.@name;
newsItem.menuLabel.autoSize = TextFieldAutoSize.LEFT;
//********HERE I MY PROBLEM **************
total += newsItem.menuLabel.width;
newsItem.x = total+newsItem.menuLabel.width
//trace("t"+total)
//trace("w"+newsItem.menuLabel.width);
//trace("x"+newsItem.x)
newsItem.y = 14;
newsItem.buttonMode = true;
newsItem.mouseChildren = false;
newsItem.linkTo = link.@url;
newsItem.addEventListener (MouseEvent.CLICK, mouseClicked);
newsItem.addEventListener (MouseEvent.MOUSE_OVER, mouseOverHandler);
newsItem.addEventListener (MouseEvent.MOUSE_OUT, mouseOutHandler);
newsHolder.addChild (newsItem);
//trace("x:" + newsItem.x);
//trace("w:" + newsItem.menuLabel.width);
}
}
function mouseClicked(e:Event):void {
var targetURL:String = e.target.linkTo;
var urlRequest:URLRequest = new URLRequest(targetURL);
navigateToURL(urlRequest);
}
function mouseOverHandler (e:Event):void {
buttonTween = new Tween(e.target, "scaleX", Elastic.easeOut, 1, 2, 1, true);
newsSpeed = 1;
}
function mouseOutHandler (e:Event):void {
buttonTween = new Tween(e.target, "scaleX", Elastic.easeOut, e.target.scaleX, 1, 1, true);
newsSpeed = 3;
}
newsHolder.addEventListener(Event.ENTER_FRAME, moveNewsTicker);
function moveNewsTicker(e:Event):void{
newsHolder.x -= newsSpeed;
if(newsHolder.x <= -newsHolder.width -150 ){
newsHolder.x = stage.stageWidth;;
}
}
Here is the xml:
<?xml version="1.0" encoding="utf-8" ?>
<site>
<links>
<link name="111 Oj oj oj vilken nyhet." url="http://www.dn.se"/>
<link name="222 Det här blir spännande." url="http://www.svd.se"/>
<link name="333 Kolla in den här det är en bra nyhet." url="http://www.idg.se"/>
<link name="444 Ni måste läsa detta." url="http://www.svt.se"/>
<link name="555 asdfsadfasdfsadfasd." url="http://www.svt.se"/>
</links>
</site>