
09.09.2005, 12:33
|
|
блогер
Регистрация: Feb 2004
Адрес: Украина
Сообщений: 1,180
|
var p:Boolean = false;
// Запускаю 1-й звук
var s1:Sound = new Sound(h);
// лучше var s1:Sound = new Sound(); тип параметра должен быть Number
s1.attachSound("s1");
s1.start();
// Пошло движение объекта
onEnterFrame = function () {
ob._x--;
// Когда объект доезжает до нужной точки останавливаю 1-й и запускаю 2-й, причем 2-й проверяю,
//чтоб не запускался еще раз если он уже играет
if (ob._x<100) {
s1.stop();
if (p=false) {
//if (p==false) { оператор сравнения ==, а не присвоения =
var s2:Sound = new Sound(p);// Аналогично Sound(h);
s2.attachSound("s2");
s2.start();
p = true;
} else {
s2.stop();
}
}
};[/quote]
А второй звук просто не успеет проиграться: р присвоена ИСТИНА при выполнении неравенства ob._x<100, а onEnterFrame сработает быстрее, чем проиграется второй звук. А тут его и стопишь: s2.stop();!!!
Далее, в s1.start(); нет параметров. Если звук короткий, то проиграет всего раз
|