![]() |
|
||||||||||
|
|||||
|
Регистрация: Aug 2005
Сообщений: 785
|
как при переходе в следующий кадр отменить все запущенные в предыдущем кадре функции....
тоесть в первом кадре у меня запускается функция F, и припереходе в сдедующий кадр её надо удалить, пытался с помощю delete, но не полоучается помогите пожалуйста ![]()
__________________
Нано-флешер (в отставке) |
|
|||||
|
Попробуй удалять delet'om не функцию, а обработчик событий onEnterFrame или onLoad.
|
|
|||||
|
Ветеран форума
Регистрация: Jul 2006
Адрес: Грузия, Тбилиси
Сообщений: 2,675
|
|
|
|||||
|
Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
|
Функция отрабатывает один раз, код покажите.
|
|
|||||
|
Регистрация: Aug 2005
Сообщений: 785
|
ок
задача меняется...теперь надо просто вырубить запущенную функцию grav()....при нажатии на кнопку reset по странной причине исходник прикрепить не могу..... напишу код здесь: clear();
Play.enabled = true;
function drag(obj4) {
for (i=0; i<obj4.length; i++) {
obj4[i].onPress = function() {
this.startDrag();
};
obj4[i].onRelease = function() {
this.stopDrag();
};
}
}
function grav(obj1, obj2, obj3, XXX, YYY) {
var Vx = XXX;
var G = 1;
var Vy = YYY;
var Nx = 0;
var Ny = 0;
moveTo(obj1._x, obj1._y);
lineStyle(1, 0x00FF00, 70);
obj1.onEnterFrame = function() {
lineTo(this._x, this._y);
if (this.hitTest(target)) {
unloadMovie(this);
}
for (i=0; i<obj2.length; i++) {
var X = this._x-obj2[i]._x;
var Y = this._y-obj2[i]._y;
var D = Math.sqrt(X*X+Y*Y);
if (D>10) {
F = 400/D;
R = Math.atan2(Y, X);
VFx = -Math.cos(R)*F;
VFy = -Math.sin(R)*F;
Vx = (VFx+Vx*G+Nx);
Vy = (VFy+Vy*G+Ny);
} else {
Vx = -Vx;
Vy = -Vy;
}
}
if (obj3.length>0) {
for (f=0; f<obj3.length; f++) {
XX = this._x-obj3[f]._x;
YY = this._y-obj3[f]._y;
Dn = Math.sqrt(XX*XX+YY*YY);
if (Dn>10) {
Fn = -400/Dn;
Rn = Math.atan2(YY, XX);
Nx = -Math.cos(Rn)*Fn;
Ny = -Math.sin(Rn)*Fn;
} else {
Vx = -Vx*0.9;
Vy = -Vy*0.9;
}
}
}
this._x += Vx/5;
this._y += Vy/5;
};
}
Play.onPress = function() {
obj5 = [P1, N1];
for (i=0; i<obj5.length; i++) {
obj5[i].enabled = false;
}
Play.enabled = false;
grav(P1, [N1], [], 0, 0);
};
drag([P1, N1]);
stop();
reset.onPress = function() {
for (i=0; i<obj5.length; i++) {
obj5[i].enabled = true;
}
delete grav(P1, [N1], [], 0, 0);////вот тут пытаюсь выключить функцию, она выключается и опять включается :(
};
__________________
Нано-флешер (в отставке) Последний раз редактировалось Therion; 21.05.2007 в 00:33. |
|
|||||
|
Регистрация: Aug 2005
Сообщений: 785
|
__________________
Нано-флешер (в отставке) |
|
|||||
|
Регистрация: Aug 2005
Сообщений: 785
|
я уже понял, просто я такого ещё не разу не использовал(delete obj.onEnterFrame), поэтому и не совсем понял что именно Marat_sa имел введу
![]()
__________________
Нано-флешер (в отставке) |
![]() |
![]() |
Часовой пояс GMT +4, время: 06:10. |
|
|
« Предыдущая тема | Следующая тема » |
|
|