PDA

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


Dima K
10.01.2006, 21:23
Делаю игру, где одновременно могут перемещаться более ста объектов.
Координаты (_x_ и _y_) и имя мувиклипа (name) поступает извне.
При использовании такой функции процессор сильно загружается.
movement = function (name, _x_, _y_) {
if (name != obj) {
_root[name].onEnterFrame = function() {
str = _root[name];
sX = _y_-int(str._y);
sY = _x_-int(str._x);
degree = Math.atan2(sX, sY);
if (Math.sqrt(sX*sX+sY*sY)>speed) {
str._x += Math.cos(degree)*speed;
str._y += Math.sin(degree)*speed;
}
else {
str._x = _x_;
str._y = _y_;
//
delete _x_;
delete _y_;
delete spotX;
delete spotY;
delete degree;
delete _root[name].onEnterFrame;
}
};
}
};
Функция используется в цикле при получении данных.
Существует ли альтернатива этому коду?
Заранее благодарен.

opoek
10.01.2006, 21:30
А почему просто не создать массив объектов и не обрабатывать их одним методом?

Dima K
10.01.2006, 21:33
Потому что нужно, чтобы все объекты перемещались одновременно.

silin
10.01.2006, 21:50
имхо, как opoek предлагет поодновременнее будет, чем сейчас: пока всех не пересчитаешь кадр ведь не сменится, зато не надо создавать onEnterFrame чтоб на первом же такте ее снести..

Antares
11.01.2006, 01:30
Тэгом code пользуемся, пользуемся, не стесняемся :)