![]() |
|
||||||||||
|
|||||
|
Регистрация: Jan 2012
Сообщений: 6
|
Здравствуйте уважаемые форумчане, подскажите пожалуйста новичку. У меня есть цикл, по истечении которого (вместе с надписью "Время!") мне нужно чтобы проигрывался звук...
В начале я объявляю звук: Затем идёт цикл: button1.onPress = function() { sec =getTimer() } _root.onEnterFrame = function() { sec2 = int((getTimer()-sec)/1000) if(sec2<=9) { if(sec2<10)t1.text="0"+sec2 else if(sec2>=10) t1.text=sec2 } else if(sec2=9) t1.text="Время!" } P.S. Звук вставляю - zvuk1.start(0,0); |
|
|||||
|
Модрон-ветеринар
|
Если для вас важно, чтобы по истечении 9 секунд проигрался звук и произошли еще какие-то действия, то лучше сделать так:
var zvuk1:Sound = new Sound(); zvuk1.attachSound("zvuk1_id"); setTimeout(soundIt, 9000, zvuk1); function soundIt(snd:Sound) { snd.start(); //другие действия } Если у вас в кадре стоит zvuk1.start(0,0); , то он сразу и будет запущен. Вообще, логика запутанная, вот в этой части: Второе условие if(sec2>=10) не сработает никогда, поскольку главное условие if(sec2<=9). Опишите еще раз задачу. Какую роль играет кнопка, укажите также. Возможно, вот решение, которое вы ищете: 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(); } } }
__________________
Идите первым! Последний раз редактировалось mooncar; 25.01.2012 в 17:17. |
|
|||||
|
Регистрация: Jan 2012
Сообщений: 6
|
Спасибо большое за помощь, только осталась одна проблема, звук (он довольно короткий) проигрывается раз за разом...
|
|
|||||
|
Модрон-ветеринар
|
Да, недоглядел.
Замените последнее условие на: Дело в том, что после удаления sec здесь прекращается проверка и звук проиграется только один раз. Проверка будет выполняться если выполняется условие if (sec), а оно будет истинным только после нажатия кнопки, когда определится переменная.
__________________
Идите первым! |
|
|||||
|
Регистрация: Jan 2012
Сообщений: 6
|
mooncar спасибо ещё раз огромное, теперь всё работает как надо...
|
![]() |
![]() |
Часовой пояс GMT +4, время: 14:48. |
|
|
« Предыдущая тема | Следующая тема » |
|
|