![]() |
|
||||||||||
|
|||||
|
Регистрация: Nov 2009
Адрес: Москва
Сообщений: 8
|
Привет!
сразу хочу сказать моя тема аналогичная этой. Но совет из нее не помог. Задержка не работает. Нужен эффект смены картинок. Для него сделал слой с маской mask_mc - это мувик целой маски из вертикальных линий line_mc - мувик линии - делал все на тайм лайне без AS //Переменные xl и yl это координаты первой линии var xl:Number = - 1; var yl:Number = - 1; // В этом цикле выводится вертикальные линия из квадратиков которые постепенно закрывают изображение слева направо (mask слой) for (var i = 1; i <= 140; i++) { this.attachMovie("line_mc", "line_mc_"+i, this.getNextHighestDepth(), {_x:xl, _y:yl}); //Здесь задется xl координата для следующей линии xl = xl + 4; // Задается координата yl четные ряды -1 нечетные -5 или наооборот - неважно (ну чтобы клеточки на линии были в шахматном порядке) if ( yl == - 1 ) { yl = - 5 } else { yl = - 1 }; //Тут надо вставить задержку на 5 кадров.Что бы только через 5 кадров выводилась след линия А то получается что все линии выводятся сразу. //Пробовал вот это - не работает задержка stop(); setTimeout(function () { mask_mc.gotoAndPlay(mask_mc._currentframe+1); }, 1000); } |
|
|||||
|
Выводится 123 однократно с задержкой в 5 секунд
Если что-то не работает - упрощайте конструктив вызова и построения функционалов ![]() |
|
|||||
|
Регистрация: Nov 2009
Адрес: Москва
Сообщений: 8
|
Не работает. Пробовал вот так вообще ничего не выводится
var xl:Number = - 1; var yl:Number = - 1; for (var i = 1; i <= 140; i++) { function GO(val) { this.attachMovie("line_mc", "line_mc_"+i, i, {_x:xl, _y:yl}); } setTimeout( GO, 5, "123"); xl = xl + 4; if ( yl == - 1 ) { yl = - 5 } else { yl = - 1 }; } var xl:Number = - 1; var yl:Number = - 1; for (var i = 1; i <= 140; i++) { this.attachMovie("line_mc", "line_mc_"+i, i, {_x:xl, _y:yl}); xl = xl + 4; if ( yl == - 1 ) { yl = - 5 } else { yl = - 1 }; function GO(val) { trace(val); } setTimeout( GO, 5000, "123"); } dark256, видишь в коде AS2 функция setTimeout не подсвечивает даже, поэтому рискну предположить что она из AS3. Последний раз редактировалось lext55; 02.12.2009 в 15:39. |
|
|||||
|
Регистрация: Nov 2007
Сообщений: 1,724
|
setTimeout прекрасно работает и на ас2
|
|
|||||
|
Регистрация: Nov 2009
Адрес: Москва
Сообщений: 8
|
ну тогда что я делаю неправильно? почему данный код не работает? при этом Check Syntax ошибок не выдает
|
|
|||||
|
Регистрация: Nov 2007
Сообщений: 1,724
|
а зачем функция объявляется и вызывается в цикле?????
|
|
|||||
|
Регистрация: Nov 2009
Адрес: Москва
Сообщений: 8
|
[IMG]http://pic.************/uploads/091202/R0vb8ercEo.jpg[/IMG]
Вот это то что должно получится, вертикальные линии должны появляться одна за одной, слева направо через 5 кадров. Вывод линий организован в цикле for все даже работает, только линии выводятся все и сразу. задержка никак не хочет работать. |
|
|||||
|
Регистрация: Nov 2007
Сообщений: 1,724
|
Последний раз редактировалось Zik.; 02.12.2009 в 17:48. |
|
|||||
|
Регистрация: Nov 2009
Адрес: Москва
Сообщений: 8
|
спасибо, работает. Правда непонял что значит Void здесь
и 100 * i ( походу с каждым новым циклом промежуток временной увеличивается хз зачем, но по факту ничего не увеличивается) Я в этот понедельник первый раз ActionScript в глаза увидел. и Flash. Учебник 1000 стр некогда читать было. Спасибо за помощь. |
|
|||||
|
Регистрация: Nov 2007
Сообщений: 1,724
|
:Void означает, что функция ничего не возвращает, нужно ведь типизировать функции
100 * i Делается для того, чтобы линии появлялись поочереди Если вы напиши 100, то все появятся в одно время |
![]() |
![]() |
Часовой пояс GMT +4, время: 08:25. |
|
|
« Предыдущая тема | Следующая тема » |
|
|