skald
17.09.2008, 19:13
:)
две кнопки, две картинки
навел на кнопку, катинка плавно заменяется необходимой:
все хорошо, работает, красиво :confused:
но появилась проблема: прибыстром переходе с одной кнопки на другую, нарушается цикл и работает не правильно.
добавил флаг (cikl). поидее, следующая функция не должна выполняться, пока не закончится предыдущая. Но, получилось, что при резкой смене кнопок он просто останавливается.
ошибка наверно в расположении if (т.к. выполняется проверка после запуска другой функции). Но как его расположить не догоняю.
или может применять onEnterFrame не к this, а к _root.main.clip1/2?? .... вроде так работает, Но при резкой смене кнопок и возврате(1-2-1) картинка остается неизменной. мне в голову приходит только добавить else и флаг ... или использовать другой цикл??
help
var cikl:Boolean = false;
bot1.onRollOver = function() {
_root.main.bot1.play();
if (cikl == false) {
cikl = true;
_root.main.clip1.swapDepths(_root.main.etalon);
this.onEnterFrame = function() {
_root.main.clip1.mask1._alpha -= 25;
if (_root.main.clip1.mask1._alpha<=0) {
_root.main.clip1.mask1._alpha = 0;
_root.main.clip2.mask2._alpha = 100;
_root.main.clip1.swapDepths(_root.main.etalon);
cikl = false;
delete this.onEnterFrame;
}
};
}
};
bot1.onRollOut = function() {
playBack.apply(bot1);
};
bot2.onRollOver = function() {
_root.main.bot2.play();
if (cikl == false) {
cikl = true;
_root.main.clip2.swapDepths(_root.main.etalon);
this.onEnterFrame = function() {
_root.main.clip2.mask2._alpha -= 25;
if (_root.main.clip2.mask2._alpha<=0) {
_root.main.clip1.mask1._alpha = 100;
_root.main.clip2.mask2._alpha = 0;
_root.main.clip2.swapDepths(_root.main.etalon);
cikl = false;
delete this.onEnterFrame;
}
};
}
};
две кнопки, две картинки
навел на кнопку, катинка плавно заменяется необходимой:
все хорошо, работает, красиво :confused:
но появилась проблема: прибыстром переходе с одной кнопки на другую, нарушается цикл и работает не правильно.
добавил флаг (cikl). поидее, следующая функция не должна выполняться, пока не закончится предыдущая. Но, получилось, что при резкой смене кнопок он просто останавливается.
ошибка наверно в расположении if (т.к. выполняется проверка после запуска другой функции). Но как его расположить не догоняю.
или может применять onEnterFrame не к this, а к _root.main.clip1/2?? .... вроде так работает, Но при резкой смене кнопок и возврате(1-2-1) картинка остается неизменной. мне в голову приходит только добавить else и флаг ... или использовать другой цикл??
help
var cikl:Boolean = false;
bot1.onRollOver = function() {
_root.main.bot1.play();
if (cikl == false) {
cikl = true;
_root.main.clip1.swapDepths(_root.main.etalon);
this.onEnterFrame = function() {
_root.main.clip1.mask1._alpha -= 25;
if (_root.main.clip1.mask1._alpha<=0) {
_root.main.clip1.mask1._alpha = 0;
_root.main.clip2.mask2._alpha = 100;
_root.main.clip1.swapDepths(_root.main.etalon);
cikl = false;
delete this.onEnterFrame;
}
};
}
};
bot1.onRollOut = function() {
playBack.apply(bot1);
};
bot2.onRollOver = function() {
_root.main.bot2.play();
if (cikl == false) {
cikl = true;
_root.main.clip2.swapDepths(_root.main.etalon);
this.onEnterFrame = function() {
_root.main.clip2.mask2._alpha -= 25;
if (_root.main.clip2.mask2._alpha<=0) {
_root.main.clip1.mask1._alpha = 100;
_root.main.clip2.mask2._alpha = 0;
_root.main.clip2.swapDepths(_root.main.etalon);
cikl = false;
delete this.onEnterFrame;
}
};
}
};