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

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

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

Регистрация: Sep 2011
Сообщений: 524
По умолчанию способ задержки в случае покадровой анимации?

есть movieclip в каждом кадре - своя картинка. то есть никак нельзя уменьшить количество самих кадров. и надо бы снизить быстроту анимации. понизить количество кадров во всем ролике нельзя:несколько клипов и других есть.
Есть какой нибудь способ попроще - сделать задержку в каждом кадре. пробовал даже в каждый кадр вставлять код - все равно не вышло(
Код AS3:
stop()
setInterval(funct9,70)
function funct9()
{
play()
}
вот так почему то работает только при первом проходе ролика а потом - задержек нет.

Старый 12.11.2011, 22:59
ProxyGreen вне форума Посмотреть профиль Отправить личное сообщение для ProxyGreen Найти все сообщения от ProxyGreen
  № 2  
Ответить с цитированием
ProxyGreen
 
Аватар для ProxyGreen

Регистрация: Jul 2011
Сообщений: 67
Создайте таймер, навесьте на него слушатель в котором перематывайте нужный ролик на один кадр вперёд.

Старый 12.11.2011, 22:59
i.o. вне форума Посмотреть профиль Отправить личное сообщение для i.o. Найти все сообщения от i.o.
  № 3  
Ответить с цитированием
i.o.
 
Аватар для i.o.

Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
Попробуйте так:
Код AS3:
function showNextFrame()
{
    if (currentFrame < totalFrames)
        gotoAndStop(currentFrame + 1);
    else
        gotoAndStop(1);
}
 
stop();
setInerval(showNextFrame, 70);

Старый 12.11.2011, 23:05
viktorami вне форума Посмотреть профиль Отправить личное сообщение для viktorami Найти все сообщения от viktorami
  № 4  
Ответить с цитированием
viktorami

Регистрация: Sep 2011
Сообщений: 524
вот в чем проблема - первый раз проходит- великолепно работает. но ролик то когда проиграет нужное количество кадров -начинает опять с первого - и вот второй раз когда проходит- как не замечает задержки! и ошибок никаких не выдает(

Старый 12.11.2011, 23:20
i.o. вне форума Посмотреть профиль Отправить личное сообщение для i.o. Найти все сообщения от i.o.
  № 5  
Ответить с цитированием
i.o.
 
Аватар для i.o.

Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
тогда так:
Код AS3:
import flash.utils.setInterval;
 
function showNextFrame()
{
    if (currentFrame < totalFrames)
        gotoAndStop(currentFrame + 1);
    else
        gotoAndStop(1);
}
 
var intervalId:int;
if (!intervalId)
{
	stop();
	intervalId = setInterval(showNextFrame, 70);
}

Старый 12.11.2011, 23:31
viktorami вне форума Посмотреть профиль Отправить личное сообщение для viktorami Найти все сообщения от viktorami
  № 6  
Ответить с цитированием
viktorami

Регистрация: Sep 2011
Сообщений: 524
то же самое - только первый раз разботает. пробовал - clearinterval - тоже не помогло.

Старый 12.11.2011, 23:33
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 7  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Код AS3:
gotoAndStop(currentFrame + 1);
о_О
MovieClip#nextFrame() же
__________________
тут я

Старый 12.11.2011, 23:34
Ookami вне форума Посмотреть профиль Отправить личное сообщение для Ookami Найти все сообщения от Ookami
  № 8  
Ответить с цитированием
Ookami
 
Аватар для Ookami

Регистрация: Aug 2011
Адрес: 56° 51' с.ш. 53° 13' в.д.
Сообщений: 172
Записей в блоге: 1
КорДум - не работает задержка у него а не переход по кадрам

Добавлено через 5 минут
а если использовать не сетинтервал, а таймер, как того советует адоб? http://help.adobe.com/ru_RU/FlashPla...l#setInterval()


Последний раз редактировалось Ookami; 12.11.2011 в 23:40.
Старый 12.11.2011, 23:51
ProxyGreen вне форума Посмотреть профиль Отправить личное сообщение для ProxyGreen Найти все сообщения от ProxyGreen
  № 9  
Ответить с цитированием
ProxyGreen
 
Аватар для ProxyGreen

Регистрация: Jul 2011
Сообщений: 67
Зачем вообще в самом клипе что-то писать?

Старый 13.11.2011, 00:26
strangedk вне форума Посмотреть профиль Отправить личное сообщение для strangedk Найти все сообщения от strangedk
  № 10  
Ответить с цитированием
strangedk
 
Аватар для strangedk

Регистрация: Oct 2010
Адрес: Харьков
Сообщений: 616
Записей в блоге: 1
Отправить сообщение для strangedk с помощью ICQ Отправить сообщение для strangedk с помощью Skype™
Вообще в подобных случаях обычно использую SettimeOut. а к чему тут SetInterval я не очень понял:

Код AS3:
import flash.utils.clearTimeout;
import flash.utils.setTimeout;
 
var timerID:uint = 0;
var delay:int = 5000;
 
var wait:Function = function() {
	clearTimeout(timerID);
 
	trace("success");
}
 
timerID = setTimeout(wait, delay);
__________________
adobe AS3 manual

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

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

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


 


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


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