Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Перемещение объектов (http://www.flasher.ru/forum/showthread.php?t=74059)

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 пользуемся, пользуемся, не стесняемся :)


Часовой пояс GMT +4, время: 11:12.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.