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

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

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

Регистрация: Oct 2007
Сообщений: 5
По умолчанию Помогите со звуком!

Уважаемые знатоки!
На работе напрягли озвучить ролик. До этого с AS имел знакомство на уровне... на низком уровне. Так вот. Проблема: Есть фоновая музыка, есть кнопка, вкл и откл эту музыку. Есть голос, озвучивающий текст. Есть и для него кнопка.

Загрузка музыки

Код:
back_sound = new Sound(_root.back_snd);
back_sound.attachSound("back_sound");
back_sound.setVolume(10);
back_sound.start(0, 99999);
Загрузка голоса

Код:
a1_sound = new Sound(_root.a1_snd);
a1_sound.attachSound("a1");
a1_sound.setVolume(100);
a1_sound.start(0,1);
Код на кнопках

Код:
on (release) {
  if(s == 1){
    a1_sound.stop();
    s = 0;
  } else if(s == 0){
    a1_sound.start(0, 9999);
    s = 1;
  }
}
s - переменная, стоящая в отдельном слое

Код:
var s = 1;
Проблема в том, что при нажатии на любую из кнопок отключаеца весь звук. При повторном нажатии воспроизводится звук, за который отвечает кнопка...
Поможите чем можите...
С уважением.


Последний раз редактировалось bizz_gc; 26.10.2007 в 14:54.
Старый 26.10.2007, 14:51
Kikasso вне форума Посмотреть профиль Отправить личное сообщение для Kikasso Найти все сообщения от Kikasso
  № 2  
Ответить с цитированием
Kikasso
 
Аватар для Kikasso

Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
Код:
back_sound = new Sound(_root.back_snd);
У вас там запятая стоит, все звуки создаются с "опорой" на _root, и выключая один звук вы гасите все.
Разумеется, мувиклип клип _root.back_snd должен существовать.

Старый 26.10.2007, 14:55
bizz_gc вне форума Посмотреть профиль Отправить личное сообщение для bizz_gc Найти все сообщения от bizz_gc
  № 3  
Ответить с цитированием
bizz_gc

Регистрация: Oct 2007
Сообщений: 5
Ой, спасибо.
Исправил, все равно не работает... вернее проблема остается...
Пробывал вводить разные переменные, тоже не помогает... чьёрт побьери.

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
У меня ваш код работает так как Вам надо. Соотв., у Вас нет тех клипов, в которых Вы пытаетесь создать объекты Саунд - _root.a1_snd и его другана _root.back_snd. В ситуации, когда я эти клипы удаляю, и получается описанная Вами проблема. А теперь цитата из Kikasso:
Цитата:
Разумеется, мувиклип клип _root.back_snd должен существовать.
__________________
Reality.getBounds(this);

Старый 26.10.2007, 18:44
bizz_gc вне форума Посмотреть профиль Отправить личное сообщение для bizz_gc Найти все сообщения от bizz_gc
  № 5  
Ответить с цитированием
bizz_gc

Регистрация: Oct 2007
Сообщений: 5
Спасибо, разобрался!

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

Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
Допустим вы написали
Код:
my_snd.setVolume(20);
Ситуация такова, что громкость установится не только данному звуку, но и всем звукам с "опорой" на тот же клип. Поэтому полезно звуки "раскидывать" по пустым клипам:
Код:
var back_sound:Sound = makeSound( _root, 'back_sound' );

function makeSound(mc:MovieClip, id:String ):Sound{
// создаем новый Sound в новеньком пустом клипе
 var snd:Sound = new Sound( mc.createEmptyMovieClip( '__' + id, mc.getNextHighestDepth() ) );
 snd.attachSound( id );
}
Я передал _root параметром, потому что клипы надо создавать в том swf, где библиотека со звуками. Если вы его подгружаете, то в нем и надо создавать клипы, и это уже будет совсем не _root


Последний раз редактировалось Kikasso; 27.10.2007 в 01:03.
Создать новую тему Ответ Часовой пояс GMT +4, время: 01:14.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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