Вход

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


lukish
19.07.2008, 10:55
Здравствуйте уважаемые флешеры, есть вопрос:
onClipEvent (keyDown) {
if (_root.c == 5) {
_root.molodez.start();
_root.nusha.gotoAndPlay(3);
_root.a = 2;
_root.c = 0;
}
}
onClipEvent (keyUp) {
if (_root.c !== 5) {
ab = new Array(0, 1, 2, 3, 4, 6, 7, 8, 9, 0);
for (var q = 0; q<ab.length; q++) {
if (_root.c == ab[q]) {
setInterval(function () {
_root.net.start(0, 1);
_root.nusha.rot.gotoAndPlay(11);
}, 2000);
}
}
}
}
Привыполнении события звук _root.net.start(0, 1); должен сиграть один раз т. е. результат проверки какоголибо события, а он не останавливается, сыграл один раз и через указанный в коде период играет без остановки, как сделать чтобы он с играл один раз:(

iNils
19.07.2008, 12:01
onClipEvent (keyUp) {
if (_root.c !== 5) {
ab = new Array(0, 1, 2, 3, 4, 6, 7, 8, 9, 0);
for (var q = 0; q<ab.length; q++) {
if (_root.c == ab[q]) {
clearTimeout (this.id)
this.id = setTimeout(function () {
_root.net.start(0, 1);
_root.nusha.rot.gotoAndPlay(11);
}, 2000);
}
}
}
}

lukish
20.07.2008, 09:10
Поставил код, ничего не происходит, попытался разобрать код: не всё понятно кое что не нашол в словарях и учебниках:
clearTimeout (this.id)
this.id = setTimeout(function () {
пожалуйсто разесните что выполняют эти строки,
а мож. у меня версия древняя?

iNils
20.07.2008, 13:30
setTimeout появился в 8-ом флеше, однако не был там задокументирован.

lukish
20.07.2008, 16:11
так что этот скрипт значит, и наверное и у меня он не работает Macromedia Flash MX
и если они у меня не работают то как мне выти из ситуации?

iNils
20.07.2008, 16:26
onClipEvent (keyUp) {
if (_root.c !== 5) {
ab = new Array(0, 1, 2, 3, 4, 6, 7, 8, 9, 0);
for (var q = 0; q<ab.length; q++) {
if (_root.c == ab[q]) {
clearInterval (_root.idInterval)
_root.idInterval = setInterval(function () {
clearInterval (_root.idInterval)
_root.net.start(0, 1);
_root.nusha.rot.gotoAndPlay(11);
}, 2000);
}
}
}
}

lukish
20.07.2008, 16:33
Спасибо iNils