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

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

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

Регистрация: Feb 2010
Сообщений: 811
Отправить сообщение для Universe с помощью ICQ Отправить сообщение для Universe с помощью Skype™
Arrow Регуляция громкости звука при помощи TweenMax

Добрый день. Пытаюсь сделать простое затухание громкости при помощи TweenMax. Есть swc со звуком, пишу следующий код:
Код AS3:
var rain_sd:Rain_sd = new Rain_sd();
var rain_trans:SoundTransform = new SoundTransform(0.75, 0.75); 
var rain_channel:SoundChannel = rain_sd.play(0, 1, rain_trans);
 
TweenMax.to(rain_sd, 1, { volume:0 });
Звук начинает играть нормально, но затухания не происходит. Подскажите, что делаю неправильно?

Старый 08.11.2013, 18:58
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 2  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Попробуйте сделать тоже самое через таймер или EF. Если не получится, сразу поймете почему
__________________
Марк Tween

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

Регистрация: Feb 2010
Сообщений: 811
Отправить сообщение для Universe с помощью ICQ Отправить сообщение для Universe с помощью Skype™
Через обычный таймер или EF я бы после каждой итерации переприменял
Цитата:
rain_channel.soundTransform = rain_trans;
Насколько я понимаю, TweenMax это должен сам делать в фоне.

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

Регистрация: Nov 2010
Адрес: 48° 55'N 24° 42'E GMT +2:00
Сообщений: 399
Записей в блоге: 1
Не трогал никогда TweenMax для затухание звука, но если подумать, то вы запускаете звук в rain_channel, а на затухание передаете сам rain_sd. Возможно так и задумано, но сомневаюсь, что TweenMax сможет получить ссылку на уже играющий канал rain_channel

Старый 08.11.2013, 20:04
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 5  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
elder_Nosferatu = именно. Об этом я и пытался пояснить ТС. Что нужно работать с каналом, а не со звуком. Каждую итерацию ничего не надо переприменять, сохраните в приватах.
__________________
Марк Tween

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

Регистрация: Dec 2007
Адрес: Россия, Москва
Сообщений: 541
Отправить сообщение для TWETTI с помощью Skype™
Посмотрите плагин SoundTransformPlugin.

Старый 09.11.2013, 01:24
GBee вне форума Посмотреть профиль Отправить личное сообщение для GBee Найти все сообщения от GBee
  № 7  
Ответить с цитированием
GBee
 
Аватар для GBee

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
Если извернуться, то можно создать фиктивный объект, и воздействовать на него. Передавать его в onUpdateParams. И там уже менять уровень звука, как описал Universe.

Код AS3:
var vo:Object = { volume:1};
TweenLite.to(vo, 1, { volume:0, onUpdate:updateVolume, onUpdateParams:[vo] } );
 
private function updateVolume(data:Object):void
{
     rain_trans.volume = data.volume;
     rain_channel.soundTransform = rain_trans;
}
Я так скроллрект двигал.
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

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

Регистрация: Feb 2010
Сообщений: 811
Отправить сообщение для Universe с помощью ICQ Отправить сообщение для Universe с помощью Skype™
Цитата:
Что нужно работать с каналом, а не со звуком
Да, действительно, нужно было работать с channel'ом.
Цитата:
Об этом я и пытался пояснить ТС
Зачем "пытаться"? Можно было сразу написать про канал, без лишних редиректов

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

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

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


 


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


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