PDA

Просмотр полной версии : проблема с остановкой звука


Larionov_E
23.01.2010, 19:25
i = 0;
pas = new Sound();
pas.attachSound("password");
pas.start(0, 20);
word = "Первая страница на сайте...\n";
_root.onEnterFrame = function() {

s.text+=word.charAt(i);
i++;
if (s.length == maximum) {
pas.stop("pas");
}
};

есть такой код...печатает текст на странице и при этом воспроизводит звук...когда печатанье подходит к концу звук должен отключатся, но он не отключается..возможно проблема свойствах динамического текста ? (ПС поставил повтор звука больше чем надо, т.к. потом его проще остановить)

Psycho Tiger
23.01.2010, 19:30
Ну да, логично. Если звук не останавливается - наверное, проблема в свойствах текста. Пожалуйста, никогда не занимайтесь преподавательской деятельностью. Я за сессию уже рехнулся.

По теме - у вас maximum чему равно? Я так вижу что undefined. Любое число != undefined, so...

Larionov_E
23.01.2010, 19:36
какое условие нужно что-бы звук остановил воспроизведение ?

mooncar
23.01.2010, 19:37
i = 0;
this.createEmptyMovieClip('mc_sound', this.getNextHighestDepth());
var pas:Sound = new Sound(mc_sound); //чтобы управлять звуком индивидуально
pas.attachSound('password');
pas.onSoundComplete = startSound; //ф-я срабатывает по событию окончания звучания

function startSound () {
pas.start(); //собственно зацикливание
}

startSound (); //начальный старт звучания

word = 'Первая страница на сайте...\n';
_root.onEnterFrame = function() {

s.text += word.charAt(i);
i++;
if (s.length == word.length) { //сравнение длины строк
delete pas.onSoundComplete ; //удаление зацикливания
delete _root.onEnterFrame ; //чтобы функция зазря не работала вхолостую
}
};
Зацикливаем через onSoundComplete, чтобы звучал, пока не удалим эту функцию. Это более точно.
Ну и массивы я не очень хорошо знаю, поэтому условие именно такое.
Работает.
PS. Отредактируйте первый пост - теги AS, иначе правила форума нарушаете...

Larionov_E
23.01.2010, 19:40
Спасибо.