Actionscript 3 将符号与Actionscript 3.0对齐

Actionscript 3 将符号与Actionscript 3.0对齐,actionscript-3,Actionscript 3,我一直在尝试在flash中创建一个漩涡般的催眠动画,随机单词淡入淡出。起初,我用定时器随机显示的运动tweens设置东西,但定时器不可避免地与动画不同步,导致动画中的单词切换 经过一些研究,使用ENTER_FRAME事件触发Actionscript中编码的动画似乎是正确同步事情的解决方案。然而,虽然修改可见性和初始淡入非常容易编码,但在舞台上保持适当对齐的同时进行缩放却非常困难 据我所知,我应该使用stage.stageWidth(and Height)/2-实例的宽度/高度/2来设置适当的x/

我一直在尝试在flash中创建一个漩涡般的催眠动画,随机单词淡入淡出。起初,我用定时器随机显示的运动tweens设置东西,但定时器不可避免地与动画不同步,导致动画中的单词切换

经过一些研究,使用ENTER_FRAME事件触发Actionscript中编码的动画似乎是正确同步事情的解决方案。然而,虽然修改可见性和初始淡入非常容易编码,但在舞台上保持适当对齐的同时进行缩放却非常困难

据我所知,我应该使用stage.stageWidth(and Height)/2-实例的宽度/高度/2来设置适当的x/y坐标,以便在通过调整实例的scaleX/y来重新调整实例的大小后,在舞台的中心重新对齐实例,但所有内容都稍微不对齐

我使用的每个实例在Flash Professional CS5.5中都以文本对象的形式启动,并已转换为电影剪辑对象,其实例名称在下面的代码中列出

选择并修改单词的初始函数

function runMany(event:Event):void {
if (cnt == 0) {
    randomWord = Math.floor(Math.random() * 10);
    scaling(randomWord, scale);
    setAlpha(randomWord, alphaLevel);
    visibility(randomWord, true);
    cnt++;
} else if (cnt <= 50) {
    alphaLevel = alphaLevel + .02;
    setAlpha(randomWord, alphaLevel);
    cnt++;

} else if (cnt < 97) {
    alphaLevel = alphaLevel - .02;
    scale = scale - .02;
    scaling(randomWord, scale);
    setAlpha(randomWord, alphaLevel);
    if (scale > 0) {
        cnt++;
    } else {
        cnt = 97;
    }
} else if (cnt == 97) {
    cnt = 0;
    alphaLevel = 0;
    scale = .8;
    visibility(randomWord, false);
    scaling(randomWord, scale);
    setAlpha(randomWord, alphaLevel);
}
}

它们是如何不同步的?你可能想看看格林斯托克的tween类。他们将允许你做你需要的一切,包括同步@Gone3d当我使用计时器时,它会通过动画的一部分来输入一个单词,然后跳到另一个单词。我考虑过greensock,但我没有看到任何应用对齐的东西,只是设置了动画it@user1942867当cnt@Pixel大象是设计出来的时候,你似乎不会称之为缩放。在cnt达到50之前,它会调用setAlpha来增加实例的alpha以创建淡入效果。您可能会遇到问题,因为缩放是从注册点开始的,注册点通常位于左上角,因此在缩放时会将对象向下推到右侧,您可能希望从对象的中心点缩放对象。如果您在AS3中查看关于点的旋转,我相信同样的概念也适用于缩放,因此您可以使用矩阵上的平移将每个电影剪辑向上滑动到左侧,然后在转换完成后进行缩放。这对我来说也从来都不是一件容易的事,但最终还是成功了。
function scaling(ref, setting):void {
    if (ref == 0) {
        if (setting == 1) {
            watch.width = 515.50;
            watch.height = 209;
        } else {
            watch.scaleX = setting;
            watch.scaleY = setting;
        }
    watch.x = stage.stageWidth/2 - watch.width/2;
    watch.y = stage.stageHeight/2 - watch.height/2;
}
if (ref == 1) {
    if (setting == 1) {
        slave.width = 552.55;
        slave.height = 266.75;
    }else {
        slave.scaleX = setting;
        slave.scaleY = setting;
    }
    slave.x = stage.stageWidth/2 - slave.width/2;
    slave.y = stage.stageHeight/2 - slave.height/2;
}
if (ref == 2) {
    if (setting == 1) {
        letGo.width = 574.45;
        letGo.height = 271;
    } else {
        letGo.scaleX = setting;
        letGo.scaleY = setting;
    }
    letGo.x = stage.stageWidth/2 - letGo.width/2;
    letGo.y = stage.stageHeight/2 - letGo.height/2;
}
if (ref == 3) {
    if (setting == 1) {
        obey.width = 536.95;
        obey.height = 339.15;
    } else {
        obey.scaleX = setting;
        obey.scaleY = setting;
    }
    obey.x = stage.stageWidth/2 - obey.width/2;
    obey.y = stage.stageHeight/2 - obey.height/2;
}
if (ref == 4) {
    if (setting == 1) {
        dontThink.width = 629.60;
        dontThink.height = 184.90
    } else {
        dontThink.scaleX = setting;
        dontThink.scaleY = setting;
    }
    dontThink.x = stage.stageWidth/2 - dontThink.width/2;
    dontThink.y = stage.stageHeight/2 - dontThink.height/2;
}
if (ref == 5) {
    if (setting == 1) {
        blank.width = 601.30;
        blank.height = 195.85;
    } else {
        blank.scaleX = setting;
        blank.scaleY = setting;
    }
    blank.x = stage.stageWidth/2 - blank.width/2;
    blank.y = stage.stageHeight/2 - blank.height/2;
}
if (ref == 6) {
    if (setting == 1) {
        mindless.width = 800.20;
        mindless.height = 187.25;
    } else {
        mindless.scaleX = setting;
        mindless.scaleY = setting;
    }
    mindless.x = stage.stageWidth/2 - mindless.width/2;
    mindless.y = stage.stageHeight/2 - mindless.height/2;
}
if (ref == 7) {
    if (setting == 1) {
        property1.width = 632.60;
        property1.height = 326.85;
    } else {
        property1.scaleX = setting;
        property1.scaleY = setting;
    }
    property1.x = stage.stageWidth/2 - property1.width/2;
    property1.y = stage.stageHeight/2 - property1.height/2;
}
if (ref == 8) {
    if (setting == 1) {
        owned.width = 670.65;
        owned.height = 209.75;
    } else {
        owned.scaleX = setting;
        owned.scaleY = setting;
    }
    owned.x = stage.stageWidth/2 - owned.width/2;
    owned.y = stage.stageHeight/2 - owned.height/2;
}
if (ref == 9) {
    if (setting == 1) {
        dontResist.width = 791.05;
        dontResist.height = 142.45;
    } else {
        dontResist.scaleX = setting;
        dontResist.scaleY = setting;
    }
    dontResist.x = stage.stageWidth/2 - dontResist.width/2;
    dontResist.y = stage.stageHeight/2 - dontResist.height/2;
}
if (ref == 10) {
    if (setting == 1) {
        submit.width = 793.40;
        submit.height = 244.35;
    } else {
        submit.scaleX = setting;
        submit.scaleY = setting;
    }
    submit.x = stage.stageWidth/2 - submit.width/2;
    submit.y = stage.stageHeight/2 - submit.height/2;
}
}