更改flash中的帧as2

时间:2012-03-26 09:47:11

标签: flash

我在flash中创作一部电影! 在我的第一帧中,我有一个三角形,第二个是正方形,第三个是直肠,第四个是圆。

我按照规定创建了4个框架!我想设置一个数组,让我们说(圆形,三角形,圆形,正方形,三角形,矩形)然后我希望电影在每帧之间用一两秒钟来播放?

**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 2: Statement must appear within on/onClipEvent handler
 var active = 1;

错误场景=场景1,图层=图层1,帧= 1:第3行:声明必须出现在on / onClipEvent处理程序中      var timer = setInterval(gotoNext,1000);

错误场景=场景1,图层=图层1,帧= 1:第5行:声明必须出现在on / onClipEvent处理程序中      function gotoNext(){

ActionScript错误总数:4报告错误:4

1 个答案:

答案 0 :(得分:0)

如果您编辑电影(CTRL + ENTER,CMD + ENTER),它将播放您的电影,并将按原始顺序显示帧。如果你能确切地说出你想要做什么,我们可以提供更多帮助:)

罗布


将此代码放在第一帧:

stop();
var active = 1;
var timer = setInterval(gotoNext, 1000);

function gotoNext() {
 active = active + 1 <= _totalframes ? active + 1 : 1;
 gotoAndStop(active);
}

此代码将每秒逐个遍历帧(不需要数组)。 setInterval实例将每秒调用gotoNext()函数,并将增加active变量的值,然后将播放头移动到下一帧。如果它到达最后一帧,它将进入第一帧,创建一个无限循环。


好的,修改代码如下:

stop();
var frames = ['rectangle', 'circle', 'triangle', 'square'];
var active = 1;
var timer = setInterval(gotoNext, 1000);

function gotoNext() {
 active = active + 1 <= _totalframes ? active + 1 : 1;
 gotoAndStop(frames[active]);
}

此代码将使用frames数组,并将播放头移动到数组的活动值。您需要做的是在每个帧上添加标签,其名称与数组中的标签完全相同。

查看此链接以了解如何使用框架标签: http://the-dude.co.uk/tutorials/what-are-frame-labels-and-how-do-you-use-them-flash-as2/

祝你好运, 罗布