смена кадров во flash as2 - PullRequest
       1

смена кадров во flash as2

0 голосов
/ 26 марта 2012

Я создаю фильм во флэш-памяти!
В моем первом кадре у меня есть треугольник, второй - квадрат, третий - прямоугольник, а четвертый - круг.

Я создал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 gotoNext () {

Всего ошибок ActionScript: 4 Сообщенных ошибки:4

1 Ответ

0 голосов
/ 26 марта 2012

если вы скомпилируете фильм (CTRL + ENTER, CMD + ENTER), он воспроизведет ваш фильм и покажет кадры в исходном порядке. Если вы можете точно сказать, что вы пытаетесь сделать, мы можем помочь немного больше:)

Rob


Поместите этот код в свой первый кадр:

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 / учебники / какие-являются каркасной-этикетка-и-как-делать-вы потребительная их вспышку-as2 /

Удачи, Rob

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...