Я новичок во Flash, поэтому начал играть с довольно стандартным примером кода: один слой содержит фрагмент ролика с летающим прямоугольником, другой слой имеет кнопку для управления им. Весь код скрипта находится в файле Main.as. Прямоугольник был назван square1 через окно свойств.
Вот проблема: в конструкторе Main есть строка:
square1.stop ();
чтобы предотвратить воспроизведение клипа, но это не помогает - он играет. Я знаю, что конструктор срабатывает, потому что в нем есть след («материал»). Код проверяет, что сцена была создана.
Что странного в том, что square1.currentFrame всегда возвращает 1, а square1.totalFrames также возвращает 1. Слой имеет 24 кадра на временной шкале. Я попробовал анимацию всего с двумя ключевыми кадрами, затем преобразовал всю анимацию в кадры - тот же результат. Я имею в виду, вещь летит перед моими глазами, как это может быть 1 кадр ???
Я даже добавил слушателя:
square1.addEventListener (Event.ENTER_FRAME, onFrameChange);
Событие срабатывает постоянно, то есть кадры меняются, но currentFrame по-прежнему равен 1.
Кроме того, попытался назвать отдельные кадры и использовать square1.gotoAndStop ("begin") и тому подобное. Ничего не помогает Я действительно застрял с этой глупой проблемой.