PDA

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


sincos
10.09.2008, 11:36
суть такова. есть проверка попадания одного мувиклипа на другой
при первом исполнении сценария

z1.onPress = function() {
this.startDrag();
};
z1.onRelease = z1.onReleaseOutside = function(){
this.stopDrag();
trace (eval(this._droptarget)); // кидаю на клип k1, трэйсит _level0.k1
trace (g); // трэйсит 3
if (eval(this._droptarget) == _level0.k1 && (g<>0) ) {

g=g-1;
_root.g=g;
this.onPress=false;
this.onRelease=this.onReleaseOutside=false;
z12[1]=1;
}
else {
trace ("out");
this._x=x1[1];
this._y=y1[1];
}

}

далее идет такие однотипные сценарии , по исполнении всех делается общая проверка, на основе которой делается оценка, если оценка не устраивает, возвращаемся к началу выполнения.
и вот тут эта проверка уже не работает хотя трэйсит те же самые значения

trace (eval(this._droptarget)); // кидаю на клип k1, трэйсит _level0.k1
trace (g); // трэйсит 3

т.е. if (eval(this._droptarget) == _level0.k1 && (g<>0) ) должно срабатывать, но выполняется else ? Я просто без понятия , почему?

Psycho Tiger
10.09.2008, 15:59
Делаем перед проверкой:
trace(eval(this._droptarget) == _level0.k1);
trace(g!=0);
Понимаем, какой кусок не работает. Если 1, попробуй убрать eval, уже тыщу лет так не пишут.

sincos
11.09.2008, 14:55
сделал проверку таже самая ситуация вышла, первый раз true true, а последующие
false true. посидел подумал. помогла смена имени клипа, т.е. скорее всего напортачил где-то дальше в коде. спасибо!