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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 29.07.2005, 15:25
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 11  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
Так конечно ошибка будет. Звук играет ровно без задержек. А любая тормознутось машины сразу вызовит смешения кадров.
Нужно подсчитать количество миллисекунд (можно и просто секунд *1000) и забить в массив.

Теперь удаляешь звук с тамлайн и создаешь экзепляр класса Sound.
К ним делаешь attachSound звука из библиотеки. И запускаешь звук start(0,0). Теперь внутри onEnterFrame проверяшешь у звука значение position и сравниваешь его с значением в массиве для n-го текста. Если position равен или больше, то меняешь текст и сравниваешь уже со следущим значеним в массиве.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 29.07.2005, 15:34
Muharadga вне форума Посмотреть профиль Отправить личное сообщение для Muharadga Найти все сообщения от Muharadga
  № 12  
Ответить с цитированием
Muharadga

Регистрация: Jul 2005
Сообщений: 11
Эт я и сам знаю, саму процедуру на словах, но я не знаю actionScript, потому и обратился сюда, я Director'щик на лино это сделал бы в два счета, но надо во флэше.... можешь отредактировать код? просто в action'e мой познания ограничиваются навигацией по таймлайну...

stop();
_root.my_sound = new Sound();
_root.my_sound.attachSound("cong1");

_root.onEnterFrame = function() {
_root.my_sound.start(0,1000)
if (start_ == 1) {
if (i == 75) {
_root.nextFrame();
} else {
_root.stop();
}
i<75 ? i++ : i=0;
}
};



так?

Старый 29.07.2005, 15:42
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 13  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
Код:
stop ();
_root.my_sound = new Sound ();
_root.my_sound.attachSound ("cong1");
_root.my_sound.start ();
// массив с времене окончанием каждого куска текста. в примере всего 5 кусков и каждый длится равно 1,5 секунды
_root.arraySound = new Array (1500, 3000, 4500, 6000);
_root.frame = 0;
_root.onEnterFrame = function () {
	if (_root.my_sound.position > _root.arraySound[_root.frame]) {
		_root.nextFrame ();
		_root.frame++;
	}
	if (_root.frame > _root.arraySound.length) {
		trace ("значения в массиве или звук закончились");
	}
};
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 29.07.2005, 15:42
DeadMorozz вне форума Посмотреть профиль Отправить личное сообщение для DeadMorozz Найти все сообщения от DeadMorozz
  № 14  
Ответить с цитированием
DeadMorozz
 
Аватар для DeadMorozz

Регистрация: Apr 2001
Адрес: Kiev-Simferopol
Сообщений: 133
проще всего переходить по кадрам, отслеживая конец звука.
например, в первой строке кадра ты каждый раз инициализируешь новый рассказ. А потом, отсдеживая его завершение, переходишь дальше. Вот в таком ключе:
Код:
speech.onSoundComplete = function() {
   gotoAndPlay(nextFrame);
}
__________________
Понять - значит упростить. Хорошо понять - сделать самому.

Старый 29.07.2005, 15:43
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 15  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
я так понял там звук одним куском
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 29.07.2005, 15:46
Muharadga вне форума Посмотреть профиль Отправить личное сообщение для Muharadga Найти все сообщения от Muharadga
  № 16  
Ответить с цитированием
Muharadga

Регистрация: Jul 2005
Сообщений: 11
Нет... несколько звуковых файлов cong1. cong2, cong3, cong4 .... и тд

Старый 29.07.2005, 15:49
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 17  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
Цитата:
Сообщение от Muharadga
Нет... несколько звуковых файлов cong1. cong2, cong3, cong4 .... и тд
Эх... Тогда воспользуейся новогодним предложением Деда Мороза
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 29.07.2005, 15:53
Muharadga вне форума Посмотреть профиль Отправить личное сообщение для Muharadga Найти все сообщения от Muharadga
  № 18  
Ответить с цитированием
Muharadga

Регистрация: Jul 2005
Сообщений: 11
значит просто вставить код:

_root.my_sound = new Sound ();
_root.my_sound.attachSound ("cong1");
_root.my_sound.start ();
_root.my_sound.onSoundComplete = function() {
gotoAndPlay(nextFrame);
}

во фрэйм, вместо моего счетчика?

Старый 29.07.2005, 15:57
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 19  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
Почти:
Код:
_root.my_sound = new Sound ();
_root.my_sound.attachSound ("cong1");
_root.my_sound.start ();
// количество звуков всего
len = 5;
// счетчик звуков
cx = 1;
_root.my_sound.onSoundComplete = function () {
	if (cx < len) {
		cx++;
		_root.my_sound.attachSound ("cong" + cx);
		_root.my_sound.start ();
		gotoAndPlay (nextFrame);
	} else {
		trace ("конец");
	}
};
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 29.07.2005, 16:03
Muharadga вне форума Посмотреть профиль Отправить личное сообщение для Muharadga Найти все сообщения от Muharadga
  № 20  
Ответить с цитированием
Muharadga

Регистрация: Jul 2005
Сообщений: 11
существует еще один ньюанс, за время проигрывания звука и показа текста должно смениться по очередно несколько кадров с фотографиями... это все усожняет?

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

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

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


 


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


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