Показать сообщение отдельно
Старый 25.01.2012, 16:50
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 2  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Если для вас важно, чтобы по истечении 9 секунд проигрался звук и произошли еще какие-то действия, то лучше сделать так:
Код AS1/AS2:
var zvuk1:Sound = new Sound();
zvuk1.attachSound("zvuk1_id");
 
setTimeout(soundIt, 9000, zvuk1);
 
function soundIt(snd:Sound) 
{
	snd.start();
	//другие действия
}
И если что, в вашем коде sec изначально не определен, это произойдет только после нажатия кнопки. Хотя используется сразу, в обработчике onEnterFrame.
Если у вас в кадре стоит zvuk1.start(0,0); , то он сразу и будет запущен.

Вообще, логика запутанная, вот в этой части:
Код AS1/AS2:
if(sec2<=9)
 {
	if(sec2<10)t1.text="0"+sec2
 	else if(sec2>=10) t1.text=sec2
 }
Второе условие if(sec2>=10) не сработает никогда, поскольку главное условие if(sec2<=9).

Опишите еще раз задачу. Какую роль играет кнопка, укажите также.

Возможно, вот решение, которое вы ищете:

Код AS1/AS2:
var zvuk1:Sound = new Sound();
zvuk1.attachSound('zvuk1_id');
 
var sec:Number ;
 
button1.onPress = button1Press;
this.onEnterFrame = thisEnterFrame;
 
function  button1Press() 
{
	sec = getTimer();
}
 
function thisEnterFrame() 
{
 
	if (sec)
	{
		var sec2:Number = getTimer();
		var deltaSec:Number = int((sec2 - sec) / 1000);
 
		if (deltaSec < 9)
		{
			t1.text = deltaSec;
		}
 
		if (deltaSec == 9) 
		{
			t1.text = 'Время!'
			zvuk1.start();		
		}
	}
}
Здесь по нажатию начинается проверка, с индикацией времени. Как только после нажатия время станет равным 9 сек., проиграется звук и появится надпись "Время".
__________________
Идите первым!


Последний раз редактировалось mooncar; 25.01.2012 в 17:17.