按钮的位置as3

时间:2013-12-12 23:10:34

标签: actionscript-3 button position

我需要帮助AS3中的按钮位置。与Topic之前相同,我使用AS3创建了一个IRC客户端,但是当用户加入频道时,会添加一个按钮,但是如果已经有一个按钮并且用户在IRC上加入新频道,则会添加新按钮此外,这适用于用户所加入的每个频道,但它应该位于最后一个按钮(并排)之后。如果用户加入更多频道,则相同。我怎样才能在x和y位置的最佳方式上做到这一点?

这是我现在的代码:

function onChannelButton(channel)
{
var test:MovieClip = new MovieClip();
var btn:Button;

for(var j:int = 0; j < btn.length; j++) {
    btn = new Button();
    btn.name = "btn";
    btn.label = channel;
    btn.width = 90;
    btn.x = 120;
    btn.y = 487.25;
    test.addChild(btn);
    }
    addChild(test);
}

希望你能帮助我!谢谢!

2 个答案:

答案 0 :(得分:2)

试试这个:

const PADDING:uint = 10;
const NUM_BUTTONS:uint = 10;

onChannelButton();

function onChannelButton():void {
    var test:Sprite = new Sprite();
    var btn:Button;

    //NUM_BUTTONS or btn.length ? (Don't know about your Button class
    for (var i:int = 0; i < NUM_BUTTONS; i++) 
    {
            btn = new Button();
            btn.name = "btn";
            btn.width = 90;
            btn.x = (btn.width + PADDING) * i;
            test.addChild(btn);
    }

    addChild(test);
}

答案 1 :(得分:0)

我通常使用您的迭代器j执行类似下面的操作来确定x和y位置。

我已经创建了四个变量,希望这些代码能够自我解释。在这种情况下,y位置不会改变每个btn,这就是btnSpacingY设置为0的原因。

var btnStartX:Number = 120;
var btnStartY:Number = 487.25;
var btnSpacingX:Number = 120;
var btnSpacingY:Number = 0;

function onChannelButton(channel) {
    var test:MovieClip = new MovieClip();
    var btn:Button;

    for (var j:int = 0; j < 10; j++) {
        btn = new Button();
        btn.name = "btn";
        btn.label = channel;
        btn.width = 90;
        btn.x = btnStartX + (j * btnSpacingX);
        btn.y = btnStartY + (j * btnSpacingY);
        test.addChild(btn);
    }
    addChild(test);
}