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

Вернуться   Форум Flasher.ru > Flash > Общие вопросы о Flash (не затрагивающие ActionScript)

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

Регистрация: Sep 2005
Адрес: Минск
Сообщений: 389
Post Срочно!!! Плавное затихание музыки при нажатии на кнопку

Ребята, срочно нужна ваша помощь! (1-1.5 часа).
Суть вопроса:
есть кнопка, при нажатии на которую музло плавно затихает до нуля и картина смещается на 336 кадр.
Почти получается, но при if (q = 0) почему-то не работает. Проверьте кодик, где ошибка...

on (release) {
gotoAndPlay(336);
my = new Sound();
var q = 100;
my.setVolume (q);
sec = function() {
q = q - 2.5;
trace (q);
my.setVolume (q);
}
setInterval (sec,120);
}

Старый 27.11.2005, 19:18
MOHCTEP вне форума Посмотреть профиль Отправить личное сообщение для MOHCTEP Найти все сообщения от MOHCTEP
  № 2  
Ответить с цитированием
MOHCTEP

Регистрация: Dec 2002
Адрес: Живу вот где-то
Сообщений: 493
2 раза просмотрел, так и не увидел, где ж это "if (q = 0)" сидит???
Код вроде правильный, но почему ты объявляешь "my = new Sound();" в событии кнопки? Ведь, я так понял, музыка уже звучала ДО НАЖАТИЯ?
Чтобы помочь надобен либо полный код, либо, что предпочтительней, исходник.

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

Регистрация: Feb 2003
Адрес: Екатеринбург
Сообщений: 848
Отправить сообщение для Буньков Максим с помощью ICQ
я думаю что когда у тебя q<0 то это же не то setVolume таких значений не понимать вот и ставит как было 100... ты setInterval то убивай когда q<0.
Код:
function SoundVolume (UpDown:String) {
	if (UpDown == "UP") {
		BgSound.setVolume (setCont);
		if (setCont >= bgSndMaxVolume) {
			clearInterval (Volume);
		} else {
			setCont++;
		}
	} else if (UpDown == "DOWN" || UpDown == "OVER") {
		BgSound.setVolume (setCont);
		trace (BgSound.getVolume ());
		if (setCont <= 0) {
			if (UpDown == "OVER") {
				BgSound.stop ();
			}
			clearInterval (Volume);
		} else {
			setCont--;
		}
	}
}

Volume = setInterval (SoundVolume, spdVolmChang, "UP");
вырезаю тебе мой код из проекта не давнешнего юзай на здоровье
тама правда еще перемнки глобальные нос суют сам разберешься..
__________________
С уважением, Maksi.

Старый 27.11.2005, 19:53
australian incognito вне форума Посмотреть профиль Отправить личное сообщение для australian incognito Найти все сообщения от australian incognito
  № 4  
Ответить с цитированием
australian incognito
 
Аватар для australian incognito

Регистрация: Sep 2005
Адрес: Минск
Сообщений: 389
Суть вообщем в том, что действительно музыка уже играет до появления кнопки, а свой if (q = 0) я не предлагал, т. к. он все равно не работает...
Когда же setVolume < 0 , то на знаг "минус" вообще не реагирует, т.е. после нуля звук опять нарастает.

Старый 27.11.2005, 20:01
Буньков Максим вне форума Посмотреть профиль Отправить личное сообщение для Буньков Максим Посетить домашнюю страницу Буньков Максим Найти все сообщения от Буньков Максим
  № 5  
Ответить с цитированием
Буньков Максим
 
Аватар для Буньков Максим

Регистрация: Feb 2003
Адрес: Екатеринбург
Сообщений: 848
Отправить сообщение для Буньков Максим с помощью ICQ
Нет ну а Вы что хотели?
__________________
С уважением, Maksi.

Старый 28.11.2005, 04:38
australian incognito вне форума Посмотреть профиль Отправить личное сообщение для australian incognito Найти все сообщения от australian incognito
  № 6  
Ответить с цитированием
australian incognito
 
Аватар для australian incognito

Регистрация: Sep 2005
Адрес: Минск
Сообщений: 389
Post !!!

Цитата:
Сообщение от Буньков Максим
Нет ну а Вы что хотели?
Я достаточно новый человек во флеше, а в AS (как и в любом программировании) тем более... Ваши комментарии полезны уже солидным программерам, а мне уже не к спеху, а так ради интереса...
Может ещё кто отзовется!!!
Вообщем-то, у меня другой немного теперь вопрос: как нейтрализовать (остановить) действие setInterval в моем цикле?
on (release) {
gotoAndPlay(336);
var q = 100;
my = new Sound();
my.setVolume(q);
soundvol = function () {
q = q - 2.5;
my.setVolume(q);
trace(q);
if (q == 0) {

???

}
};
setInterval(soundvol, 80);
}

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

Регистрация: Nov 2005
Адрес: Иркутск
Сообщений: 233
Отправить сообщение для breez38 с помощью ICQ
для начала нужно запомнить уникальный номер таймера, который возвращается функцией setInterval:
Код:
_global.timerID = setInterval(soundvol, 80);
а далее, инретвал можно "убить" вот так:
Код:
clearInterval(_global.timerID)
__________________
Никогда не может быть так плохо, чтоб не могло быть еще хуже!

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

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

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


 


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


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