处理多个动画片段的相对位置

handling position of multiple movieclips in relation to each other

我对使用 Flash 并不陌生,但我主要用它来制作动画,我并没有真正使用 actionscript,但这次我想尝试通过代码制作布局。

我正在尝试放置方形影片剪辑以形成类似菜单的网格。 我将每个动画片段都放置在代码中,但我认为也许有更好、更有效的方法来做到这一点。

该代码非常基础,但我还是会 post 它,以便您了解我正在努力使它看起来像什么。我不是很会解释所以请见谅。

//1st row//
var btn1:MovieClip = new dBtn();
btn1.x = -210;
btn1.y = -90;
addChild(btn1);

var btn2:MovieClip = new dBtn();
btn2.x = btn1.x+70;
btn2.y = btn1.y;
addChild(btn2);

var btn3:MovieClip = new dBtn();
btn3.x = btn2.x+70;
btn3.y = btn2.y;
addChild(btn3);

//2nd row//
var btn4:MovieClip = new dBtn();
btn4.x = btn1.x;
btn4.y = btn1.y+70;
addChild(btn4);

var btn5:MovieClip = new dBtn();
btn5.x = btn4.x+70;
btn5.y = btn4.y;
addChild(btn5);

var btn6:MovieClip = new dBtn();
btn6.x = btn5.x+70;
btn6.y = btn5.y;
addChild(btn6);

//3rd row//
var btn7:MovieClip = new dBtn();
btn7.x = btn4.x;
btn7.y = btn4.y+70;
addChild(btn7);

var btn8:MovieClip = new dBtn();
btn8.x = btn7.x+70;
btn8.y = btn7.y;
addChild(btn8);

var btn9:MovieClip = new dBtn();
btn9.x = btn8.x+70;
btn9.y = btn8.y;
addChild(btn9);

循环 + 简单数学。

var buttonsList:Array = new Array;

for (var i:int = 0; i < 9; i++)
{
    // You can omit () with "new" operator if there are no arguments.
    var aBut:MovieClip = new dBtn;

    // Value of i % 3 goes 0 1 2 0 1 2 0 1 2.
    aBut.x = -210 + 70 * (i % 3);
    // Value of int(i / 3) goes 0 0 0 1 1 1 2 2 2.
    aBut.y = -90 + 70 * int(i / 3);

    addChild(aBut);
    buttonsList[i] = aBut;
}

然后要解决它们中的每一个,您可以分别使用它们从 0 到 8 的索引:

// Make the central one semi-transparent.
buttonsList[4].alpha = 0.5;