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

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

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

блогер
Регистрация: Feb 2007
Адрес: Москва
Сообщений: 538
Записей в блоге: 2
Отправить сообщение для Art_133 с помощью Skype™
По умолчанию Мигает клип когда проигрывается звук при помощи Класса Sound

Привет. даже не знаю поможет кто или нет. Попробую описать проблему детальнее.

У меня есть клип с планетой, в этом клипе раскадровка её полного оборота на 360 градусов. При клике на эту планету и верчение мыши в лево в право земля крутиться по средствам простого перехода на кадры. Код не показываю т.к. проблема не в этом.
У меня задача сделать ещё и звук во время того как крутят планету. Я решил сделать так:
1. При клике на планету запускать звук но делать его громкость 0%
2. Когда мыш не стоит на месте, то делать громкость звука 100%
3. Когда отпускаем землю - звук стопорится.
Всё это описано в Классе:
Код AS1/AS2:
class MouseMove {
	static var mouseMoveInterval:Number;
	static var m1:Number;
	static var m2:Number;
	var statusFlag:Boolean = false;
	var rSound:Sound;
	var sVolume:Number = 40;
	var sVolumeMax:Number = 40;
	var sVolumeMin:Number = 0;
 
 
	public function MouseMove () {
 
 
	}
	public function start (trackId:String) {
 
		rSound = new Sound ();
 
		rSound.attachSound (trackId);
		rSound.start (0,99);
		setVolume (sVolume)
		mouseMoveInterval = setInterval (this, 'mouseMoveFunc', 100);
 
	}
	private function mouseMoveFunc () {
		m1 = _xmouse;
		if (m1 == m2) {
			//trace ('Играет');
			setVolume (sVolumeMin)
		}
		else {
			setVolume (sVolumeMax)
			//trace ('Не играет!');
		}
		m2 = m1;
	}
	public function stop () {
		rSound.stop()
		clearInterval (mouseMoveInterval);
	}
	private function setVolume (vol:Number) {
		rSound.setVolume (vol);
	}
}
Теперь делаю так:
1. Создаю экземпляр моего Класса
Код AS1/AS2:
var mySound:MouseMove = new MouseMove ()
2. Запускаю звук при нажатие на клип
Код AS1/AS2:
mc.onPress = function (){
mySound.start('3d')
}
3. При отпускание останавливаю проигрывание звука
Код AS1/AS2:
mc.onRelease = function (){
mySound.stop()
}
Проблема:
Когда я начинаю "крутить" эту землю - звук играет, всё нормально работает, но сам кип с землёй иногда мелькает, пропадает, на пол секунды, может меньше но это мигание заметно. Я даже ума не приложу что может быть причиной этого.
Буду рад любой помощи, может как-нибудь оптимизировать код и проблема исчезнет... Я даже не знаю в какую сторону смотреть...

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

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

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


 


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


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