![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|
|
|||||
|
Регистрация: Aug 2005
Сообщений: 785
|
Драсте.
помогите решить проблему, значит есть скрипт, который должен вырешивать разницу в расстоянии одного обьекта к двум другим. вот собственно скрипт: i=0
X=0
Y=0
function fun(obj,e){
for(i;i<obj.length;i++){
X+=(obj[i]._x-e._x)
Y+=(obj[i]._y-e._y)}
e._x+=X/2
e._y+=Y/2
trace(Y)
}
_root.onEnterFrame=function(){
fun([p1,p2],dd)
}
Так вот проблема в том, что расстояние вырешивается только один раз с самого начала и не вычесляется после передвежения обьекта. Иными словами часть скрипта Выполняется только один раз,помогите как её зацыклить.
__________________
Нано-флешер (в отставке) Последний раз редактировалось iNils; 04.06.2006 в 17:47. |
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
|
function fun (obj, e) {
var sx = (obj[0]._x - obj[1]._x) / 2 + obj[1]._x;
var sy = (obj[0]._y - obj[1]._y) / 2 + obj[1]._y;
var dx = (sx - e._x) / 10;
var dy = (sy - e._y) / 10;
e._x += dx;
e._y += dy;
if (Math.abs (dx) < 0.1 and Math.abs (dy) < 0.1) {
return false;
} else {
return true;
}
}
_root.onEnterFrame = function () {
var flag = fun ([p1, p2], dd);
if (!flag) {
delete this.onEnterFrame;
}
};
|
|
|||||
|
Регистрация: Aug 2005
Сообщений: 785
|
Гениально, спасибо
![]() P.S. А зачем писать "var"? Без него ведь тоже все работает...
__________________
Нано-флешер (в отставке) Последний раз редактировалось Therion; 04.06.2006 в 18:29. |
|
|||||
|
4AM Games
|
написав var мы определили что flag это локальная переменная метода onEnterFrame, таким образом она сама уничтожается когда больше не нужна.
Так же без var переменная сохраниться в _root. зачем лишнее потребление памяти?
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^ |
|
|||||
|
Регистрация: Aug 2005
Сообщений: 785
|
хм, а как сделать перемещение обьекта в центр между тремя или более обьектами?
__________________
Нано-флешер (в отставке) |
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
|
function fun (obj, e) {
var x = 0;
var y = 0;
for (var i = 0; i < obj.length; i++) {
x += obj[i]._x;
y += obj[i]._y;
}
x /= (obj.length);
y /= (obj.length);
var dx = (x - e._x) / 10;
var dy = (y - e._y) / 10;
e._x += dx;
e._y += dy;
if (Math.abs (dx) < 0.1 and Math.abs (dy) < 0.1) {
return false;
} else {
return true;
}
}
_root.onEnterFrame = function () {
var flag = fun ([p1, p2, p3, p4, p5], dd);
if (!flag) {
delete this.onEnterFrame;
}
};
|
|
|||||
|
Регистрация: Aug 2005
Сообщений: 785
|
Во,супер...
Низкий тебе поклон ![]()
__________________
Нано-флешер (в отставке) |
![]() |
![]() |
Часовой пояс GMT +4, время: 00:50. |
|
|
« Предыдущая тема | Следующая тема » |
|
|