Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 30.11.2009, 18:15
lext55 вне форума Посмотреть профиль Отправить личное сообщение для lext55 Найти все сообщения от lext55
  № 1  
Ответить с цитированием
lext55

Регистрация: Nov 2009
Адрес: Москва
Сообщений: 8
По умолчанию Задержка Action Script 2.0

Привет!

сразу хочу сказать моя тема аналогичная этой. Но совет из нее не помог. Задержка не работает.

Нужен эффект смены картинок. Для него сделал слой с маской
mask_mc - это мувик целой маски из вертикальных линий
line_mc - мувик линии - делал все на тайм лайне без AS

Код AS1/AS2:
//Переменные 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);
 
}
подскажите ответ для AS2 - уже весь сижу. AS3 этот скрипт вообще не воспроизводит Adobe виснет.

Старый 01.12.2009, 17:02
dark256 вне форума Посмотреть профиль Отправить личное сообщение для dark256 Посетить домашнюю страницу dark256 Найти все сообщения от dark256
  № 2  
Ответить с цитированием
dark256
 
Аватар для dark256

блогер
Регистрация: Apr 2008
Адрес: SPb
Сообщений: 3,718
Записей в блоге: 5
Отправить сообщение для dark256 с помощью ICQ Отправить сообщение для dark256 с помощью Skype™
Код AS1/AS2:
function GO(val)
{
   trace(val)
}
setTimeout( GO,   5000, "123")
Выводится 123 однократно с задержкой в 5 секунд
Если что-то не работает - упрощайте конструктив вызова и построения функционалов
__________________
FLASHER.MAP SOUNDSTAGE / CS3 / AS2

Старый 02.12.2009, 15:35
lext55 вне форума Посмотреть профиль Отправить личное сообщение для lext55 Найти все сообщения от lext55
  № 3  
Ответить с цитированием
lext55

Регистрация: Nov 2009
Адрес: Москва
Сообщений: 8
Не работает. Пробовал вот так вообще ничего не выводится
Код AS1/AS2:
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 };
 
}
Пробывал вот так - задержки не создает.
Код AS1/AS2:
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.
Старый 02.12.2009, 15:41
Zik. вне форума Посмотреть профиль Отправить личное сообщение для Zik. Найти все сообщения от Zik.
  № 4  
Ответить с цитированием
Zik.
 
Аватар для Zik.

Регистрация: Nov 2007
Сообщений: 1,724
setTimeout прекрасно работает и на ас2

Старый 02.12.2009, 16:51
lext55 вне форума Посмотреть профиль Отправить личное сообщение для lext55 Найти все сообщения от lext55
  № 5  
Ответить с цитированием
lext55

Регистрация: Nov 2009
Адрес: Москва
Сообщений: 8
ну тогда что я делаю неправильно? почему данный код не работает? при этом Check Syntax ошибок не выдает

Старый 02.12.2009, 17:14
Zik. вне форума Посмотреть профиль Отправить личное сообщение для Zik. Найти все сообщения от Zik.
  № 6  
Ответить с цитированием
Zik.
 
Аватар для Zik.

Регистрация: Nov 2007
Сообщений: 1,724
а зачем функция объявляется и вызывается в цикле?????

Старый 02.12.2009, 17:29
lext55 вне форума Посмотреть профиль Отправить личное сообщение для lext55 Найти все сообщения от lext55
  № 7  
Ответить с цитированием
lext55

Регистрация: Nov 2009
Адрес: Москва
Сообщений: 8
[IMG]http://pic.************/uploads/091202/R0vb8ercEo.jpg[/IMG]
Вот это то что должно получится, вертикальные линии должны появляться одна за одной, слева направо через 5 кадров. Вывод линий организован в цикле for все даже работает, только линии выводятся все и сразу. задержка никак не хочет работать.

Старый 02.12.2009, 17:45
Zik. вне форума Посмотреть профиль Отправить личное сообщение для Zik. Найти все сообщения от Zik.
  № 8  
Ответить с цитированием
Zik.
 
Аватар для Zik.

Регистрация: Nov 2007
Сообщений: 1,724
Код AS1/AS2:
var xl:Number = -1;
var yl:Number = -1;
function go(i:Number):Void {
	attachMovie("line_mc","line_mc_"+i,i,{_x:xl, _y:yl});
	xl = xl+4;
	if (yl == -1) {
	       yl = -5;
	} else {
	       yl = -1;
	}
}
for (var i = 1; i <= 140; i++) {
	setTimeout(go, 100 * i, i); //время сами зададите
}


Последний раз редактировалось Zik.; 02.12.2009 в 17:48.
Старый 02.12.2009, 17:54
lext55 вне форума Посмотреть профиль Отправить личное сообщение для lext55 Найти все сообщения от lext55
  № 9  
Ответить с цитированием
lext55

Регистрация: Nov 2009
Адрес: Москва
Сообщений: 8
спасибо, работает. Правда непонял что значит Void здесь
Код AS1/AS2:
function go(i:Number):Void {
и 100 * i ( походу с каждым новым циклом промежуток временной увеличивается хз зачем, но по факту ничего не увеличивается)
Код AS1/AS2:
setTimeout(go, 100 * i, i);
Я в этот понедельник первый раз ActionScript в глаза увидел. и Flash. Учебник 1000 стр некогда читать было.
Спасибо за помощь.

Старый 02.12.2009, 19:13
Zik. вне форума Посмотреть профиль Отправить личное сообщение для Zik. Найти все сообщения от Zik.
  № 10  
Ответить с цитированием
Zik.
 
Аватар для Zik.

Регистрация: Nov 2007
Сообщений: 1,724
:Void означает, что функция ничего не возвращает, нужно ведь типизировать функции

100 * i
Делается для того, чтобы линии появлялись поочереди
Если вы напиши 100, то все появятся в одно время

Создать новую тему Ответ Часовой пояс GMT +4, время: 10:22.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 10:22.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.