Помощь · Поиск · Пользователи · Календарь
Полная версия этой страницы: после клика проигрывается заставка перед открытием страницы
Flash Zone Forum > Macromedia Flash > ActionScript
nadyui
Здравствуйте. Подскажите пожалуйста, у меня такая задача:
после нажатия на кнопку во флеше в идеале должна проиграться вторая сцена с красивым затемнением этой странички а потом только открыться новая страница, которая будет в html.

Делала и так и этак, пыталась вставить таймер, но он не срабатывает, видимо где-то ошибка в коде:


Код
var timer:Timer = new Timer(1000);//создаем таймер, который будет срабатывать с интервалом 1 сек
var i:Number = 0;//переменная, к значению которой будет прибавляться 1 каждую секунду

on (release) {

nextScene ();
}

timer.start();//запускаем наш таймер
        timer.addEventListener(TimerEvent.TIMER, timerList);//регистрируем для него соушатель событий
        function timerList(e:TimerEvent):void{
            i++;//прибавляем к нашей переменной 1 при каждом срабатывании
            if(i>3){//проверяем, прошло ли 3 сек, с момента пересечения объектов
                timer.stop();//останавливаем таймер
                removeEventListener(Event.ENTER_FRAME, frameList);//удаляем фреймлистенер

                getURL("http://obr1.html", "_self");}
MustLive
nadyui

Во-первых, не нужно создавать две одинаковые темы wink.gif. Во-вторых, не срабатывает, потому что ошибки в коде.

Касательно твоего кода, замечу следующее. Код неполный (нет импорта пакета с классом Timer - это пакет flash.utils), пропущена последняя закрывающая фигурная скобка, а также используются устаревшие языковые конструкции.

Класс Timer появился в AS3, а у тебя используется множество конструкций из AS1/AS2. Такая как on (release) (устаревшая конструкция, которую мы на форуме уже многие годы не рекомендуем использовать даже для AS1, а использовать код "в кадр"), при том, что этот код нужно ставить "на объект", а ты указала его "в кадре" (т.е. тебе нужно переход на следующую сцену полностью переделать). А также getURL - это функция для AS 1 и 2, а для AS3 нужно использовать navigateToURL.

Поэтому исправь эти ошибки (приведи весь код к ActionScript 3) и тогда у тебя заработает таймер. При этом замечу, что переход на html-страницу ты можешь сделать не по таймеру, а установить нужный AS-код в конце второй сцены.
Русская версия IP.Board © 2001-2013 IPS, Inc.