Показать сообщение отдельно
Старый 15.11.2011, 23:41
sogologo вне форума Посмотреть профиль Отправить личное сообщение для sogologo Найти все сообщения от sogologo
  № 1  
Ответить с цитированием
sogologo

Регистрация: Dec 2007
Адрес: Красноярск
Сообщений: 71
По умолчанию Кнопка ВКЛ/ВЫКЛ, не выключает.

Уже обращался с этим кодом на AS3 сюда, всем спасибо помогли!

Но возник косяк не большой и я не знаю как его поправить, AS3 только учусь не давно перехожу с AS2

Код, который предоставил ниже должен выполнять вот такие цели:
По умолчанию мелодия должна играть, то есть запускается флэшка, она играет.
Музыка должна играть по кругу, то есть доходит до конца трека и опять играет с начала
Кнопка всего одна работает как ВКЛ/ВЫКЛ, кликаем музыка отключается, кликаем повторно включается. (в этом то и косяк)

Два первых пунктам из 3 работают как надо, но музыка по клику не выключается, а начинает играть заново, не могу понять, почему так то?

Код AS3:
import flash.media.Sound;
import flash.media.SoundChannel;
import fl.motion.MotionEvent;
import flash.events.Event;
 
var temp:Sound = new BuzzingBeeWav();
var temp1:SoundChannel;
var pl:Boolean = false;
 
btnPlay.addEventListener (MouseEvent.CLICK, eventPlay);
btnStop.addEventListener (MouseEvent.CLICK, eventStop);
 
eventStop(null);
 
function eventPlay(e:MouseEvent){
	if (!pl) {
		temp1 = temp.play();
		temp1.addEventListener(Event.SOUND_COMPLETE, eventStop);
		pl=true;
		gotoAndStop(2);
	}else {
		temp1.stop();
		pl = false;
		temp1.removeEventListener(Event.SOUND_COMPLETE, eventStop);
		gotoAndStop(1);
	}
 
}
 
function eventStop(e){
    pl = false;
    eventPlay(null);
}
Добавлено через 1 час 18 минут
Добрый люди помогли

Код AS3:
import flash.media.Sound;
import flash.media.SoundChannel;
import fl.motion.MotionEvent;
import flash.events.Event;
 
var temp:Sound = new BuzzingBeeWav();
var temp1:SoundChannel;
var pl:Boolean = false;
 
btnPlay.addEventListener(MouseEvent.CLICK, eventPlay);
//btnStop.addEventListener (MouseEvent.CLICK, eventStop);
 
if (! temp1)
{
	eventPlay();
}
 
function eventPlay(e:MouseEvent = null)
{
	if (! pl)
	{
		trace('p1');
		temp1 = temp.play();
		temp1.addEventListener(Event.SOUND_COMPLETE, eventStop);
		pl = true;
		gotoAndStop(2);
	}
	else
	{
		trace('p2');
		temp1.removeEventListener(Event.SOUND_COMPLETE, eventStop);
		temp1.stop();
		pl = false;
		gotoAndStop(1);
	}
 
}
 
function eventStop(e:*)
{
	trace('p3');
	temp1 = temp.play();
	temp1.addEventListener(Event.SOUND_COMPLETE, eventStop);
	pl = true;
	gotoAndStop(2);
}